Machine Learning là gì?

Mấy hôm nay có vài bạn viết email hỏi tôi machine learning (ML) là gì và có cần học thêm không? Tôi nghĩ câu trả lời cho câu thứ hai là "Yes" – lúc nào cũng cần phải học thêm. Hôm kia, nhân đọc một bản tin cho biết con rể ông Trump (Jared Kushner) đã sử dụng ML để giúp cho nhạc phụ đắc cử, tôi có cảm hứng viết thêm một chút về ML ...



Hai chữ "Machine Learning" được đề cập rất nhiều trong các diễn đàn khoa học. Mấy tháng gần đây trong các tập san y khoa, kể cả chuyên ngành loãng xương, có đi nhiều bài về nguyên lí và ứng dụng của ML trong nghiên cứu lâm sàng. Tôi mới duyệt một bài cho CTI. Trong di truyền học, nhiều bài báo về ứng dụng ML được công bố với nhiều kết quả rất triển vọng, và chính nhóm chúng tôi cũng đã có ứng dụng thành công. Như là một trào lưu mới, ML đã gây được tiếng vang trong khoa học, và do đó chúng ta cần phải tìm hiểu và phải học để có một cách suy nghĩ mới, một cái nhìn mới cho vấn đề mà chúng ta quan tâm.

Nhưng thú thật, đọc qua những bài đó mà nếu không có kiến thức về thống kê học thì rất khó hiểu. Khó hiểu vì những thuật ngữ mới, và nhất là cách viết của các tác giả giả định rằng người đọc đã có kiến thức cơ bản. Do đó, người mới vào nghề hay người đang tìm hiểu về ML sẽ cảm thấy lẫn lộn giữa những thuật ngữ như statistical learning và machine learning, neural network, supervised và unsupervised learning, random forest, kNN cross-validation, v.v. vốn là "ngôn ngữ" của giới khoa học máy tính. Do đó, trong cái note này tôi muốn giải thích theo cách hiểu của tôi về ML và hi vọng các bạn sẽ hiểu rõ hơn về ML.

1. Machine Learning là gì?

Có người ta dịch Machine Learning là "Học Máy", nhưng tôi thì nghĩ dịch đúng hơn là "Mô hình hoá bằng máy". Lí do là ở ý nghĩa của chữ "learning", không hẳn có nghĩa đen là 'học', mà là mô hình hoá. Tại sao learning? Thực chất của ML là tìm mô hình thích hợp từ dữ liệu mẫu (sample data), và dùng cái mô hình đó để tiên lượng cho quần thể (population) hay các mẫu dữ liệu khác.

Quá trình "learning" gồm 2 bước: bước 1 là xây dựng hệ thống phụ thuộc giữa các biến số (dependencies); và bước 2 là dùng hệ phụ thuộc để tiên lượng cho quần thể. Ở đây, cái gọi là "hệ thống phụ thuộc" chính là mô hình hoá dữ liệu, tức là "data modelization". Nói cách khác nữa, cái gọi là "learning" trong ML chính là "fitting" trong thống kê học. Hiểu đúng như thế thì chúng ta dễ dàng thấy Machine Learning thực chất là "mô hình hoá bằng máy tính."

Có hai phương pháp mô hình hoá: có giám sát (supervised learning) và không có giám sát (unsupervised learning). Mô hình hoá có giám sát bao gồm các mô hình như hồi qui tuyến tính, linear classification, logistic regression, Cox's regression. Mô hình hoá không giám sát bao gồm phân tích cụm (cluster analysis) và phân tích đa biến như PCA và factor analysis.

Để đánh giá "accuracy", cái "bí quyết" của ML là huấn luyện (training) và kiểm định (testing). Nói cách khác, ML chia một dataset ra thành hai nhóm: nhóm huấn luyện để mô hình hoá dữ liệu, và sau khi mô hình xong thì áp dụng cho nhóm thử nghiệm. Qui trình này lặp đi lặp lại rất nhiều lần theo nguyên lí bootstrap mà ai học thống kê học cũng biết qua. Thật ra, ai học về mô hình trong thống kê học đều biết đến training và testing, nên cách làm này không có gì mới.

