[ML] Classification – Part 1

Ở bài trước [ML] Làm quen với Machine Learning tôi đã giới thiệu tổng quan về Machine Learning và những ứng dụng trong cuộc sống hàng ngày. Để có thể hiểu rõ hơn về nội dung của loạt bài viết Classification này, mời các bạn đọc bài viết trước để có kiến thức cơ bản.

Mục đích của bài viết về  Classification nhằm cung cấp thông tin về các phương thức để phân loại data dựa theo những tiêu chí nhất định. Để hiểu loạt bài viết này, bạn không thiết phải là nhà khoa học máy tính, thậm chí bạn còn không cần biết bất cứ thông tin gì liên quan đến máy tính và toán học cao cấp cả.

Chủ đề sẽ được giới thiệu qua 3 bài viết.

  1. Giới thiệu về chức năng chính của Machine Learning: Classification
  2. Giải thích và mô tả 2 kỹ thuật quan trọng trong Machine Learning phục vụ cho việc phân loại (Classification): 1 kỹ thuật đơn giản nhưng được sử dụng rộng rãi, 1 kỹ thuật cao cấp có độ chính xác cao hơn.
  3. Giải thích cách mà mà các nhà khoa học có thể đánh giá được chất lượng của các kỹ thuật Machine Learning.

Dưới đây là nội dung của bài viết đầu tiên:

  • Định nghĩa 

Rất khó để định nghĩa được khái niệm chính xác của Machine Learning, ở bài trước [ML] Làm quen với Machine Learning tôi đã giải thích rất nhiều về khái niệm này rồi.  Nói một cách ngắn gọn lại tôi có thể nói rằng Machine Learning (hoặc Data Mining hoặc bất kỳ thuật ngữ nào tương tự) là việc tạo ra 1 hệ thống chương trình máy tính có thể đưa ra các dự đoán trong tương lại hoặc giúp người sử dụng hiểu rõ hơn về các hiện tượng phức tạp.

Machine Learning bao gồm rất nhiều lĩnh vực con, thay vì giải thích chung chung, đầu tiên tôi sẽ đi sâu về 1 khía cạnh “Classification” (Việc phân loại). Thực tế, việc phân loại data cũng chỉ là 1 lĩnh vực chuyên sâu trongMachine Learning, nhưng nó là 1 trong những lĩnh vực quan trọng nhất. Khi mọi người nói về Machine Learning nếu họ ko ám chỉ 1 lĩnh vực nào đó, thì tất nhiên họ đang nhắc đến Classification.

  • Việc phân loại

Ý tưởng của Classification bắt đầu từ việc chúng ta có danh sách các thứ cần phải “theo dõi”. Với Machine Learning, một thứ cần phải theo dõi hầu hết là sự mô tả của 1 đối tượng hoặc một tình huống nào đó. Để hiểu rõ hơn, chúng ta sẽ đề cập tới một trong những ví dụ cơ bản trong Machine Learning là hoa Iris. Giả sử rằng đối tượng cần theo dõi là sự mô tả của một bông hoa: Đối với từng bông hoa, chúng ta có 4 phép đo lượng: Chiều rộng và chiều dài (tính theo cm) của đài hoa (sepal) và cánh hoa (petal).

Có thể hoa Iris không phải là 1 ví dụ thú vị, tuy nhiên chúng là ví dụ đơn giản nhất để hiểu về Machine Learing. Ngoài ra bạn cũng nên biết thêm rằng hoa Iris trong ví dụ này được gọi là “Iris dataset”, và nó được sử dụng rộng rãi bởi hầu hết các nhà khoa học Machine Learning để test, debug và hiểu về thuật toán phân chia của họ.

4 phép đo lượng được gọi là các thuộc tính (atribute). Trong Machine Learning, một đối tượng được theo dõi bản chất là 1 danh sách các thuộc tính của đối tượng đó. Khi chúng ta so sánh các đối tượng, chúng ta so sánh các thuộc tính của chúng: Ví dụ: “Bông hoa này có lá dài hơn bông hoa kia”. Các thuộc tính có thể đại diện cho rất nhiều thứ khác nhau (Ví dị, chiều dài của máy bay, thời gian của cơn bão, nhiệt độ trong phòng, màu sắc của bức tường, …). Nhìn chung, các thuộc tính được chia làm 2 loại cơ bản: “Con số” và “Thể loại”. Sự khác biệt giữa 2 loại này thì không phải luôn luôn cứng nhắc, nhưng đại loại là nó có ý nghĩa để so sánh (< hoặc >) sự khác biệt giữa các thuộc tính, do đó nhìn chung chúng ta để tâm đến thuộc tính là “Con số” (như là độ dài của lá hoa Iris), nếu không thì chúng ta gọi nó là “Thể loại” (như là màu sắc của bông hoa).

