Machine learning cho người hoàn toàn mới bắt đầu – Hồi quy tuyến tính

7. Hồi quy tuyến tính – Linear regression

Như là “Hello World” trong các thuật toán học có giám sát (supervised learning), phân tích hồi quy (regression analysis) là một kỹ thuật đơn giản để dự đoán một biến chưa biết bằng cách sử dụng những kết quả mà bạn đã biết. Kỹ thuật hồi quy đầu tiên mà chúng ta sẽ xem xét là hồi quy tuyến tính, cái mà sẽ tạo ra một đường thẳng để mô tả các mối quan hệ tuyến tính. Chúng ta sẽ bắt đầu bằng việc xem xét các thành phần cơ bản của hồi quy tuyến tính cơ bản với một biến độc lập trước khi bàn về hồi quy đa biến (multiple liner regression) với nhiều biến độc lập. Bằng cách sử dụng loạt phim truyền hình sitcom Seinfeld như là dữ liệu của chúng ta, hãy bắt đầu bằng cách vẽ đồ thị cho hai biến sau, với số season như là tọa độ x và số người xem trên mỗi season (tính bằng triệu) như là tọa độ y.

Season (X)Số người xem (y)
119.22
218.07
317.67
420.52
529.59
631.27
733.19
832.24
938.11
Bảng 11: tập dữ liệu Seinfeld
Hình 14: tập dữ liệu Seinfeld được vẽ trên một biểu đồ phân tán.
Tiếp tục đọc

Machine learning cho người hoàn toàn mới bắt đầu – Thiết lập dữ liệu của bạn

6. Thiết lập dữ liệu của bạn

Sau khi dọn dẹp tập dữ liệu của mình, công việc kế tiếp là phân chia dữ liệu thành hai phân đoạn để huấn luyện (training) và thử nghiệm (testing), còn được gọi là phân chia kiểm định (split validation). Tỉ lệ của hai phần phân chia thường là 70/30 hoặc 80/20. Điều này có nghĩa là giả sử các biến (variable) của bạn được biểu thị theo chiều ngang và các thực thể (instance) theo chiều dọc (như được hiển thị trong Hình 12), rằng dữ liệu huấn luyện của bạn sẽ chiến 70% tới 80% số dòng trong tập dữ liệu, và 20% tới 30% số dòng còn lại là giành cho dữ liệu thử nghiệm của mình.

Hình 12: Phân vùng 70/30 dữ liệu huấn luyện và dữ liệu thử nghiệm
Tiếp tục đọc

Machine learning cho người hoàn toàn mới bắt đầu – Làm sạch dữ liệu

5. Làm sạch sữ liệu – Data scrubbing

Như hầu hết các loại trái cây, các tập dữ liệu đầu tiên cần làm sạch và được con người thao tác trước khi chúng sẵn sàng để sử dụng. Quá trình dọn dẹp (clean up) áp dụng vô machine learning và nhiều lãnh vực khác của khoa học dữ liệu và được biết tới trong ngành là làm sạch dữ liệu (data scrubbing). Đây là một quy trình kỹ thuật về tinh chỉnh tập dữ liệu của bạn và làm cho nó dễ thực thi hơn. Nó có thể liên tới việc sửa đổi và xóa những dữ liệu không đầy đủ, sai định dạng, không liên quan hoặc trùng lặp. Nó cũng có thể đòi hỏi việc chuyển đổi dữ liệu dự trên văn bản (text-based) thành những giá trị số và thiết kế lại các đặc tính.

Dành cho những học viên về dữ liệu, làm sạch dữ liệu thường đòi hỏi nhiều thời gian và công sức nhứt.

Lựa chọn đặc tính

Để tạo ra kết quả tốt nhứt từ dữ liệu của bạn, điều cần thiết là xác định những biến nào liên quan nhứt tới giả thuyết hoặc mục tiêu của bạn. Trong thực tế, điều này có nghĩa là phải chọn lọc các biến mà bạn đưa nó vô mô hình của mình. Thêm nữa, việc giữ những đặc tính mà nó không liên quan chặt chẽ với giá trị đầu ra có thể thao túng và làm giảm độ chánh xác của mô hình. Hãy xem xét đoạn trích dữ liệu được download từ kaggle.com về việc ghi lại những ngôn ngữ sắp “chết”.

Tên tiếng AnhTên tiếng Tây Ban NhaQuốc giaMã quốc giaSố người nói
South ItalianNapolitano calabresItalyITA7500000
SicilianSicilianoItalyITA5000000
Low SaxonBajo SajónGermany, Denmark, Netherlands, Poland, Russian FederationDEU, DNK, NLD,
POL, RUS
4800000
BelarusianBielorrusoBelarus, Latvia, Lithuania, Poland, Russian Federation, UkraineBRB, LVA, LTU, POL, RUS, UKR4000000
LombardLombardoItaly, SwitzerlandITA, CHE3500000
RomaniRomaníAlbania, Germany, Austria, Belarus, Bosnia and Herzegovina, Bulgaria, Croatia, Estonia, Finland, France, Greece, Hungary, Italy, Latvia, Lithuania, The former Yugoslav Republic of Macedonia, Netherlands, Poland, Romania United Kingdom of Great Britain and Northern Ireland, Russian Federation, Slovakia, Slovenia, Switzerland, Czech Republic, Turkey, Ukraine, Serbia,
Montenegro
ALB, DEU, AUT, BRB, BIH, BGR,
HRV, EST, FIN, FRA, GRC, HUN, ITA, LVA, LTU, MKD, NLD, POL,
ROU, GBR, RUS, SVK, SVN, CHE,
CZE, TUR, UKR, SRB, MNE
3500000
YiddishYiddishIsraelISR3000000
GondiGondiIndiaIND2713790
Bảng 4: Các ngôn ngữ có nguy cơ tuyệt chủng, cơ sở dữ liệu: https://www.kaggle.com/the-guardian/extinct-lacular
Tiếp tục đọc

Machine learning cho người hoàn toàn mới bắt đầu – Hộp đồ nghề

4. Hộp đồ nghề cho machine learning

Một cách thuận tiện để học một kỹ năng mới là hình dung một hộp đồ nghề với các công cụ và tài liệu thiết yếu của lãnh vực chủ đề đó. Ví dụ, khi được giao nhiệm vụ đóng gói một hộp đồ nghề chuyện dụng để xây dựng một website, đầu tiên bạn có thể cần thêm một số ngôn ngữ lập trình. Nó có thể bao gồm các ngôn ngữ frontend như HCML, CSS và JavaScript, một hoặc hai ngôn ngữ lập trình backend dựa trên sở thích cá nhân, và tất nhiên, một text editor. Bạn có thể thêm vô một công cụ xây dựng website như WordPress và sau đó đóng gói một ngăn khác với web hosting, DNS và có thể một vài tên miền mà bạn đã mua.

Đây không phải là một danh sách đầy đủ, nhưng từ danh sách tổng quát này, bạn bắt đầu có được sự hiểu biết rõ hơn về những công cụ mà bạn cần thành thạo trên con đường trở thành một nhà phát triển web thành công.

Bây giờ chúng ta hãy mở hộp đồ nghề cơ bản cho machine learning.

Ngăn thứ nhứt: Dữ liệu

Được lưu ở ngăn đầu tiên của hộp đồ nghề là dữ liệu của bạn. Dữ liệu tạo thành các đầu vào cần thiết để huấn luyện mô hình của bạn và tạo ra dự đoán. Dữ liệu đến từ nhiều dạng, bao gồm dữ liệu có cấu trúc (structured) và dữ liệu phi cấu trúc (unstructured). Như một người mới bắt đầu, tốt nhứt nên bắt đầu với dữ liệu có cấu trúc. Điều này có nghĩa là dữ liệu được xác định, tổ chức (sắp xếp) và dán nhãn trong một bảng, như được hiển thị ở Bảng 3 dưới đây. Hình ảnh, video, tin nhắn email và bản ghi âm là những ví dụ của dữ liệu phi cấu trúc vì chúng không phù hợp với cấu trúc có tổ chức với các dòng và các cột.

Tiếp tục đọc

Machine Learning cho người hoàn toàn mới bắt đầu – Các loại Machine Learning

3. Các loại Machine Learning

Machine learning kết hợp hàng trăm thuật toán dựa trên thống kê và việc chọn các thuật toán phù hợp cho công việc là một thử thách liên tục khi làm việc trong lãnh vực này. Trước khi kiểm tra các thuật toán cụ thể, điều quan trọng là phải củng cố sự hiểu biết của một người về ba loại machine learning chính và cách xử lý các biến đầu vào (input) và đầu ra (output) của chúng.

Học có giám sát (supervised learning)

Học có giám sát bắt chước khả năng của chúng ta trong việc trích xuất các mẫu (patterns) từ các ví dụ đã được biết và sử dụng thông tin chi tiết được trích xuất đó để tạo ra một kết quả có thể được lặp lại (kết quả dự đoán được và tương tự nhau). Đó là cách mà công ty xe hơi Toyota thiết kế mẫu xe đầu tiên của họ. Thay vì suy đoán hoặc xây dựng một quy trình độc đáo để sản xuất xe hơi, Toyota đã tạo ra mẫu xe hơi đầu tiên của họ sau khi tháo rời một chếc xe hơi Chevrolet trong góc một công ty dệt gia đình. Bằng việc quan sát một chiếc xe đã hoàn tất (output) và sau đó tách rời các bộ phận riêng lẻ (input), các kỹ sư của Toyota đã mở khóa quy trình thiết kế được giữ bí mật bởi Chevrolet Mỹ.