Thật vậy, nhiều khái niệm của ML không có gì khác với thống kê học; nếu khác thì chỉ là cách gọi. Chẳng hạn như ML gọi là target, thì thống kê học gọi là outcome hay response; bias của ML chính là intercepttrong thống kê; weight trong ML là beta coefficienttrong thống kê; loss function trong ML là residual trong thống kê; feature selection trong ML thì chính là variableselection trong thống kê; vân vân. Hiểu như thế thì chúng ta thấy rằng ML cũng có thể xem là một cách gọi khác của thống kê học hiện đại.

2. Machine learning và statistical learning (SL)

Có gì khác biệt giữa ML và SL? Thú thật, cá nhân tôi không thấy khác biệt gì lớn giữa hai thuật ngữ này. Trước đây, tôi đọc cuốn Statistical Learning của Trevor Hastie, Rob Tibshirani và Jerome Friedman, rồi sau này đọc qua vài cuốn sách về ML thì thấy rất giống nhau. Có lẽ "thần dân" thống kê học thì gọi là Statistical Learning, còn dân khoa học máy tính thì gọi là Machine Learning.

Nhưng có một chút khác biệt giữa ML và khoa học thống kê. Nhiều người nghĩ là không, nhưng tôi nghĩ là có. Các mô hình thống kê chính là cơ chế của ML. Thống kê học đặt nặng vấn đề giả định (assumptions) trong việc xây dựng mô hình, nhưng ML thì đặt nặng độ chính xác của mô hình. Chẳng hạn như để xây dựng mô hình tiên lượng hồi qui tuyến tính, thống kê học rất quan tâm đến các giả định như phân bố chuẩn, đồng dạng phương sai, và tính độc lập giữa các giá trị. Nhưng ML quan tâm nhiều đến việc huấn luyện mô hình của sao cho mô hình đó có thể tiên lượng chính xác khi áp dụng cho một quần thể khác. Nói như thế không có nghĩa là thống kê học không quan tâm đến độ chính xác của mô hình, mà chỉ muốn nói về ưu tiên của hai cách tiếp cận về mô hình tiên lượng.

Ngoài ra, thống kê học quan tâm đến mô hình để đánh giá tầm quan trọng của yếu tố tiên lượng (qua các kiểm định thống kê), còn ML thì không quan tâm đến ý nghĩa thống kê của các yếu tố trong mô hình. Đối với ML, một yếu tố có thể không có ý nghĩa thống kê nhưng có thể là một yếu tố tiên lượng tốt. Như vậy, thống kê học và ML khác biệt chủ yếu ở yếu tố "văn hoá": một bên là quan tâm đến association (liên quan) và một bên là prediction (tiên lượng).

3. Phân biệt giữa association và prediction

Trong nhiều nghiên cứu khoa học, mục tiêu là giải thích mối liên quan giữa các yếu tố. "Yếu tố" ở đây có thể là gen, là bệnh lí, hay nói theo ngôn ngữ thống kê là biến độc lập (X) và biến phục thuộc ( Y ), hay nói theo ngôn ngữ dịch tễ học là yếu tố nguy cơ và outcome.

Để giải thích mối liên quan giữa bệnh lí ( Y ) và yếu tố nguy cơ (X), chúng ta cần phải phát biểu một giả thuyết khoa học. Giả thuyết là một phát biểu mang tiếng tiên lượng về mối liên quan giữa Y và X. Từ giả thuyết khoa học, chúng ta triển khai thành giả thuyết thống kê. Từ giả thuyết thống kê, chúng ta triển khai thành mô hình thống kê. Đã nói là "mô hình" thì phải có hàm số, và ở đây là tìm hàm số của X để giải thích mối liên quan giữa Y và X. Hàm số có thể là tuyến tính (ví dụ như mô hình hồi qui tuyến tính) hay phi tuyến tính. Sau đó, chúng ta dùng dữ liệu thu thập từ thí nghiệm để ước tính tham số của mô hình thống kê. Qua ước tính tham số và kiểm định thống kê (test of significance), chúng ta có thể biết X có liên quan với Y hay không, và mức độ liên quan cao thấp ra sao. Như vậy, toàn bộ qui trình nghiên cứu, từ phát biểu giả thuyết đến kiểm định thống kê, là một quá trình đi tìm mối liên quan, hay nói theo thuật ngữ dịch tễ học lâm sàng là đi tìm association (hoặc có khi đề cập đến là relationship).