Ngoài ra đối với mỗi đối tượng (ví dụ mỗi bông hoa Iris), chúng ta có các Lớp (class). Một lớp là một thông tin của đối tượng đang được nhắc đến. Ở ví dụ của chúng ta, giả sử rằng Lớp của một bông hoa Iris chính là một loài hoa Iris, chúng ta sẽ chỉ quan tâm với 3 loại hoa sau: Setosa, Versicolour và Viginica.

Tổng kết lại, chúng ta đã có danh sách của các đối tượng cần theo dõi (hoa Iris), và mỗi đối tượng này, có danh sách các thuộc tính là Lớp. Bảng dưới đâu mô tả ví dụ của 10 bông hoa Iris. Loại bảng này được gọi là 1 “dataset”

 

OK, giả sử rằng chúng ta có tất cả 150 bông hoa Iris, tuy nhiên với bông hoa cuối cùng, chúng ta không biết nó thuộc loại nào. Chúng ta có thể tự hỏi bản thân rằng: “Có thể rằng loại của hoa Iris có gì đó liên quan đến kích thước của đài hoa và lá hoa không nhỉ?” “Có thể có 1 loại nào đó có lá to hơn các loại còn loại không?”

Nói 1 cách khác là liệu chúng ta có thể sử dụng 149 bông hoa Iris mà chúng ta đã biết rõ Loại, so sánh chúng với bông hoa còn lại để tìm ra Loại của bông hoa này không? => Đó chính xác là vấn đề của việc “Classification”. Hay nói 1 cách khác, vấn đề của việc classification có thể diễn tả như sau:

Giả sử có 1 danh sách của các đối tượng cần theo dõi đã được đánh chú thích (ví dụ các đối tượng mà đã xác định được Lớp) và 1 đối tượng chưa được đánh chú thích (chưa biết xác định được Lớp). Bằng cách nào chúng ta có thể tìm được Lớp của đối tượng còn lại này?

Tất nhiên, trong thực tế, việc phân loại không chỉ được áp dụng cho việc xác định các loại hoa. Ngân hàng sử dụng nó để phân loại khách hàng (Ví dụ: khách hàng này có thanh toán tiền thẻ tín dụng không?). Bệnh viện sử dụng để phân loại bệnh nhân (Ví dụ: bệnh nhân này ngày mai vẫn khỏe chứ?). Phía bảo hiểm dùng để phân loại khách hàng (Ví dụ: tỷ lệ tai nạn oto với khách hàng này là bao nhiêu?).

Tuy nhiên việc phân loại cũng có thể sử dụng ở mức sâu hơn. Ví dụ: camera của bạn sử dụng phân loại để tìm mặt người trong 1 bức ảnh. Bưu điện sử dụng phân loại để nhận dạng địa chỉ chữ viết tay. Các nhà khoa học thời tiết sử dụng để dự báo thời thiết …

Sự khác biệt chính giữa các ví dụ trên là vấn đề thuộc tính được xem xét. Ví dụ đối với khách hàng của ngân hàng, thuộc tính là là thu nhập hàng tháng, điểm tín dụng, địa chỉ hoặc số lần sử dụng thẻ tín dụng trong tuần trước. Đối với bệnh nhân trong bệnh viên, thuộc tính có thể là giới tính, tình hình sức khỏe, nhóm máu….

Trong bài tiếp theo, tôi sẽ giải thích chúng ta sẽ phân loại như thế nào? Tôi sẽ đi chi tiết về 2 thuật toán được sử dụng rộng rãi, mà bất cứ 1 nhà khoa học Machine Learning nào cũng đều biết.

Mong rằng các bạn có thêm chút kiến thức và hứng khởi để chào đón phần 2 của loạt bài viết.


[ML] Classification – Part 2