Thứ Bảy, 7/12/2019
Hotline: 02466615539. Email: tccsnd@hvcsnd.edu.vn
Vai trò của học máy trong phân tích dữ liệu trong các ứng dụng IoT

1. Giới thiệu

Học máy (Machine Learning) được giới thiệu vào cuối những năm 1950, là lĩnh vực nghiên cứu khoa học về các thuật toán và mô hình thống kê mà các hệ thống máy tính sử dụng để thực hiện một nhiệm vụ cụ thể không cần sử dụng các hướng dẫn rõ ràng, thay vào đó là dựa vào các mẫu và suy luận. Học máy được xem như một tập con của trí tuệ nhân tạo (AI - Artificial Intelligence). Các thuật toán học máy xây dựng một mô hình toán học dựa trên dữ liệu mẫu được gọi là “dữ liệu huấn luyện”, để đưa ra dự đoán hoặc quyết định mà không phải lập trình cụ thể để thực hiện nhiệm vụ.

Ngày nay, học máy nổi lên như một minh chứng của cuộc cách mạng công nghiệp lần thứ tư (1. Động cơ hơi nước; 2. Năng lượng điện; 3. Công nghệ thông tin). Học máy đang len lỏi vào mọi lĩnh vực trong đời sống con người mà có thể chúng ta không nhận ra. Trên thế giới, nhiều tập đoàn công nghệ nổi tiếng đã lấy nền tảng của trí tuệ nhân tạo và học máy cho ra đời nhiều ứng dụng như: Xe tự hành của Google và Tesla, hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netflix, dịch vụ lọc email độc hại tự động, dịch vụ phát hiện trang web lừa đảo Safe Browsing của Google và rất nhiều ứng dụng, dịch vụ khác.

Thông qua học máy các hệ thống máy tính học cách thực hiện các nhiệm vụ như: Phân loại, phân cụm, dự đoán, nhận dạng mẫu, ... Để lưu trữ quá trình học, các hệ thống được huấn luyện sử dụng các thuật toán và mô hình thống kê khác nhau để phân tích dữ liệu mẫu. Dữ liệu mẫu thông thường là những đặc tính có thể đo được gọi là đặc trưng và thuật toán học máy cố gắng tìm mối tương quan giữa các đặc trưng (feature) và một giá trị đầu ra được gọi là nhãn (label) [1]. Sau khi tiến hành huấn luyện trên tập dữ liệu mẫu (dataset) thông tin thu được sẽ sử dụng để xác định khuôn mẫu (pattern) hoặc đưa ra quyết định dựa trên dữ liệu mới.

 

Minh họa quy trình phát hiện phần mềm độc hại trên thiết bị IoT sử dụng các thuật toán học máy

2. Phân loại các thuật toán học máy

Tùy thuộc vào cách học, các thuật toán học máy có thể được nhóm thành bốn loại [2]:

- Học có giám sát (Supervised Learning): Học có giám sát giải quyết các vấn đề liên quan đến hồi quy áp dụng giải quyết các vấn đề như: Dự báo thời tiết; dự đoán tăng trưởng dân số..., sử dụng các thuật toán Hồi quy tuyến tính (Linear Regression) hoặc Rừng ngẫu nhiên (Random Forest). Ngoài ra, học có giám sát có thể giải quyết các vấn đề phân loại như: Nhận dạng chữ số; nhận dạng giọng nói; chuẩn đoán và phát hiện gian lận - lừa đảo,... sử dụng các thuật toán như: Support Vector Machines, Recent Neighbor, Random Forest. Phương pháp học có giám sát gồm hai giai đoạn: Giai đoạn huấn luyện và giai đoạn thử nghiệm. Các bộ dữ liệu được sử dụng trong giai đoạn huấn luyện cần phải có nhãn đã biết. Các thuật toán tìm mối liên quan giữa giá trị đầu vào và nhãn và cố gắng dự đoán các giá trị đầu ra của dữ liệu thử nghiệm.

- Học không giám sát (Unsupervised Learning): Học không giám sát liên quan đến các vấn đề giảm kích thước đặc trưng sử dụng để trực quan hoá dữ liệu lớn, khai phá đặc trưng, khám phá các cấu trúc ẩn. Hơn nữa, học không giám sát được sử dụng  cho các vấn đề phân cụm được áp dụng trong các bài toán như: Hệ thống khuyến nghị; tìm ra phân khúc khách hàng và tiếp thị mục tiêu. Trái với phương pháp học có giám sát, dữ liệu đầu vào không có nhãn. Các thuật toán trong danh mục này cố gắng xác định các khuôn mẫu trên dữ liệu thử nghiệm và phân cụm dữ liệu hoặc dự đoán các giá trị trong tương lai [3].

- Học bán giám sát (Semi-supervised Learning): Đây là sự kết hợp của hai phương pháp học có giám sát và không giám sát, trong đó sử dụng cả dữ liệu có sẵn nhãn và dữ liệu không nhãn. Nó hoạt động chủ yếu giống như việc học tập không giám sát với những cải tiến mà một phần dữ liệu được dán nhãn có thể mang lại [1].

- Học tăng cường (Reinforcement Learning): Trong kiểu học này, các thuật toán cố gắng dự đoán đầu ra cho một vấn đề dựa trên một tập các tham số điều chỉnh. Sau đó, đầu ra được tính toán trở thành một tham số đầu vào và đầu ra mới được tính cho đến khi thấy đầu ra tối ưu. Các thuật toán học máy được sử dụng cho kiểu học này như: Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) và Deep Learning. Học tăng cường chủ yếu được sử dụng trong phát triển các ứng dụng giải trí AI, thu nhận kỹ năng, điều hướng rô-bốt và quyết định thời gian thực [3].

3. Một số thuật toán học máy

Để hiểu rõ vai trò của học máy trong phân tích dữ liệu cho IoT, bài viết trình bày một số thuật toán phân lớp dữ liệu trong việc xây dựng một hệ thống thông minh cho phát hiện trang web lừa đảo tự động, cụ thể như sau:

3.1. Thuật toán Naive Bayes

Naive Bayes là một thuật toán dựa trên định lý Bayes về lý thuyết xác suất để đưa ra các phán đoán cũng như phân loại dữ liệu. Naive Bayes giả định rằng tất cả các đặc trưng của "x" là độc lập với nhau. P(x|y) biểu thị xác suất có điều kiện của véc-tơ đặc trưng cho một lớp. Bằng cách áp dụng lý thuyết Bayes, ta có thể tính xác suất để một véc-tơ đặc trưng "x" là một trang lừa đảo bằng cách:

 

Thuật toán Naive Bayes phân loại dễ dàng nhất bằng cách tính xác suất có điều kiện P(xi|y) từ ước lượng hợp lý cực đại (Maximum Likehood Estimation) [4]

3.2. Thuật toán Hồi quy Logistic (Logistic Regression - LR)

Phương pháp Hồi quy Logistic là một phương pháp sử dụng mô hình hồi quy nhằm dự đoán giá trị đầu ra rời rạc "y", ứng với một véc-tơ đầu vào "x". Phương pháp này thường được sử dụng để dự báo sự có hay không có mặt của biến phụ thuộc "y", dựa vào giá trị của biến độc lập "x".

Theo mô hình Hồi quy Logistic, quan hệ giữa xác suất trang Web lừa đảo (y=1) và các yếu tố ảnh hưởng được thể hiện:

Tối ưu hàm Hồi quy Logistic có thể được tính toán theo công thức:

Trong đó, "t" là kích cỡ tập dữ liệu trang Web lừa đảo, "yt" là lớp tương ứng của dữ liệu thứ "t" trong tập dữ liệu  "ơ" (w^T x+ b).

3.3. Thuật toán Support Vector Machine (SVM)

SVM là một thuật toán học máy có giám sát phổ biến dùng để phân chia dữ liệu thành các nhóm riêng biệt. Thuật toán sẽ tìm một đường thẳng (trong không hai chiều) hoặc mặt phẳng (trong không gian đa chiều) cũng được gọi là siêu phẳng sẽ phân tách hiệu quả nhất hai lớp. Siêu phẳng này sau đó được dùng để phân lớp cho các dữ liệu chưa biết cần tiên đoán.

 

Mô phỏng siêu phẳng trong không gian hai chiều và ba chiều

Siêu phẳng tối ưu là siêu phẳng có khoảng cách với hai điểm dữ liệu gần nhất tương ứng với hai lớp là lớn nhất. Phương trình chứa các điểm dữ liệu này gọi là các lề (margin). Do đó, siêu phẳng tối ưu là siêu phẳng có khoảng cách giữa nó và lề là xa nhất.

Siêu phẳng trong không gian d chiều được biểu diễn bằng công thức:

WTx + b = 0

Khi đó khoảng cách được tính bằng công thức:

SVM luôn cố gắng cực đại hoá khoảng cách này, từ đó thu được một siêu phẳng tạo khoảng cách xa nhất. Bài toán tối ưu là bài toán tìm "w" và "b" sao cho:

Nhờ đó mà SVM có thể giảm thiểu việc phân lớp sai đối với dữ liệu mới đưa vào.

3.4. Thuật toán Rừng ngẫu nhiên (Random Forest - RF)

Rừng ngẫu nhiên [5] tạo ra một tập hợp các cây quyết định không cắt nhánh, mỗi cây được xây dựng dựa trên tập mẫu ngẫu nhiên có hoàn lại (bootstrap). Các thuộc tính tại mỗi nút con được chọn ngẫu nhiên từ không gian thuộc tính ban đầu.

Thủ tục xây dựng rừng ngẫu nhiên gồm ba pha:

- Pha thứ nhất: Tạo dữ liệu (tạo vector ngẫu nhiên);

- Pha thứ hai: Xây dựng các cây cơ sở;

- Pha thứ ba: Kết hợp các cây cơ sở theo phương thức bỏ phiếu.

 

Sơ đồ giải thuật rừng ngẫu nhiên

Thuật toán xây dựng rừng ngẫu nhiên:

+ Bước 1. Với k = 1, đến L thực hiện:

1.1. Lấy ngẫu nhiên m đặc trưng {A_i1^k,…,A_im^k } của D;

1.2. Lấy ngẫu nhiên tập Rk gồm M dữ liệu trong D;

1.3. Dk = Hình chiếu của Rk lên các đặc trưng {A_i1^k,…,A_im^k };

1.4. Xây dựng cây Tk từ tập Dk; có bộ nhận dạng Ck

+ Bước 2. Kết hợp bỏ phiếu chọn số đều 〖{C_k}〗_l^L=1

Đầu ra của hệ cho đối tượng "x" sẽ là:

- Đối với bài toán hồi quy:

- Đối với bài toán phân lớp:

 4. Kết luận

Có thể nói, học máy sẽ phủ khắp mọi lĩnh vực trong cuộc sống trong tương lai. Nhờ có học máy, các công việc như: Dự báo thời tiết sẽ được chính xác hơn; trong y tế, việc hỗ trợ bác sĩ nhanh chóng và dễ dàng khi lên phác đồ điều trị phù hợp; với giáo dục, việc trao đổi thông tin trong nghiên cứu khoa học giữa các cơ sở đào tạo và giữa các nhà khoa học sẽ trở nên dễ dàng hơn. Tuy nhiên, để máy tính có thể học tốt, nó phải có khả năng xử lý dữ liệu tốt hơn: Dữ liệu được sinh ra từ việc giao tiếp giữa con người với những loại thiết bị máy móc. Khi máy giao tiếp với người, nó phải tiếp nhận được dữ liệu mà người cung cấp cho máy, hiểu những thông tin mà con người truyền đạt cho nó.

Vấn đề cốt lõi của học máy chính là vấn đề suy diễn từ dữ liệu. So với thống kê cổ điển, điểm mới ở đây là máy phải thực hiện một cách hiệu quả các phép suy diễn và học tập từ dữ liệu bằng các thuật toán phù hợp và cơ sở quản lý dữ liệu đồ sộ của máy tính. Do đó, học máy cũng được xem là một trong những lĩnh vực tiên phong của thống kê hiện đại nói riêng và khoa học dữ liệu nói chung. Vì vậy, với sự phát triển của dữ liệu lớn được sinh ra từ các ứng dụng trong IoT, việc sử dụng các thuật toán học máy thực hiện trích xuất thông tin cho ra những dữ liệu thông minh là một nhiệm vụ cấp bách hơn bao giờ hết.

Thượng úy Phạm Ngọc Thọ

Bộ môn Toán Tin-Học viện CSND

Tài liệu tham khảo:

- M. Mohammed, M. Khan và E. Bashier, “Machine Learning: Algorithms and Applications,” trong Crc Press: Boca Raton, FL, USA, 2016.

- F. Zantalis, G. Koulouras, S. Karabetsos và D. Kandris, “A Review of Machine Learning and IoT in Smart Transportation,” trong Future Internet, 2019.

- M. Kubat, “An Introduction to Machine Learning,” trong Springer: Cham, Switzerland, 2017.

- J. Ma, L. K. Saul, S. Savage và G. M. Voelker, “Beyond Blacklists: Learning to Detect Malicious Website from Suspicious URLs,” trong KDD'09, Paris, France, 2009.

- L. Breiman, “Random Forests,” trong Machine Learning, tập 45, California, Statistics DepartmentUniversity of CaliforniaBerkeley, 2001, pp. 5-32.

 


Gửi cho bạn bè

Phản hồi

Thông tin người gửi phản hồi

Các tin khác