Cách xây dựng một Mô hình Học máy (Machine Learning Model)?
Trong bài viết trước mình đã chia sẻ một số nội dung về Machine Learning (ML) và Ứng dụng của nó. Trong bài này, mình sẽ đi cụ thể hơn bằng cách nói về "Làm thế nào để xây dựng được một Mô hình ML".
Ở đây có anh em nào đã từng xây dựng các Mô hình ML rồi thì join cùng mình để chia sẻ kinh nghiệm, giao lưu, học hỏi nhé :D
Việc tạo ra một Mô hình ML đầy đủ nghĩa là xây dựng một mô hình mà từ dữ liệu đầu vào, tạo ra được thông tin chính xác ở đầu ra. Bạn có thể tưởng tượng rằng mô hình đó như một chiếc hộp đen vậy, đầu vào được nạp và đầu ra sẽ cho kết quả - nhưng quá trình giữa hai đầu này lại rất phức tạp.
Một điều nữa là chúng ta không thể đơn giản cứ thế thừa nhận mô hình là chính xác, mà điều đầu tiên phải làm là chúng ta phải huấn luyện mô hình. Huấn luyện là nội dung cốt lõi của ML, quá trình này giúp cho mô hình học được và cải thiện chính nó từ dữ liệu đầu vào.
Huấn luyện một Mô hình ML
Không phải tất cả các Mô hình ML đều sử dụng những kỹ thuật giống nhau, vì vậy việc huấn luyện các mô hình này sẽ phụ thuộc vào mục đích của bạn. Sau đây chúng ta sẽ xem xét về việc huấn luyện Mô hình Học máy có liên quan đến mạng Neuron (Neural Network), hướng tiếp cận hiện đại nhất hiện nay. “Mạng Neuron” là một tổ hợp các thuật toán Học máy mà lấy ý tưởng từ việc mô phỏng các tế bào thần kinh trong não người.
Mạng Neuron hiện nay đang liên tục được phát triển theo các nhánh, hướng khác nhau để làm vô số các nhiệm vụ như xử lý ngôn ngữ tự nhiên, thị giác máy tính, nhận dạng tiếng nói,…Hầu hết các mô hình ML hiện đại nhất đều dựa trên cơ sở mạng Neuron.
Các yếu tố của một Mô hình mạng Neuron
Mình và đội ngũ Noron team đã tóm tắt 04 yếu tố trong việc huấn luyện một mô hình mạng Neuron vào trong Infographic dưới đây để mọi người có thể dễ dàng nắm bắt thông tin hơn:
Dưới đây mình sẽ lấy ví dụ về việc xây dựng một mô hình Dự báo thời tiết cho những ngày tới dựa trên thông tin khí tượng học từ những ngày trước để các bạn có cái nhìn cụ thể hơn.
- Về Dữ liệu (Data): Dữ liệu cần nạp vào mô hình các thông tin về Nhiệt độ, Độ ẩm, Lượng mưa,… của những ngày về trước (đã được thu thập và tiền xử lý)
- Về Mô hình (Model): Với một mô hình tuyến tính, chúng ta cần tìm một vài hệ số, nhân mỗi biến số với hệ số của nó, và cộng tổng tất cả để ra được kết quả cuối cùng, dự đoán thời tiết.
- Về Hàm mục tiêu (Objective Function): Sau khi đưa dữ liệu vào mô hình, chúng ta mong muốn có được một kết quả đầu ra sát với thực tế nhất, và đó cũng là nguyên nhân hàm mục tiêu ra đời. Trong ví dụ này, hàm mục tiêu có thể là độ lệch về lượng mưa hay độ lệch về thông tin thời tiết mà ta muốn dự đoán.
- Về Thuật toán tối ưu (Optimization Algorithm): Thời tiết bằng với (w1*nhiệt độ + w2*độ ẩm), hàm mục tiêu có thể được tính qua dải các giá trị sau:
W1 = 0.5; W2 = 1.2;
W1= 1.05; W2=-1.2
W1=1.04; W2=-1.19
W1, W2 là các tham số thay đổi. Với mỗi tập các tham số, chúng ta có thể tính được hàm mục tiêu; sau đó chọn mô hình với khả năng dự đoán cao nhất với một hàm mục tiêu tối ưu.
Machine Learning chính là "Lặp lại"
Thực chất, gọi các gian đoạn huấn luyện mô hình là các “thành phần” (ingredients) thay vì là các “bước” (steps) bởi quá trình ML là lặp đi lặp lại. Bạn không nên dừng lại luôn sau nỗ nực đầu tiên để tối ưu hóa hàm mục tiêu. Thay vào đó, nên thử thay đổi các tham số của mô hình và lặp lại quá trình này cho đến khi không thể tối ưu hàm mục tiêu thêm nữa.
Kết luận
Trên đây là những cơ sở để xây dựng một Mô hình mạng Neuron. Mỗi thành phần cần đòi hỏi phải tìm hiểu và khám phá một cách riêng biệt để có thể xây dựng được một Mô hình ML có độ chính xác cao.
Source tham khảo: https://www.datascience.com/blog/machine-learning-overview
ai
,machine learning
,trí tuệ nhân tạo
Extremly to understand. Thanks.
Nguyễn Khang
Extremly to understand. Thanks.