Với ML, chúng ta có thể đi một bước xa hơn association. Bước đó là prediction – tiên lượng (hay dự báo). Với ML, chúng ta có thể tiên lượng biến cố xảy ra trong tương lai. Phân tích association cho phép chúng ta phát biểu chung về mối liên quan giữa X và Y. Phân tích prediction cho phép chúng ta tiên lượng giá trị của Y cho mỗi cá thể (individual) nếu chúng ta biết giá trị của X của cá thể đó.

Nhưng tiên lượng tương lai có thể đúng, có thể sai. Do đó, ML có hẳn một loạt "thủ thuật" để đánh giá khả năng tiên lượng của một mô hình thống kê. Đối với biến liên tục, cách đánh giá mô hình của ML bao gồm những thủ thuật có tên khó hiểu là "loss function", nhưng trong thực tế đó là phân tích dao động dư (residual analysis) mà ai học thống kê cũng đều biết. Đối với biến outcome là biến phân nhóm (như có hay không có bệnh), ML tính các chỉ số gọi la "accuracy" trong cái gọi là "confusion matrix", mà người làm dịch tễ học ai cũng biết đó chính là độ nhậy (sensitivity) và độ đặc hiệu (specificity). Cũng như dịch tễ học, ML cũng dùng AUC để đánh giá mô hình tiên lượng. Nhưng ML chưa/không quan tâm đến calibration và reclassification trong việc đánh giá mô hình tiên lượng.

Nhưng ML có những đóng góp quan trọng trong việc kiểm định mô hình tiên lượng. Trước đây, thống kê học chỉ dừng ở những phương pháp như testing / validation hay bootstrap, nhưng ML cung cấp cho chúng ta hàng loạt phương pháp rất hấp dẫn và cực kì có ích cho việc phân tích dữ liệu lớn. Những phương pháp đó bao gồm random forest, neural network, k-nearest neighbours, partial least squares, boosted generalized additive model, support vector machine (thực chất là hồi qui tuyến tính mở rộng), classification, v.v. Trong thực tế, những phương pháp này cũng xuất phát hoặc xây dựng trên lí thuyết thống kê, nhưng có giao thoa với khoa học máy tính.

Những phương pháp trên rất có ích trong thời đại dữ liệu lớn. Ngày xưa, giới khoa học thường làm nghiên cứu ở qui mô tương đối mà theo đó số biến độc lập (independent variables) ít hơn số cỡ mẫu. Nhưng ngày nay, nhiều nghiên cứu mà số biến độc lập cao gấp ngàn lần số cỡ mẫu. Chẳng hạn như trong nghiên cứu gồm 100 bệnh nhân và 100 người không bệnh, mỗi cá nhân được phân tích khoảng 500,000 biến thể gen. Đây là vấn đề được gọi tắt là p >> n hay "curse of dimensionality". Trong các nghiên cứu này (ngày càng phổ biến), các phương pháp thống kê cổ điển không còn thích hợp nữa, và các phương pháp ML cung cấp cho chúng ta một số giải pháp rất hấp dẫn.

Do đó, chúng tôi muốn thử nghiệm một cách giảng mới về ML mà có lẽ chưa ai làm trước đây. Trong lớp học sắp tới ở TDT, chúng tôi sẽ giới thiệu một loạt mô hình tiên lượng như hồi qui tuyến tính, phi tuyến tính, logistic, Cox's. Mỗi mô hình, sẽ có hai phần: phần đầu là ước tính tham số và diễn giải ý nghĩa của các tham số (tức là phần association); phần hai là dùng cách tiếp cận của ML để tiên lượng (tức là prediction). Tôi nghĩ cách tiếp cận này sẽ giúp ích cho các bạn làm quen và hiểu cách ứng dụng các mô hình thống kê cho association và prediction, và qua đó giúp các bạn có cách suy nghĩ mới trong nghiên cứu khoa học.

Chương trình học tháng 1/2017:

1. Giới thiệu chương trình học 
2. Giới thiệu ngôn ngữ R 
3. Cú pháp, input và output 
4. Phân tích mô tả với R 
5. Xây dựng biểu đồ dùng R: cơ bản 
6. Xây dựng biểu đồ dùng R: ggplot2 
7. Mô hình hồi qui tuyến tính đơn biến 
8. Phân tích dao động dư (residual analysis) 
9. Mô hình hồi qui tuyến tính đa biến 
10. Mô hình hồi qui tuyến tính với biến phân loại và tương tác
11. Hồi qui đa thức 
12. Hồi qui tuyến tính: PLS, Ridge, GLASSO

Supervised learning: 
13. Giới thiệu các phương pháp machine learning: training vs testing
14. Random forest 
15. Support vector machine 
16. kNN 
17. Mô hình hồi qui logistic đơn biến 
18. Mô hình hồi qui logistic đa biến 
19. Các phương pháp chọn mô hình tối ưu (model selection) 
20. Đánh giá mô hình: discrimination
21. Đánh giá mô hình: calibration
22. Đánh giá mô hình: reclassification 
23. ML cho mô hình hồi qui logistic: random forest, prediction

Unsupervised learning 
24. Cluster analysis 1: khái niệm 
25. Cluster analysis 2: mô hình và kĩ thuật 
26. Dimensionality reduction
27. Mô hình thành tố (Principal component model) 
28. Mô hình Cox's 
29. Ước tính cỡ mẫu

Đăng kí và liên lạc
·                Học viên sẽ đăng kí từ ngày ra thông báo đến hết ngày 23/12/2016.
·                Lệ phí khóa học: 4 triệu đồng/học viên (bao gồm sách, tài liệu giảng dạy, và teabreak trong suốt 10 ngày học). Đối với học viên ghi danh lớp cơ bản (5 ngày đầu), chi phí là 2 triệu đồng/học viên. Nghiên cứu sinh sẽ được giảm 50% học phí.
·                Mọi thông tin vui lòng liên hệ: Phòng quản lý phát triển khoa học và công nghệ (ThS. Nguyễn Hoàng Nam), Phòng A303, số 19, Đường Nguyễn Hữu Thọ, P. Tân Phong, Q.7, TP. HCM.
·                Điện thoại: (08) 37755 037. Emailnguyenhoangnam@tdt.edu.vn


Fidel Castro


Hiếm thấy một người mà ngay đến cái chết cũng gây ra nhiều xúc cảm trái ngược nhau như Fidel Castro. Cái tin ông qua đời có thể làm cho nhiều người ở Cuba và Việt Nam buồn bã, nhưng lại là cái cớ để cộng đồng người Cuba xuống đường ăn mừng ở Miami. Báo chí bên nhà gọi ông là "nhà cách mạng vĩ đại, một trong những người kiệt xuất nhất của thế kỷ XX", nhưng người tị nạn Cuba ở Miami và chính em gái ông gọi ông là "El Monstruo" (tức là quái vật).




Cuộc đời và sự nghiệp cách mạng của Castro thì đã có quá nhiều sách báo viết. Ai cũng biết ông làm cách mạng, cướp chính quyền vào năm 1959. Nhưng ít ai biết rằng cái lí tưởng đằng sau vụ cướp chính quyền từ Batista đó chẳng có dính dáng gì đến chủ nghĩa cộng sản cả! Lí tưởng của Castro lúc đó là Jose Marti, một nhân vật lịch sử vào thế kỉ 19 từng đấu tranh cho sự độc lập của Cuba từ Tây Ban Nha. Castro không muốn Cuba là một "banana republic", một thuộc địa bị Mĩ chi phối. Do đó, cuộc cách mạng mà Fidel Castro thực hiện có động cơ chủ nghĩa quốc gia, chứ không phải chủ nghĩa cộng sản.

