Tổng quan về Học máy

by Tiểu Thành

Hello, xin chào các đồng râm, vậy là sau bao ngày dự định và ấp ủ, đắn đo suy nghĩ các kiểu con đà điểu thì hôm nay mình xin mạng phép ra mắt series dài tập về các thuật toán cơ bản trong Học máy. Trước khi đi đến quyết định này, mình cũng suy nghĩ rất nhiều vì với chút kiến thức ít ỏi của mình không biết có đủ giúp cho các bạn thỏa mãn hay không. Nhưng với phương châm “Học tập là mãi mãi” thế nên mình cố gắng ra từng bài viết để củng cố lại kiến thức mình cóp nhặt được trong suốt thời gian qua, đồng thời mong được nhận mọi sự góp ý chân thành của các anh, chị, bạn bè gần xa. Đây là lần đầu tiên mình viết về lĩnh vực này, thế nên kính mong mọi người góp ý để mình hoàn thiện hơn ạ. Trong bài viết đầu tiên này, mình sẽ giới thiệu đến các bác một cách nhìn siêu tổng quan về Học máy, các loại hình trong Học máy, cách thức hoạt động của từng loại hình(đì kèm từng mới tên các thuật toán) và các ứng dụng của chúng trong đời sống của chúng ta. Và bây giờ thì Let’s go!!! chúng ta hãy bắt đầu nào!!!

I. Học máy (ML) là gì ?

Vài năm trở lại đây, Học máy hiện là xu hướng của thể giới với sự ra đời hàng trăm, hàng nghìn các bài báo, các tạp chí nói về lĩnh vực này. Với trí tuệ nhân tạo nói chung và ML nói riêng, con người đang mơ về một tương lai không xa của thế giới chúng ta, ở đó máy móc sẽ thay con người làm những công việc mà trước nay chúng ta đã và đang làm, mọi công việc điều được thực hiện một cách tự động, chính xác đến từng milimet. Quay lại với thực tại, hiện nay đã có nhiều ứng dụng của ML đang len lỏi vào hầu hết các lĩnh vực trong đời sống xã hội như y tế, quản lý an ninh, hóa học, chính trị,điện ảnh… và nó đã chứng minh tiềm năng và hiệu quả thực sự mà ML mang lại cho cuộc sống con người. Đọc đến đây, chắc hẳn trong đầu của các bạn sẽ đặt ra một câu hỏi rằng ML là gì, bằng cách nào mà chúng có thể thay đổi cả cuộc sống con người trong tương lai gần ?

Để trả lời câu hỏi này, trước tiên chúng ta sẽ tìm hiểu khái niệm “Trí tuệ nhân tạo” là gì ? Trước đây các bạn hay thấy những thước phim kinh điển của Hollywood về các cuộc chiến của con người và robot, bằng cách nào đó những con robot này trở nên thông minh như con người, tự có ý thức và vượt ra khỏi tầm kiểm soát của chúng ta, sau đó chúng tiến hành lật đổ nhằm chiếm đoạt sự thống trị của Trái Đất. Tất nhiên những thước phim trên là giả tưởng của sản phẩm của con người, là phóng thích sức mạnh tưởng tưởng của những nhà biên kịch đại tài, thế nhưng nó cũng phản ánh một phần nào đó về minh chứng ý niệm của con người đối với  “Trí tuệ nhân tạo”. Theo Wikimedia, Trí tuệ nhân tạo hay AI là một ngành khoa học của khoa học máy tính, là trí thông minh được thể hiện bằng máy móc, trái ngược với trí thông minh tự nhiên được con người thể hiện. Thông thường, thuật ngữ “trí tuệ nhân tạo” thường được sử dụng để mô tả các máy móc (hoặc máy tính) bắt chước các chức năng “nhận thức” mà con người liên kết với tâm trí con người, như “học tập” và “giải quyết vấn đề”. Và ML là một nhóm ngành nhỏ trong AI, chuyên nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống “học” tự động từ dữ liệu để giải quyết những vấn đề cụ thể như:

  • Làm cho máy tính có những khả năng nhận thức cơ bản của con người như nghe, nhìn, hiểu được ngôn ngữ, giải toán, lập trình, …
  • Hỗ trợ con người trong việc xử lý một khối lượng thông tin khổng lồ mà chúng ta phải đối mặt hàng ngày, hay còn gọi là Big Data

Học máy có liên quan lớn đến thống kê vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán. Nhiều bài toán suy luận được xếp vào loại bài toán NP-khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ mà có thể xử lý được, hiện nay học máy ứng dụng rất nhiều trong cuộc sống chúng ta như  máy truy tìm dữ liệuchẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán,…

Túm cái váy lại, ta có thể hiểu một cách đơn giản như sau: ML là nhóm ngành nhỏ của Trí tuệ nhân tạo, chúng ta sẽ sử dụng các thuật toán để làm cho máy tính có thể “hiểu” dữ liệu để thực hiện các công việc thay vì thực hiện lập trình một cách tường minh bằng các câu lệnh “if – else”, hay các câu truy vấn thông thường,…

II. Phân loại thuật toán ML

Hiện nay, có 2 nhóm chính trong ML đó là: Học có giám sát (Supervised learning) Học không giám sát (Unsupervised learning). Ngoài ra còn có Semi-Supervised Learning (Học bán giám sát)Reinforcement Learning (Học Củng Cố). Điểm khác biệt của các nhóm thuật toán này đó chính là dự liệu được đưa vào huấn luyện của mô hình, cách thuật toán sử dụng dữ liệu và loại vấn đề mà chúng giải quyết. Sau đây chúng ta cùng nhau đi vào tìm hiểu chi tiết hơn từng nhóm thuật toán trong ML.

1. Học có giám sát (Suppervised learning):

Học có giám sát là thuật toán học để dự đoán đầu ra mong muốn của một dữ liệu mới (output) dựa vào các điểm dữ liệu (data points) chứa 2 giá trị (input, label) đã biết từ trước. Input được gọi là các đặc trưng của dữ liệu và label chính là nhãn của điểm dữ liệu đó. Để hình dung rõ hơn, chúng ta có thể lấy ví dụ như sau: Xét các thuộc tính x = {cao 170 cm, nặng 65 kg, quê Khánh Hòa, mắt nâu , tóc xoăn}y = {Nam}, thì cặp (x,y) được gọi là một điểm dữ liệu, x được gọi là các feature input đầu vào, y chính là nhãn tương ứng với input x. Thông thường dữ liệu của chúng ta là tập hợp của rất nhiều điểm dữ liệu. Bài toán có thể phát biểu một cách cụ thể như sau:

  • Cho một tập hợp các điểm dữ liệu
    x(1),x(2),x(3),...,x(n)

    tương ứng với các tập đầu ra là

    y(1),y(2),y(3),....,y(n)
  • Chúng ta sẽ xây dựng một mô hình học được các dự đoán y từ x dựa vào các tập hợp điểm đã cho trước đó

Hình 1: Mô hình minh họa học có giám sát

Trong nhóm Học có giám sát, các thuật toán lại chia ra thành 2 nhóm nhỏ hơn đó là: Phân loại (Classification)Hồi quy (Regresstion). Đối với việc đi sâu vào từng chi tiết, chúng ta sẽ dành cho những bài học sau, đối với bài này, chúng ta có thể phân biệt 2 nhóm thuật toán này như sau:

Hình 2: Phân biệt Hồi quy và Phân loại

2. Học không giám sát (Unsuppervised learning):

Khác với học có giám sát, dữ liệu của học không giám sát chỉ có các đặc trưng, không có nhãn kèm theo. Unsuppervised Learning được sử dụng để khám phá ra những quy luật ẩn (hidden pattern) trong tập dữ liệu không nhãn. Trong thuật toán này lại được phân thành 2 nhóm nhỏ hơn đó là Gom nhóm (clusstering)association :

  • Clusstering: Tập trung vào việc gom nhóm các dữ liệu thành k nhóm dựa trên những đặc điểm tương đồng của các điểm dữ liệu. Ví dụ gom nhóm các loại rau củ quả theo hình dạng hoặc màu sắc,…
  • Association: Tìm ra quy luật dựa trên nhiều dữ liệu cho trước, ví dụ: Dựa vào hành vi mua đồ kèm theo của con người ( đàn ông đi chợ mua tả lót thì sẽ mua bia, mua quần sẽ mua kèm cùng với thắt lưng,…) từ đó xây dựng một hệ thống gợi ý cho sản phẩm tiếp theo, hoặc bố trí sản phẩm cho phù hợp

Hình 3: Ví dụ về học không giám sát

3. Semi-Supervised Learning (Học bán giám sát):