Quá trình tìm hiểu sự kết hợp “đầu vào-đầu ra” được xác định này được nhân rộng trong machine learning bằng cách sử dụng học có giám sát (supervised learning). Mô hình (model) sẽ phân tích và giải mã mối quan hệ giữa dữ liệu input và dữ liệu output để học các mẫu cơ bản. Dữ liệu đầu vào được giới thiệu như một biến độc lập (independent variable) (“X” viết hoa), trong khi dữ liệu đầu ra được gọi là biến phụ thuộc (dependent variable) (“y” viết thường). Một ví dụ của một biến phụ thuộc (y) có thể là các tọa độ của một hình chữ nhật xung quanh một người trong hình kỹ thuật số (nhận diện gương mặt), giá của một ngôi nhà hoặc loại của một mặt hàng (ví dụ: xe thể thao, xe gia đình, xe sedan). Những biến độc lập – được cho là ảnh hưởng tới các biến phụ thuộc-có thể lần lượt là màu sắc của các điểm ảnh, kích thước và vị trí của một căn nhà, và các thông số kỹ thuật của xe hơi. Sau khi phân tích đủ số lượng mẫu (patterns), máy sẽ tạo ra một mô hình (model): một phương trình thuật toán để tạo ra kết quả dựa trên các patterns từ các ví dụ đầu vào-đầu ra trước đó.

Tiếp tục đọc

Machine Learning cho người hoàn toàn mới bắt đầu – Machine Learning là gì?

2. Machine Learning là gì?

Vào năm 1959, IBM đã xuất bản một bài báo trên IBM Journal of Research and Development với một tiêu đề gây tò mò và khó hiểu. Được viết bởi Arthur Samuel, bài báo đã nghiên cứu về ứng dụng của machine learning trong game cờ đam (game of checkers) “để xác minh sự thật rằng máy tính có thể được lập trình để nó có thể học cách chơi cờ đam hay hơn mà người viết chương trình có thể chơi được”.

Hình 1: Những đề cập về “machine learning” trong những cuốn sách từng xuất bản. Nguồn: Google Ngram Viewer, 2017

Mặc dù đây không phải là là ấn phẩm đầu tiên sử dụng thuật ngữ “machine learning”, nhưng Arthur Samuel được nhiều người coi như là người đầu tiên nghĩ ra và định nghĩa machine learning theo hình thức mà chúng ta biết hiện nay. Bài viết mang tính bước ngoặc của Samuel’s, “Một số nghiên cứu về Machine Learning khi sử dụng Trò Chơi Cờ Đam” (Some Studies in Machine Learning Using the Game of Checkers), đã giới thiệu machine learning như là một lãnh vực con của khoa học máy tính mà nó cho máy tính khả năng học mà không cần được lập trình một cách tường minh.

Tiếp tục đọc

Machine Learning cho người hoàn toàn mới bắt đầu – Lời nói đầu

1. Lời Nói đầu

Máy móc đã qua một chặn đường dài kể từ khi bắt đầu cuộc cách mạng công nghiệp.

Chúng liên tục lấp đầy các sàn nhà máy và công xưởng, khả năng của chúng vượt ra khỏi những hoạt động thủ công đến những công việc có nhận thức mà cho đến gần đây chỉ con người mới có khả năng thực hiện.

Đánh giá các cuộc thi ca hát, lái xe, phát hiện các giao dịch lừa đảo là 3 ví dụ về các nhiệm vụ phức tạp mà máy móc hiện nay có khả năng mô phỏng.

Nhưng những “chiến công” đáng chú ý này gây ra nỗi sợ hãi cho một số người quan sát.

Một phần nỗi sợ hãi của họ đè lên nổi bất an về sự sinh tồn và khơi dậy những câu hỏi sâu xa về “chuyện gì xảy ra nếu?”, Chuyện gì xảy ra nếu những cổ máy thông minh tấn công chúng ta trong một cuộc chiến sanh tồn? Chuyện gì xảy ra nếu những cổ máy tạo ra những thế hệ con cháu với những khả năng mà loài người có ý định truyền lại cho những cổ máy đó? Chuyện gì xảy ra nếu truyền thuyết về “điểm kỳ dị” là có thiệt?

Tiếp tục đọc