Nhưng cuộc cách mạng đó xảy ra vào thời Chiến Tranh Lạnh, và thế là Mĩ tìm cách khống chế Cuba. Từ đó, Cuba rơi vào quỉ đạo của Liên Xô và chủ nghĩa cộng sản. Thành ra, có người đã lí giải rằng chính Mĩ đã biến Cuba thành một chư hầu của Liên Xô, chính Mĩ đã biến Fidel Castro thành một nhà độc tài lừng danh.

Từ thời điểm cách mạng 1959, Cuba được cai trị bởi bàn tay sắt của Castro, người thường được mô tả là hùng biện và "charisma". Dưới sự cai trị của Castro, hàng vạn người chết hay bị xử tử mà không cần toà án (dĩ nhiên), và hàng trăm ngàn người Cuba vượt biên sang Mĩ, vốn chỉ cách Cuba chưa đầy 100 dặm. Người tị nạn Cuba định cư thành công ở Miami, cũng giống như người Việt ở California. Người tị nạn Cuba có một mối căm thù thâm căn cố đế với Castro và chế độ của Castro. Cá nhân tôi từng trải nghiệm sự câm thù này khi lở miệng khen Castro, lập tức họ (dân Cuba) nổi nóng và hùng hổ tranh cãi. Ngay tại Cuba, dù qua 50 năm tuyên truyền vẫn có người không ưa ông.

Một trong những người đó là trung tá Juan Reinaldo Sánchez, tác giả cuốn sách “The Double Life of Fidel Castro” mới xuất bản năm ngoái. Sánchez từng là một nhân viên an ninh, một cảnh vệ cho Castro suốt 17 năm trời, nên biết rất nhiều chi tiết về đời tư của ông (cũng giống như bác sĩ riêng của Mao Trạch Đông viết về cuộc sống hoang đàng của Mao). Theo Sánchez, Castro có cuộc sống 2 mặt: một mặt là người cách mạng trước công chúng và thế giới, mặt khác là một người sống xa hoa và phóng khoáng. Trong sách, Sánchez còn cho biết chính Castro là bố già của những thương vụ buôn bán á phiện.

Trái với những gì báo chí Nhà nước viết là Castro sống nhờ tiền trợ cấp chỉ 25 USD/tháng, Sánchez cho biết ông Castro có hơn 20 biệt thự sang trọng. Ông sống trên đảo Caya Piedra, trong một lâu đài hoành tráng có hồ bơi, có sân bay trực thăng, và có cả bệnh viện du thuyền! Castro còn có du thuyền lớn và đắt tiền, có người bảo vệ (dĩ nhiên) và nhiều cô gái phục vụ cho ông và cho khách. Khách thường xuyên của ông bao gồm cựu tổng bí thư đảng cộng sản Đông Đức Erich Honecker, "đại gia" Ted Turner của CNN, và nhà văn Gabriel Garcia Marquez.

Một điều thú vị được tiết lộ trong sách là Fidel Castro rất cẩn thận, sợ bị ám sát. Ông lúc nào cũng có 2 người hộ vệ, và hai người này có cùng loại máu (A-) với ông. Trước khi Castro ăn uống gì, có người nếm thử trước, có lẽ vì ông sợ đầu độc. Chẳng những thế, ông còn có hai người giống hệt ông, để đóng vai giả Castro trước công chúng sau khi ông bị chẩn đoán với ung thư ruột.

Castro tuy làm cách mạng chống tư bản, nhưng lại là người mê hàng hoá xa xỉ của thế giới tư bản. Ông đi xe Mercedes Benz, nhưng được làm lại cho an toàn hơn. Ông cũng như Che Guevara, là người mê đồng hồ Rolex. Castro có hẳn một sưu tập đồng hồ Rolex, một số là người khác tặng, một số là ông mua. Ông cũng thích rượu whisky loại Chivas Regal, và dĩ nhiên là xì gà.

Tuy nhiên, vẫn còn quá nhiều điều người ta chưa biết về Fidel Castro. Trung tá Sánchez nói rằng ông còn có nhiều thông tin mật khác về Castro và sẽ viết thành sách để thế giới biết. Nhưng ông chưa viết ra thì đã bị chết sau khi cuốn sách được xuất bản chỉ 3 tháng. Người ta nghi ngờ rằng cái chết của Sánchez có sự dính dáng của mật vụ Cuba.

