[Course][ML] Machine learning là gì?

- 3 mins

Introduction

Machine Learning definition

Machine learning được định nghĩa như sau:

“Một chương trình máy tính được gọi là học từ kinh nghiệm E để hoàn thành nhiệm vụ T và hiệu quả đo được là P, nếu hiệu quả đó khi thực hiện T, được đánh giá bởi P, và cải thiện kinh nghiệm E.”

Nguyên gốc bản tiếng anh:

“A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.”

Thoạt đầu đọc thì có vẻ khó hiểu, nhưng nếu đọc kỹ thì sẽ thấy ý tưởng thực sự ở đây rất đơn giản. Ví dụ một đứa trẻ biết ngồi và đang trong giai đoạn chuẩn bị biết đi, đứa trẻ đó sẽ tập đứng lên, ngã, đứng lên, ngã… rất nhiều lần, rồi nó dần dần biết đứng rồi, chập chững đi, và sau đó là đi và chạy. Thì ở đây, nhiệm vụ của đứa trẻ mong muốn là đi được(T), và nó học được điều đó sau những lần vấp ngã(E), và hiệu quả đo được là tốc độ bước đi của đứa trẻ, hay số lần bị ngã P. Và sau mỗi lần vấp ngã đó thì đứa trẻ lại đứng lên và đi với tốc độ ngày càng nhanh hơn, hay số lần vấp ngã sẽ giảm xuống (cải thiện kinh nghiệm E). Chương trình tính cũng giống như vậy, nó sẽ thực hiện 1 nhiệm vu T để thu được kinh nghiệm E, với hiệu quả đo được là P, và dựa vào kinh nghiệm E thực hiện nhiệm vụ T để cải tiến E với hiệu quả đo được là P.

Trong ML thì nhiệm vụ T thường là xử lý dữ liệu thế nào cho tốt(dữ liệu chứa nhiều features). Và dữ liệu này thường được biểu diễn dưới dạng vector đặc trưng. Tại sao lại là vector?

Trong ML thì dữ liệu thường được chia ra làm 2 tập riêng biệt: training settest set.

Quá trình train, là quá trình trải nghiệm(E) trên các tập dataset, các tập dữ liệu khác nhau sẽ mang lại trải nghiệm khác nhau, do đó chất lượng của tập dữ liệu train ảnh hưởng mật thiết đến chất lượng của mô hình thu được.

Trong ML thì có hai thuật toán học phổ biến là: Supervised learning và Unsupervised learning. Ngoài ra thì có nhiều thuật toán khác như: Reinforcement learning (gần đây khá nổi vì giải quyết được các giới hạn gặp phải trước đó), recommender systems…

Supervised learning

Là thuật toán dự đoán output của một hoặc nhiều dữ liệu mới dựa trên các cặp (input, output) đã biết. Hay nói một cách đơn giản là tìm một hàm số để mapping tập input với tập output.

Thuật toán này có hai loại thường gặp là:

Unsupervised learning

Với thuật toán này chúng ta chỉ biết input là các vector đặc trưng, chứ không biết về output. Nghĩa là với một input I mô hình sẽ làm việc và đưa ra một output O, mà chúng ta không biết kết quả chính xác là gì. Ví dụ, đưa cho chương trình một tập dữ liệu các bài báo, chương trình sẽ phân loại chúng ra theo các feature (có thể là chủ đề, là category…)

ToanNV

ToanNV

Developer, living in Tokyo, get married.

ToanNV © 2019
rss facebook twitter github youtube mail spotify instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora