Wednesday, 20 January 2016

[ML] Phân loại vấn đề trong machine learning

Bộ môn machine learning phân các vấn đề nó giải quyết thành 2 nhóm: supervised learning và  unsupervised learning.

Supervised /ˈsuːpəvʌɪz/
Eng:  Observe and direct the execution of (a task or activity)
Vie: giám sát  

Vậy hiểu ở đây phân thành 2 loại học có giám sát và học không có giám sát.

1. supervised learning
Các vấn đề yêu cầu chương trình tạo ra các kết quả mới dựa vào các mẫu có sẵn.
Đề bài sẽ cho các dữ liệu và kết quả đúng, cần dự đoán kết quả cho các dữ liệu mới.
Các vấn đề thuộc supervised learning có thể kể đến vài ví dụ:

- Cho kích thước của các ngôi nhà và giá của chúng, dự báo giá của một ngôi nhà khi biết kích thước của nó.
- Cho các thuộc tính (kích thước...) của khối u và kết quả thực tế về bệnh nhân mắc ung thư. Dự đoán xem một bệnh nhân có các thuộc tính cụ thể có khả năng bị ung thư hay không.
- Cho tập các email và kết quả nó có phải spam không. Phỏng đoán xem email được kiểm tra có phải là spam hay không.

Trong supervised learning, ta đã có sẵn tập dữ liệu và kết quả tương ứng, ta học nó và phỏng đoán kết quả cho các dữ liệu mới. Supervised learning chia làm 2 nhóm nhỏ:
- Classification (phân loại)
- Regression (hồi quy)

Classification bao gồm các vấn đề sẽ đòi hỏi kết quả nằm trong một tập các giá trị rời rạc (discrete). Thường để trả lời câu hỏi có hay không (email có phải spam không,  ngày mai có mưa không...) hay bệnh nhân mắc phải ung thư type 1, type 2 hay không mắc...
Trong regression, giá trị cần thu được sẽ là liên tục (continuous - các giá trị lớn bé liền nhau). Ví dụ: lượng mưa ngày mai là bao nhiêu milimet, giá cổ phiếu là bao nhiêu ...
Một vấn đề thuộc regression có thể dễ dàng chuyển về classification, ví dụ thay vì hỏi giá cổ phiếu là bao nhiêu, ta đổi câu hỏi thành "giá cổ phiếu tăng hay giảm".

Câu hỏi: bài toán hôm nay đề về bao nhiêu thuộc classification hay regression?

2. unsupervised learning
Các vấn đề yêu cầu tìm ra một kiến trúc (structure) trong tập dữ liệu có sẵn. Thường là các bài toán phân cụm, nhóm các giá trị lại thành cụm khi chúng có mối liên hệ nào đó. Vì các vấn đề này sẽ chỉ dựa vào một tính chất nào đó rồi nhóm các kết quả lại, ta không biết (hay chỉ biết một chút) về kết quả đưa ra là đúng hay sai. 
Các ví dụ cho vấn đề thuộc nhóm unsupervised learning có thể kể đến:
- nhóm các khách hàng thuộc một market segment
- nhóm các người dùng mạng xã hội thành các nhóm mà các thành viên của nhóm là bạn bè / thân que

Bài này đã phân loại các vấn đề trong ML thành 2 nhóm SL và USL.

Bài viết tiếp theo sẽ giới thiệu các khái niệm toán học liên quan đến các thuật toán giải bài toán supervised learning.

PS: lớp học ML sẽ mở vào ngày 25/1 tới, kéo dài đến 18/4/2016 (gần 3 tháng). Nếu bạn muốn học một các nghiêm túc, hãy đăng ký tại coursera. Hoặc theo dõi theo kiểu cưỡi ngựa xem hoa tại FAMILUG.

hvn AT familug.org