Nhìn chung, Fidel Castro là một nhân vật lịch sử rất thú vị. Ông đã làm cho một hòn đảo nhỏ trở nên nổi tiếng vì dám chống Mĩ. Nhưng chính sách chống Mĩ của Castro chẳng đem lại lợi ích gì cho dân tộc Cuba, ngoài sự nghèo đói. Cuộc đời của ông gây ra nhiều tranh cãi, nhưng sự nghiệp của ông thì được thăng tiến trên xương máu của quá nhiều người. Cái di sản cách mạng mà Castro để lại là một nước Cuba nghèo nàn, lạc hậu, và một dân tộc chia rẽ.

=== 

Vài nét về cuộc đời của Fidel Castro 
Gia đình Castro khá phức tạp. Thân phụ của Fidel Castro là Ángel Castro, là một di dân gốc Tây Ban Nha. Gia đình làm nghề nông ở vùng Biran. Lúc đó, Angel đã thành hôn với Maria Argota, và đã có 2 con. Tuy đã có gia đình, nhưng Angel vẫn vẫn dan díu với một người hầu trong gia đình tên là Lina Ruz. Angel và Lina có tất cả 7 đứa con, và Fidel Castro là người con thứ. Một người em gái của Fidel Castro là Juana sau này chạy sang Mĩ xin tị nạn, và cũng là người chỉ trích người anh nhiều nhất và bà không nói chuyện với Fidel cho đến ngày ông chết. Juana từng gọi anh mình là một "con quái vật" (el monstruo)

Đến thế hệ Fidel Castro thì tình sử càng ... phức tạp (1). Không ai biết ông có bao nhiêu vợ và bao nhiêu con. Người ta chỉ biết năm 1949 ông kết hôn với người vợ đầu là Myrta Diaz-Balart, và hai người có một đứa con trai lên là Fidelito (có nghĩa "Fidel Nhỏ"). Nhưng trong khi ở tù ông lại dan díu với một người phụ nữ khác là Naty Revuelta. Điều khá hài hước là trong lúc nằm tù ông viết thư tình cho cả hai người, Naty và Myrta! Myrta nổi nóng li dị. Sau khi li dị, Myrta Diaz-Balart đem con là Fidelito bỏ Cuba sang Mĩ sống. Nhưng sau này, ông cướp Fidelito và đem về Cuba. Fidelito trở thành một khoa học gia về nguyên tử, nhưng bị thân phụ cách chức vì lí do chẳng ai biết.

Sau khi ra tù, ông Castro sống với Naty Revuelta, và hai người có một đứa con gái tên là Alina (và cũng là đứa con gái duy nhất? của ông). Sau này, Alina sang Mĩ tị nạn và tố cáo phụ thân mình là một kẻ độc tài.

Đến năm 1980 ông thành hôn với Dalia Soto del Valle, nhưng thật ra hai người đã có 5 đứa con trong thời gian 1962 đến 1974. Trong thời chiến, Castro lấy bí danh là Alejandro (ý nói đến Alexander Đại Đế), và do đó ông đặt tên cho 5 người con trai là Alexis, Alejandro, Angelito, Alexander và  Antonio. Nhưng điều khá thú vị là công chúng Cuba không biết gì về người vợ hai này cũng như những người con của ông.  Phải đến năm 2000 người ta mới thấy bóng dáng bà vợ hai này.

Nhưng ngoài ba cuộc hôn nhân chính thức đó, Castro còn dan díu với nhiều phụ nữ khác, và ông có ít nhất là 10 đứa con. Đó chỉ là một ước số! Một số con ông còn ở Cuba, nhưng một số di dân sang Mĩ. Trong một bài phỏng vấn cho tạp chí Vanity Fair năm 1993, nhà báo Ann Louise Bardach hỏi ông có bao nhiêu con, ông Castro mỉm cười nói con số gần bằng một bộ lạc ("almost a tribe")!

(1) http://www.independent.co.uk/news/people/fidel-castro-dead-dies-cuba-family-children-wife-raul-exiles-juana-disagreements-affairs-fidelito-a7440496.html







Dịch vụ SEO