Học bán giám sát có dữ liệu để học không đầy đủ nhãn. Nghĩa là chỉ một phần của chúng được gán nhãn. Những bài toán thuộc nhóm này nằm giữa hai nhóm được nêu bên trên. Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao. Rất nhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được (ảnh y học chẳng hạn). Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ internet.

4. Reinforcement Learning (Học Củng Cố):

Reinforcement learning là các bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing the performance). Hiện tại, Reinforcement learning chủ yếu được áp dụng vào Lý Thuyết Trò Chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm số cao nhất.

Hình 4: Ví dụ về học củng cố

Một số ứng dụng nổi tiếng hiện nay áp dụng học củng cố phải kể đến là AlphaGo. AlphaGo có thể tự chơi với nó hàng triệu để tìm ra các nước đi tối ưu hơn dựa trên các nước đi của con người.

III. Ứng dụng của ML trong cuộc sống con người

Hiện nay ML đã có mặt hầu hết trong cuộc sống của chúng ta, len lỏi hầu hết ở các lĩnh vực trong đời sống xã hội, tiêu biểu là các lĩnh vực sau:

1. Xử lý ảnh: Trích xuất các thông tin có trong các bức ảnh, ví dụ:
  • Gắn thẻ hình ảnh: Như các bạn đã biết, hiện nay facebook có tính năng auto tag Tên của bạn bè khi mình đăng ảnh. Về cơ bản,Thuật toán đã trích xuất những đặc trưng của các bức ảnh mà bạn đã đăng trước đó, sau đó tiến hành so khớp để gán nhãn tự động
  • Nhận diện chữ viết tay: Cũng giống như auto tag, nhận diện chữ viết tay cũng trích xuất nhưng đặc trưng của hình ảnh chữ viết tay trước đó, sau đó tiến hành xử lý, nhận dạng ký tự khi có một bức ảnh có chữ viết tay đưa vào
  • Xe tự hành: Thuật toán ML giúp phát hiện mép đường, vật cản, biển báo bằng cách xử lý các khung hình được ghi lại bởi cammera
2. Phân tích văn bản: Trích xuất thông tin từ văn bản
  • Lọc spam: mail spam hay không spam,..
  • Khai phá thông tin: Trích xuất các từ khóa, tên, địa chỉ,…
  • Phân tích ngữ nghĩa: tiêu cực hay tích cực,…
3. Khai phá dữ liệu: là quá trình khám phá ra các thông tin có giá trị hoặc đưa ra các dự đoán từ dữ liệu. Nghĩa là tìm kiếm các thông tìn hữu ý từ một tập dữ liệu rất lớn
  • Phát hiện bất thường trong chứng khoán, giao dịch ngân hàng
  • Phát hiện các quy luật: tìm quy luật về việc mua hàng hóa, từ đó xây dựng hệ thống khuyên nghị phù hợp,..
  • Gom nhóm: Gom nhóm phân khúc mua hàng dựa vào độ tuổi, kinh tế để có chiến lược makerting phù hợp
  • Dự đoán: giá cổ phiếu, giá nhà
4. Robot:
  • Các sản phẩm về máy hút bụi thông minh, …

Lời kết: Trên đây là toàn bộ khái niệm về ML cũng như những thuật toán phân loại và ứng dụng của ML trong đời sống hằng ngày của chúng ta. Mình hy vọng thông qua bài viết này các bạn có thể hình dung một các rõ ràng hơn về Học máy. Trong bài viết tiếp theo, chúng ta sẽ đi vào tìm hiểu về một số khái niệm và quy ước trong Học máy cũng như thuật toán đầu tiên trong Supervised Learning đó là KNN. Mọi đóng góp của các bác chính là động lực để mình hoàn thiện và phát triển bài viết tốt hơn.

IV. Tài liệu tham khảo

https://machinelearningcoban.com/2016/12/27/categories/

https://nguyenvanhieu.vn/machine-learning-la-gi/#4-phan-loai-thuat-toan-machine-learning

https://drive.google.com/drive/u/2/folders/1VlL4HkCT2tMe2mC2g5oCno0oGv0vwO6y

https://khanh-personal.gitbook.io/ml-book-vn/machine-learning-la-gi

https://vi.wikipedia.org/wiki/Tr%C3%AD_tu%E1%BB%87_nh%C3%A2n_t%E1%BA%A1o

https://vi.wikipedia.org/wiki/H%E1%BB%8Dc_m%C3%A1y

 

Bài viết liên quan

Thêm bình luận