Giới thiệu về Machine Learning

Thành Leo
9 min readDec 19, 2018

--

Trong thời gian gần đây, chủ đề về “Cuộc cách mạng công nghiệp 4.0” được nhắc đến nhiều trên giới truyền thông và mạng xã hội. Cùng với đó là những hứa hẹn về cuộc “đổi đời” của các doanh nghiệp tại Việt Nam nếu đón được làn sóng này.

Cách mạng công nghiệp đầu tiên sử dụng năng lượng nước và hơi nước để cơ giới hóa sản xuất. Cuộc cách mạng lần 2 diễn ra nhờ ứng dụng điện năng để sản xuất hàng loạt. Cuộc cách mạng lần 3 sử dụng điện tử và công nghệ thông tin để tự động hóa sản xuất. Bây giờ, cuộc Cách mạng Công nghiệp Thứ tư đang diễn ra với sự nổi bật của AI (Artifical Intelligence) cụ thể hơn là Machine Learning

Trí tuệ nhân tạo đã len lỏi vào mọi lĩnh vực của đời sống mà có thể chúng ta không nhận ra như Facebook tự động tag ảnh người dùng lên các bức ảnh, Youtube tự động gợi ý các video cho người xem, AlphaGo với khả năng chơi cờ vây chiến thắng Lee Sedol — người từng 18 lần vô địch thế giới hay như OpenAI có khả năng chơi dota2 chiến thằng những game thủ chuyên nghiệp hàng đầu thế giới. Những ví dụ trên cho ta thấy được sự phát triển không giới hạn về mọi lĩnh vực của AI trong kỉ nguyên mới.

Trong những năm gần đây, cùng với sự phát triển vượt bậc về khả năng tính toán của máy tính và số lượng dữ liệu lớn được thu thập bới các công ty công nghệ lớn. Một lĩnh vực mới của Machine Learning đã ra đời: Deep Learning. Những công việc tưởng chừng như không thể giải quyết được nay đã được xử lý rất tốt nhờ Deep Learning như: phân loại hàng nghìn vật thể trong ảnh, nhận diện giọng nói, giao tiếp với con người hay sáng tác văn thơ …

Bài viết này sẽ giới thiệu về Machine Learning một cách cơ bản nhất để các bạn có thể hiểu cốt lõi của những công nghệ AI hiện nay là gì và chúng ta hoàn toàn có thể tiếp cận nó

I. Phân loại các thuật toán trong Machine Learning

Thuật toán Machine Learning thường được chia thành 3 nhóm:

— Supervised Learning

  • Classification
  • Regression

— Unsupervised Learning

  • Clustering
  • Association

— Reinforcemant Learning

  1. Supervised Learning

Supervised Learning là thuật toán dự báo đầu ra của bộ dữ liệu mới với dữ liệu và label đã được biết trước. Ví dụ: từ dữ liệu lịch sử của của ngân hàng về khách hàng có nợ xấu hay không có nợ xấu, supervised learning model có thể dự báo những khách hàng nộp hồ sơ xin vay là khách hàng có nợ xấu hay không để tiến hành cho vay. Đây là nhóm phổ biến nhất của Machine Learning

Về mặt toán học ta có thể nói khi chúng ra có một tập hợp biến đầu vào (features) X={x1,x2,…,xN} và một tập hợp nhãn (lable) tương ứng Y={y1,y2,…,yN}, trong đó xi,yi là các vector. Các cặp dữ liệu biết trước (xi,yi)∈X×Y được gọi là tập training data (dữ liệu huấn luyện). Từ tập traing data này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y:

yi≈f(xi), ∀i=1,2,…,N

Mục đích là xấp xỉ hàm số f thật tốt để khi có một dữ liệu x mới, chúng ta có thể tính được nhãn tương ứng của nó y=f(x)

1.1. Classification

Classification là bài toàn mà các label của dữ liệu đầu vào là một số nhóm hữu hạn. Ví dụ: từ ảnh cần phân biệt đây là nam hay nữ, các ngân hàng cần phân biệt khách hàng vay vốn có nợ xấu hay không …

1.2. Regression

Là bài toán dự báo đầu ra là một giá trị cụ thể. Ví dụ: trò chơi Pubg (Playerunknown’s Battleground) làm mưa gió trên thế giới vào 2017 đang có cuộc thi dự báo về thứ hạng của người chơi game dựa trên các chỉ số trong game của họ.

2. Unsupervised Learning

Thuật toán này chúng ta sẽ không biết được đầu ra của bộ dữ liệu đầu vào. Unsupervised Learning sẽ dựa vào cấu trúc của dữ liệu để thực hiện một công việc nào đó như: phân nhóm dữ liệu (clustering), giảm chiều dữ liệu (dimension reduction) hay association rules.

2.1. Clustering

Là thuật toán phân nhóm những quan sát có những đặc điểm chung. Ví dụ: dựa trên hành vi chi tiêu thẻ tín dụng của khách hàng, ta có thể sử dụng phương pháp Unsupervised Learning để chia thành các nhóm khách hàng có chung hành vi chi tiêu như: nhóm khách hàng chi tiêu vào cuối tháng, nhóm khách hàng chi tiêu chủ yếu vào ăn uống hay những nhóm khách hàng chi tiêu số tiền lớn nhằm mục đích đưa ra các chương trình khuyến mãi riêng đặc trưng cho từng nhóm — phục vụ nhu cầu khách hàng.

2.2. Association rule

Là bài toán khi chúng ta muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước. Ví dụ: những khách hàng nam mua quần áo thường có xu hướng mua thêm đồng hồ hoặc thắt lưng; những khán giả xem phim Spider Man thường có xu hướng xem thêm phim Bat Man hay những khách hàng nắm giữ Term Deposit và Current Account sẽ có xu hướng sở hữu thêm Credit Card. Dựa vào đó tạo ra một hệ thống gợi ý khách hàng thúc đẩy nhu cầu mua sắm.

3. Reinforcement Learning

Đây là bài toán giúp cho hệ thống tự xác định được hành động tiếp theo sao cho đạt được lợi ích cao nhất (maximizing the performance). Một ví dụ gần gũi với chúng ta hiện nay là hệ thống tự động lái xe — thuật toán sẽ tự động tính toán bước xử lý tiếp theo để đến được vị trí cần đến và đảm bảo an toàn không vi phạm giao thông.

II. Một số định nghĩa cần chú ý trong Machine Learning

Khi xây dựng mô hình Machine Learning, bộ dữ liệu đầu vào luôn được chia thành 2 phần là Training data và Testing data. Ta sẽ xây dựng mô hình trên Training data và kiểm tra khả năng dự báo của nó trên Testing data. Một mô hình tốt sẽ có khả năng dự báo đề tốt trên cả 2 tập này. Có một vài định nghĩa ta cần ghi nhớ khi xây dựng mô hình Machine Learning như sau:

  1. Variance versus Bias

Variance là mức độ ổn định của mô hình. Như trên graph trên, để biểu diễn các giá trị ta có 2 mô hình là đường màu xanh và vàng (regression). Đường màu xanh đi rất sát với những quan sát thực tế, tuy nhiên khi có 1 quan sát bị thay thế bằng quan sát khác, đường màu xanh sẽ thay đổi hoàn toàn để biểu thị được những quan sát đó, do vậy mô hình này có variance rất cao. Đường màu vàng sẽ là ước lượng hồi quy, do vậy khi 1 quan sát thay đổi đường hồi quy này gần như sẽ không thay đổi, mô hình có variance thấp

Bias là độ lệch của mô hình so với quan sát thực tế. Đường màu xanh sẽ có độ sai lệch giữa giá trị ước lượng với thực tế thấp hơn rất nhiều so với đường màu vàng. Do vậy bias của đường màu xanh thấp hơn so với đường màu vàng.

Sẽ luôn có sự đánh đổi giữa Variance — Bias. Khi mô hình được xây có thể tối ưu trong việc Variance và Bias là nhỏ nhất thì đó là mô hình hoàn hảo.

2. Overfitting versus Generalization

Khi xây dựng mô hình ta luôn cần phải chú ý đến overfitting, đó là khi mô hình được xây quá chính xác trên tập train và kết quả trên tập test lại đem lại thấp. Ví dụ: Ta xây dựng mô hình dựa vào được điểm của một người và dự báo xem họ là nam hay nữ trên một nhóm 1000 người và phát hiện ra một số những đặc điểm quan trọng như: nữ giới thường mặc váy, tóc dài qua vai, sơn móng tay… Tuy nhiên khi áp dụng mô hình này trên nhóm 1000 người khác thì mô hình trên lại sai rất nhiều do nữ giới có thể mặc quần, tóc ngắn và không sơn móng tay… Mô hình trên đã bị overfitting do đã lấy những đặc điểm quá chi tiết.

Generalization là tính khái quát hóa của mô hình. Khi xây dựng mô hình thì mô hình cần có tính khái quát hóa này để không chỉ đúng trên tập train mà còn đúng trên cả tập test. Tuy nhiên một mô hình có tính khái quát cao lại đem lại kết quả không thực sự chính xác. Ví dụ: cũng từ mô hình trên đặc điểm để nhận ra nam giới đó chính là đi giày. Đặc điểm này mang tính khái quát cao do phần lớn nam giới sẽ đi giày tuy nhiên không thể phân loại rõ rệt nam và nữ do cả nam và nữ đề có thể đi giày.

Mô hình Machine Learning khi xây cần phải có overfitting thấp và generalization cao để đem lại kết quả tốt nhất.

3. Inference versus Prediction

Trong Machine Learning có một thuật ngữ là Black Box, nghĩa là những thuật toán không có khả năng giải thích. Ta chỉ việc cho tay vào hộp và có thể bốc ra kết quả là khách hàng là Nam hay Nữ và không thể giải thích được tại sao.

Luôn có sự đánh đổi giữa khả năng giải thích và tính chính xác của mô hình. Mô hình càng không thể giải thích được sẽ mang lại tính chính xác cao hơn so với những mô hình có thể giải thích được

4. U-shape

Đường màu xám đại điện cho độ chính xác của mô hình trên tập train. Khi mô hình Machine Learning trên tập train càng phức tạp thì Error sẽ giảm, tuy nhiên mô hình quá phức tạp sẽ dẫn tới việc overfitting. Tương tự đường màu đỏ là độ chính xác trên tập test, khi mô hình phức tạp sẽ làm giảm Error trên tập Test đến một mức độ nhất định rồi sẽ tăng trở lại do ảnh hưởng của overfitting như hình chữ U.

Một mô hình tối ưu sẽ là mô hình có mức độ phức tạp vừa đủ để có điểm min trên tập Test (chấm xanh da trời)

Như vậy các bạn đã có một cái nhìn tổng quan về Machine Learning và những định nghĩa cơ bản nhất khi xây dựng mô hình. Các bài viết tiếp theo tôi sẽ tập trung vào các thuật toán và ứng dụng trong lĩnh vực kinh tế.

Đôi điều về blog

Công việc liên quan đến dữ liệu đang làm ngành thu hút nhất trong kỉ nguyên mới kéo theo nhu cầu nhân lực về ngành Machine Learning ngày một tăng cao. Tuy nhiên các tài liệu về Machine Learning đang chủ yếu là tiếng Anh. Do vậy, tôi cũng muốn đóng góp một chút sức lực để gia tăng thêm những tài liệu tiếng Việt cho những bạn đang có nhu cầu tìm hiểu và đặc biệt là Machine Learning sử dụng ngôn ngữ R. Nhận thấy các bài viết về Machine Learning hiện tại đang rất thiên về mặt kĩ thuật hơi ít các ứng dụng thực tiễn. Các bài viết của tôi sẽ đưa ra góc nhìn tập trung sâu hơn về cách áp dụng Machine Learning vào kinh tế đặc biệt là lĩnh vực ngân hàng — lĩnh vực mà hiện tại tôi đang làm việc.

Các bạn đọc có câu hỏi hoặc đóng góp thì có thể liên hệ với tôi qua email: thanhleo92@gmail.com

References:

Introduction to statistical learning: with application in R (2013)

--

--