Thứ Ba, 1 tháng 10, 2019

Tổng quan về machine learning

1. Giới thiệu

Trong những năm gần đây machine learning là một khái niệm được nhắc đi nhắc lại nhiều lần trong thế giới công nghệ, điều này đã cho thấy độ “hot” của lĩnh vực này trên thế giới hiện nay. Trong cuộc sống của chúng ta nếu để ý sẽ bắt gặp rất nhiều những ứng dụng mà có sử dụng machine learning từ y học, chính trị cho đến các nghành giải trí, các hoạt động của con người có thể kể đến như: Hệ thống tự động tag tên của facebook, máy chơi cờ vây AlphaGo, trợ lý ảo Siri, hệ thống gợi ý sản phẩm của Amazon…

Vậy machine learning là gì? machine learning là một subset của Trí tuệ nhân tạo. Trí tuệ nhân tạo hay thường được gọi là AI là một thuật ngữ không còn quá xa lạ với chúng ta nữa. Những bạn hay xem các bộ phim khoa học viễn tưởng chắc hẳn đã thấy hình ảnh những con robot hay những ứng dụng mà chúng có khả năng thông minh như con người. Có thể hiểu đơn giản Trí tuệ nhân tạo là mục tiêu mà con người muốn hướng đến. Thực chất mà nói thì mục tiêu AI vẫn đang còn nằm ngoài tầm với của con người. Còn machine learning đơn giản là phương tiện để con người có thể thực hiện mục tiêu đó.

Theo Wikipedia “machine learning is the subfield of computer science that gives computers the ability to learn without being explicitly programmed”. Hiểu đơn giản thì machine learning là một lĩnh vực con của khoa học máy tính, nó có có khả năng học mà không cần phải lập trình cụ thể.

Với sự phát triển của khoa học công nghệ, khả năng tính toán của máy tính ngày càng được cải thiện, chính vì vậy machine learning đã bước thêm một bước tiến mới là sự ra đời của deep learning. Deep learning lấy cảm hứng từ cấu trúc và hoạt động của não bộ được gọi là mạng thần kinh nhân tạo.
Nguồn: https://www.datasciencecentral.com/profiles/blogs/artificial-intelligence-vs-machine-learning-vs-deep-learning
2. Tổng quan

2.1. Đặt vấn đề`

Bài toán: Ủy ban thành phố X muốn khảo sát tình hình giá nhà của các hộ dân trên địa bàn thành phố dựa vào 2 tiêu chí sau: Số phòng ngủ, diện tích. Dưới đây là một số kết quả sau quá trình khảo sát:

Số phòng ngủ
Diện tích (m2)
Giá bán
3
2000
$250.000
2
800
$300.000
2
850
$150.000
1
550
$78.000
4
2000
$150.000

Đặt vấn đề: Giả sử với một căn nhà mới với số phòng ngủ là 4 với diện tích 1500 $m^2$ và căn nhà này không xuất hiện trong quá trình khảo sát thì giá là bao nhiêu???.

Giải quyết vấn đề: Để giải quyết vấn đề trên. Ủy ban thành phố X sẽ thuê người viết một ứng dụng machine learning. Ứng dụng này sẽ học từ những căn nhà trước đó đã khảo sát. Sau đó nó dự đoán giá của một ngôi nhà mới cái mà chúng chưa nhìn thấy bao giờ.

2.2. Machine learning làm gì?

a. Dữ liệu

Dựa vào hình trên ta có một số khái niệm về dữ liệu như sau:

Observation (quan sát): Mỗi căn nhà được khảo sát để lấy ra các thông tin về số phòng ngủ, diện tích, giá bán thì được xem là một quan sát.

Feature: Các thông tin của ngôi nhà như số phòng ngủ, diện tích được sử dụng để dự đoán giá nhà.

Label: Cái mà một ứng dụng machine learning cần dự đoán. Label này có thể có hoặc không tùy vào từng bài toán. Sẽ được giới thiệu ở những phần sau.

b. Chương trình machine learning làm gì?

Câu hỏi đặt ra ở đây là. Chương trình machine learning cần làm gì để dự đoán giá của một căn nhà mới dựa vào dữ liệu trên

2 quá trình của một chương trình machine learning
  • Trainning: Đây là quá trình mà chương trình machine learning học để tạo ra kiến thức và các kiến thức này thường được gọi là model
  •  Test: Đây là quá trình sử dụng model để dự đoán cho dữ liệu mới. Quá trình này sẽ có các thông số đánh giá nhằm kiểm tra chất lượng của model.
Nguồn: https://www.edureka.co/blog/what-is-machine-learning/

c. Bản chất toán học

Observation: Ký hiệu là $x$ là input của bài toán và thường có dạng là một vector $x = (x_1, x_2, x_3, … x_n)$. Mỗi $x_i$ là một feature. Ví dụ số phòng, diện tích là các feature.

Label: Ký hiệu là $y$, output của bài toán. Mỗi observation thể có hoặc không các label tương ứng tùy vào bài toán. Ví dụ giá mỗi ngôi nhà trong bài toán trên chính là 1 label

Model: Bản chất của việc học để tìm ra kiến thức hay model chính là việc tìm ra một hàm số f(x) sao cho nhận vào một observation và trả về một label $y = f(x)$

Một hàm số được xác định khi và chỉ khi ta biết:
  • Dạng của hàm số: Cái này thường được gọi là hàm giả thuyết, hàm này sẽ là khác nhau tương ứng với mỗi thuật toán khác nhau
  • Các tham số của hàm số
Ví dụ: hàm bậc 2: $f(x) = ax^2 + bx + c$. Hàm bậc 2 có dạng parabol. Và bộ ba $(a, b, c)$ chính là tham số của hàm số hay còn được gọi là parameter các parameter này được sinh ra và cập nhật liên tục trong quá trình học.

Ngoài ra, có một parameter đặc biệt nữa gọi là hyperparameter. Hyperarameter là một khái niệm mang tính tương đối và quy ước, thường chỉ các parameter có tính chất hơi mặc định. Đối với hàm đa thức thì bậc của đa thức có thể xem là một hyperparameter. Các hyperparameter được chỉ định trước quá trình học.

Ngoài ra còn có một số hyperparameter nữa sẽ được nhắc đến ở những phần sau.

Để ngắn gọn người ta thường gom tất cả parameters của model thành một vector thường được ký hiệu là $w = (a, b, c)$.

Như vậy nói tóm lại, chúng ta tìm model là tìm hàm số $f$. Để tìm được hàm số $f$ thì phải tìm các parameters của hàm số đó. Việc tìm các parameters này phải thỏa mãn các điều kiện nào đó mà mình sẽ trình bày sau.

Trên đây là tổng quan về machine learning với những khái niệm căn bản mà bạn sẽ gặp nhiều trong quá trình học tập và nghiên cứu. Nếu có câu hỏi gì vui lòng để lại comment phía dưới. Xin cảm ơn

0 nhận xét:

Đăng nhận xét