ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
ĐẶNG THÁI DUY
NGHIÊN CỨU HỆ THỐNG KHỐI MÁY HỌC
MLBLOCKS VÀ ỨNG DỤNG VÀO DỰ ĐỐN LỘ
TRÌNH TỐI ƯU TRONG GIAO THƠNG
LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN
Đà Nẵng - Năm 2017
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
ĐẶNG THÁI DUY
NGHIÊN CỨU HỆ THỐNG KHỐI MÁY HỌC
MLBLOCKS VÀ ỨNG DỤNG VÀO DỰ ĐỐN LỘ
TRÌNH TỐI ƯU TRONG GIAO THƠNG
Chun ngành: Hệ thống thông tin
Mã số: 60.48.01.04
LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN
Người hướng dẫn khoa học: PGS.TSKH. TRẦN QUỐC CHIẾN
Đà Nẵng - Năm 2017
i
LỜI CAM ĐOAN
Tôi xin cam đoan bản luận văn này là cơng trình nghiên cứu riêng của tơi, khơng
sao chép ở bất kỳ cơng trình khoa học nào trước đây. Các kết quả nêu trong luận văn
có nguồn gốc rõ ràng và được trích dẫn đầy đủ. Tơi xin chịu hoàn toàn trách nhiệm
về luận văn này.
Học viên
Đặng Thái Duy
ii
MỤC LỤC
DANH MỤC TỪ VIẾT TẮT....................................................................................v
DANH MỤC CÁC BẢNG ...................................................................................... vi
DANH MỤC CÁC HÌNH ...................................................................................... vii
DANH MỤC CÁC BIỂU ĐỒ ............................................................................... viii
MỞ ĐẦU ....................................................................................................................1
1. Lý do chọn đề tài ............................................................................................1
2. Mục tiêu và nhiệm vụ đề tài ...........................................................................2
3. Đối tượng và phạm vi nghiên cứu ..................................................................2
4. Giải pháp đề xuất ............................................................................................3
5. Kết quả dự kiến ..............................................................................................3
6. Bố cục của luận văn........................................................................................4
CHƯƠNG 1. TỔNG QUAN ....................................................................................5
1.1. KHÁI NIỆM MÁY HỌC .....................................................................................5
1.2. CÁC ỨNG DỤNG MÁY HỌC ............................................................................6
1.3. QUÁ TRÌNH MÁY HỌC ..................................................................................13
1.4. CÁC PHƯƠNG PHÁP MÁY HỌC ...................................................................19
1.4.1. Phương pháp học không giám sát (Unsupervised Learning)...................20
1.4.2. Phương pháp học bán giám sát (Semi-Supervised Learning) .................20
1.4.3. Phương pháp học có giám sát (Supervised Learning) .............................24
1.4.4. Học tăng cường (reinforcement learning) ...............................................25
1.5. TIỂU KẾT CHƯƠNG ........................................................................................28
CHƯƠNG 2. THIẾT KẾ VÀ THỰC THI KHỐI MÁY HỌC MLBLOCKS ...29
2.1. TỔNG QUAN.....................................................................................................29
2.2. KHÁI NIỆM MLBLOCK ..................................................................................30
2.3. CÁC ỨNG DỤNG MLBLOCK .........................................................................31
2.3.1. Một số công cụ khai phá dữ liệu ..............................................................31
2.3.2. Ngơn ngữ lập trình và thư viện cho ML ..................................................34
2.3.3. Công cụ thế hệ 2.0 ...................................................................................36
iii
2.3.4. Mơ hình chung cho các bài tốn Machine Learning ...............................39
2.3.5. Mơ hình khối máy học MLBlocks ...........................................................42
2.4. THIẾT KẾ VÀ THỰC THI MLBLOCK CHO DỰ ĐỐN LỘ TRÌNH GIAO
THƠNG .....................................................................................................................43
2.4.1. Mơ hình đề xuất ......................................................................................44
2.4.2. Sử dụng mơ hình .....................................................................................45
2.5. TIỂU KẾT CHƯƠNG ........................................................................................46
CHƯƠNG 3. ỨNG DỤNG MLBLOCKS TRONG VIỆC DỰ ĐỐN LỘ
TRÌNH TỐI ƯU TRONG GIAO THƠNG TẠI THÀNH PHỐ ĐÀ NẴNG ......47
3.1. THỰC TRẠNG VÀ GIẢI PHÁP .......................................................................47
3.1.1. Thực trạng giao thông tại thành phố Đà nẵng .........................................47
3.1.2. Giải pháp ..................................................................................................49
3.2. CÁC BƯỚC XÂY DỰNG MƠ HÌNH DỰ ĐỐN LỘ TRÌNH GIAO THƠNG .
............................................................................................................................51
3.2.1. Bước 1: Dữ liệu thực nghiệm ..................................................................51
3.2.2. Bước 2: Chia dữ liệu training và test .......................................................58
3.2.3. Bước 3: Huấn luyện .................................................................................59
3.2.4. Bước 4: Thực hiện phân lớp ....................................................................61
3.2.5. Bước 5: Tìm đường đi ngắn nhất .............................................................63
3.3. KẾT QUẢ THỰC NGHIỆM..............................................................................69
3.3.1. Cài đặt môi trường thực nghiệm ..............................................................69
3.3.2. Thực nghiệm test 70-30 ...........................................................................70
3.3.3. Thực nghiệm Test Cross validation với dữ liệu thông thường ................72
3.3.4. Thực nghiệm Test Cross validation với dữ liệu xét đến ngày nghỉ lễ .....75
3.3.5. Biểu đồ so sánh kết quả thực nghiệm giữa dữ liệu bình thường và dữ liệu
có xét đến ngày nghỉ lễ......................................................................................78
3.3.6. Thực nghiệm với các mức độ tắc đường khác nhau ................................79
3.3.7. Biểu đồ so sánh kết quả thực nghiệm với các mật độ giao thông khác
nhau .................................................................................................................80
iv
3.3.8. Thực nghiệm tìm đường đi ngắn nhất .....................................................81
3.4. TIỂU KẾT CHƯƠNG ........................................................................................81
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TƯƠNG LAI .....................................82
TÀI LIỆU THAM KHẢO ......................................................................................83
QUYẾT ĐỊNH GIAO ĐỀ TÀI (Bản sao)
v
DANH MỤC TỪ VIẾT TẮT
STT
1
2
3
4
5
6
7
Nghĩa đầy đủ
Từ viết tắt
SVM
Support Vector Machine
WEKA
Waikato Environment for Knowledge Analysis
VSL
Variable Speed Limit
DT
Decision
Tree
NB
Navie Bayes
NN
Neural Network
NLP
Natural Language Processing
vi
DANH MỤC CÁC BẢNG
Số hiệu
bảng
Tên bảng
Trang
3.1.
Cấu hình máy chủ trong thực nghiệm
69
3.2.
Test 70-30 - Kết quả test mơ hình Decision Tree
70
3.3.
Test 70-30 - Kết quả test mơ hình SVM
70
3.4.
Test 70-30 - Kết quả test mơ hình Nạve Bayes
71
3.5.
Test 70-30 - Kết quả test mơ hình Neural Network
71
3.6.
Test 70-30 - So sánh kết quả phân lớp sử dụng SVM,
Navies Bayes, J48 và Neural Network với bộ phân lớp là
6.
72
3.7.
Test Cross Validation - Kết quả test mơ hình Decision
Tree
73
3.8.
Test Cross Validation - Kết quả test mơ hình SVM
74
3.9.
Test Cross Validation - Kết quả test mơ hình Nạve
Bayes
74
3.10.
Test Cross Validation - Kết quả test mơ hình Neural
Network
75
3.11.
Test Cross - So sánh kết quả phân lớp sử dụng SVM,
Navies Bayes, J48 và Neural Network.
75
3.12.
Test Cross Validation - Kết quả test mơ hình Decision
Tree
76
3.13.
Test Cross Validation - Kết quả test mơ hình SVM
76
3.14.
Test Cross Validation - Kết quả test mơ hình Nạve
Bayes
77
3.15.
Test Cross Validation - Kết quả test mơ hình Neural
Network
77
vii
DANH MỤC CÁC HÌNH
Số hiệu
hình
Tên hình
Trang
2.1.
Vai trò của Azure trong quy trình Machine Learning.
38
2.2.
Mơ hình chung cho các bài tốn Machine Learning.
39
2.3.
Mơ hình chung của khối máy học
42
2.4.
Ví dụ một mơ hình khối máy học lấy ý tưởng từ một
điểm giao thơng
43
2.5.
Mơ hình Dự đốn lộ trình Giao thơng
45
3.1.
Tổng quan về tình trạng giao thơng
48
3.2.
Minh họa giải pháp tìm lộ trình giao thơng
51
3.3.
Test 70-30 – Dữ liệu training
59
3.4.
Test 70-30 – Dữ liệu Test
59
3.5.
Lựa chọn bộ dữ liệu huấn luyện
60
3.6.
Thông tin dữ liệu huấn luyện
60
3.7.
Thông tin tập Quan hệ hiện tại
60
3.8.
Thông tin các Attributes
61
3.9.
Thơng tin chi tiết của các Attributes
61
3.10.
Màn hình phân lớp dữ liệu
62
3.11.
Chức năng chọn bộ phân lớp
62
3.12.
Các phương thức test
63
3.13.
Kết quả output phân lớp dữ liệu
63
3.14.
Test Cross Validation – Dữ liệu training
73
3.15.
Thực nghiệm tìm đường đi ngắn nhất
81
viii
DANH MỤC CÁC BIỂU ĐỒ
Số hiệu
biểu đồ
Tên biểu đồ
Trang
Biểu đồ 3.1.
So sánh Dữ liệu thơng thường và Dữ liệu có ngày nghỉ
lễ
78
Biểu đồ 3.2.
Kết quả thực nghiệm với các mật độ giao thông khác
nhau
80
1
MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay, chúng ta đang sống trong một thế giới tràn ngập bởi các dữ liệu. Mỗi
ngày một lượng dữ liệu lớn được tạo ra trên nhiều thiết bị và những dữ liệu đó là nền
tảng để chúng ta rút trích thơng tin. Một ví dụ đơn giản như sau: Trong một ngày,
người dùng Facebook sử dụng khoảng 500 Terabytes, chúng ta có thể hình dung 1
GB có thể lưu trữ khoảng 7 phút video chất lượng HD, do đó 500 Terabytes tương
ứng với 6 năm Video chất lượng HD.
Với lượng dữ liệu lớn như vậy, vấn đề được đặt ra ở đây là: “Làm thế nào chúng
ta có thể sử dụng dữ liệu này một cách có ý nghĩa để cải thiện và tác động vào cuộc
sống của chúng ta?”, “Làm thế nào chúng ta có thể trích xuất thơng tin có ý nghĩa để
phân tích hoặc xây dựng các thuật tốn phức tạp để giải quyết các vấn đề xã hội như
chống gian lận, hỗ trợ chăm sóc sức khỏe qua y học, hỗ trợ giải quyết vấn đề giao
thông hoặc cải thiện giáo dục”.
Đây chính là cơng việc của một nhà khoa học dữ liệu, khai phá dữ liệu, quyết
định phải truy vấn gì, rút trích những thơng tin gì, các phương pháp sử dụng để rút
trích thơng tin là gì và làm thế nào để sử dụng chúng một cách hiệu quả, từ đó có thể
xây dựng được các mơ hình dự báo, dự đốn hỗ và cải thiện cuộc sống con người.
Máy học là một lĩnh vực quan trọng trong tin học. Mục tiêu chính của máy học
là tạo ra các phương pháp và chương trình làm cho máy tính có thể học như con
người. Lĩnh vực máy học có quan hệ mật thiết với lĩnh vực phát hiện tri thức, từ đó
nó rút trích và đưa ra những thơng tin hay những dự báo cần thiết, có ý nghĩa.
Để sử dụng các dữ liệu một cách có ý nghĩa và thiết thực, tôi ứng dụng sức mạnh
của công nghệ thông tin trong lĩnh vực máy học để làm việc với tập dữ liệu. Vì thế,
tơi thực hiện đề tài “Nghiên cứu hệ thống các khối máy học MLBlocks và ứng
dụng vào dự đốn lộ trình tối ưu trong giao thông thành phố Đà Nẵng”. Trong
đề tài, tôi sẽ đi sâu nghiên cứu về khối máy học MLBlocks và tôi ứng dụng vào thực
tiễn bằng việc áp dụng khối máy học MLBlocks để dự đốn lộ trình tối ưu trong giao
thơng thành phố Đà Nẵng. Từ đó, chúng ta sẽ có cách nhìn rõ nét hơn về máy học,
2
hiểu được tầm quan trọng và tính thực tiễn của máy học trong cuộc sống con người.
2. Mục tiêu và nhiệm vụ đề tài
Mục tiêu
Tìm hiểu về máy học làm nền tảng cho việc khai thác kho dữ liệu.
Thiết kế và kiến tạo mơ hình của khối máy học MLBlocks phục vụ cho việc rút
trích thơng tin có ý nghĩa, xây dựng các mơ hình dự đốn áp dụng vào thực tế cuộc
sống con người.
Tìm hiểu một số ứng dụng trong thực tế của hệ thống khối máy học MLBlocks.
Ứng dụng hệ thông máy học MLBlocks vào trong việc dự đốn điểm đến trong
bài tốn giao thơng.
Nhiệm vụ
Để đạt được mục tiêu trên, nhiệm vụ của tôi là nghiên cứu và xây dựng tập dữ
liệu ban đầu để phục vụ việc dự đoán điểm đến rên địa bàn thành phố Đà Nẵng.
- Nguyên cứu lý thuyết: Bao gồm lý thuyết khai phá dữ liệu, lý thuyết máy
học.
- Phân tích thiết kế hệ thống: Vận dụng lý thuyết máy học, xây dựng và thiết
kế hệ thống khối máy học MLBlocks.
- Xây dựng hệ thống ứng dụng: Tiến hành thu thập số liệu, cập nhật bản đồ
giao thông thành phố Đà Nẵng, xây dựng cơ sở tri thức. Trên cơ sở đó ứng dụng
MLBlock vào dự đốn điểm đến cho giao thơng thành phố Đà Nẵng.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
-
Nghiên cứu lý thuyết cơ bản khai phá dữ liệu, hệ chuyên gia, máy học.
-
Nghiên cứu, tìm hiểu lý thuyết về khối máy học MLBlocks và tìm hiểu một
số ứng dụng thực tế của MLBlock.
-
Nghiên cứu bản đồ thành phố Đà Nẵng.
3.2. Phạm vi nghiên cứu
- Nghiên cứu về việc thiết kế và thực thi MLBlocks.
- Dữ liệu bản đồ của địa bàn thành phố Đà Nẵng.
3
- Ứng dụng của đề tài chỉ giới hạn trong phạm vi thành phố Đà Nẵng.
3.3 Phương pháp nghiên cứu
Để hồn thành mục tiêu đề ra, tơi chọn phương pháp nghiên cứu lý thuyết và
tiến hành xây dựng ứng dụng thực nghiệm. Cụ thể như sau:
- Về lý thuyết: Tham khảo các tài liệu lý thuyết liên quan.
- Về thực nghiệm:
+ Thu thập số liệu bản đồ giao thông để xây dựng cơ sở tri thức.
+ Ứng dụng MLBlocks trên số liệu thu thập được.
4. Giải pháp đề xuất
Ứng dụng MLBlocks vào bài tốn giao thơng, mơ hình MLBlocks sẽ được xây
dựng như một đồ thị có hướng, các đường đi đều xuất phát từ nút triết xuất ban đầu.
Từ nút này, dữ liệu sẽ được diễn giải và tổng hợp. Sau đó, dữ liệu rút trích sẽ được
phân loại, rồi chúng sẽ được đưa vào huấn luyện và từ đó rút ra các dự đốn cần thiết.
5. Kết quả dự kiến
5.1. Lý thuyết
- Nắm được lý thuyết máy học.
- Nghiên cứu các thuật toán Vector máy học; K-Nearest Neighbor; cây quyết
định; rừng ngẫu nhiên; Naive Bayes để làm cơ sở cho các nút phân tích dữ liệu.
- Nắm được quá trình thiết kế và thực thi hệ thống khối máy học MLBlocks
4
giúp ích rất nhiều trong cuộc sống của con người. Thành cơng của MLBlocks giúp
con người có thể dự báo được những thiên tai có thể xảy ra, …
5.2. Thực tiễn
Ứng dụng hệ thống khối máy học MLBlocks trong việc dự đốn điểm đến trong
giao thơng tại thành phố Đà Nẵng.
6. Bố cục của luận văn
Báo cáo của luận văn dự kiến tổ chức thành 3 chương chính như sau:
CHƯƠNG 1: TỔNG QUAN VỀ MÁY HỌC
Trình bày lý thuyết tổng quan về bài toán máy học và một số phương pháp làm
nền tảng cho việc xây dựng và thiết kế khối máy học.
CHƯƠNG 2: THIẾT KẾ VÀ THỰC THI KHỐI MÁY HỌC MLBLOCKS
Trình bày khái niệm và mơ hình MLBlocks, nghiên cứu cách thức xử lý dữ liệu
và kết xuất dữ liệu của MLBlocks, từ đó đưa ra mơ hình khối máy học có thể áp dụng
để giải quyết bài tốn tối ưu trong giao thơng.
CHƯƠNG 3: ỨNG DỤNG MLBLOCKS TRONG VIỆC DỰ ĐỐN LỘ
TRÌNH TỐI ƯU TRONG GIAO THƠNG TẠI THÀNH PHỐ ĐÀ NẴNG
Trình bày q trình dự đốn lộ trình tối ưu trong giao thơng thành phố Đà Nẵng
qua việc áp dụng hệ thống MLBlocks. Trong chương này sẽ trình bày chi tiết bài tốn
tối ưu lộ trình giao thơng qua việc mơ tả q trình xử lý dữ liệu đầu vào và đánh giá
độ chính xác của kết quả thực nghiệm thu được.
5
CHƯƠNG 1. TỔNG QUAN
1.1. KHÁI NIỆM MÁY HỌC
Học máy (Machine Learning) là một ngành khoa học nghiên cứu các thuật tốn
cho phép máy tính có thể học được các khái niệm (concept)[1].
Phân loại: Có hai loại phương pháp học máy chính[4]:
Phương pháp quy nạp: Máy học/phân biệt các khái niệm dựa trên dữ liệu đã
thu thập được trước đó. Phương pháp này cho phép tận dụng được nguồn dữ liệu rất
nhiều và sẵn có.
Phương pháp suy diễn: Máy học/phân biệt các khái niệm dựa vào các luật.
Phương pháp này cho phép tận dụng được các kiến thức chuyên ngành để hỗ trợ máy
tính.
Hiện nay, các thuật tốn đều cố gắng tận dụng được ưu điểm của hai phương
pháp này.
Các ngành khoa học liên quan:
Lý thuyết thống kê: các kết quả trong xác suất thống kê là tiền đề cho rất nhiều
phương pháp học máy. Đặc biệt, lý thuyết thống kê cho phép ước lượng sai số của
các phương pháp học máy.
Các phương pháp tính: các thuật tốn học máy thường sử dụng các tính tốn
số thực/số nguyên trên dữ liệu rất lớn. Trong đó, các bài tốn như: tối ưu có/khơng
ràng buộc, giải phương trình tuyến tính v.v… được sử dụng rất phổ biến.
Khoa học máy tính: là cơ sở để thiết kế các thuật toán, đồng thời đánh giá thời
gian chạy, bộ nhớ của các thuật tốn học máy.
Các nhóm giải thuật học máy:
Học có giám sát: Máy tính được xem một số mẫu gồm đầu vào (input) và đầu
ra (output) tương ứng trước. Sau khi học xong các mẫu này, máy tính quan sát một
đầu vào mới và cho ra kết quả.
Học khơng giám sát: Máy tính chỉ được xem các mẫu khơng có đầu ra, sau đó
máy tính phải tự tìm cách phân loại các mẫu này và các mẫu mới.
6
Học nửa giám sát: Một dạng lai giữa hai nhóm giải thuật trên.
Học tăng cường: Máy tính đưa ra quyết định hành động (action) và nhận kết
quả phản hồi (response/reward) từ mơi trường (environment). Sau đó máy tính tìm
cách chỉnh sửa cách ra quyết định hành động của mình.
1.2. CÁC ỨNG DỤNG MÁY HỌC
Ứng dụng: Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản xuất,
đặc biệt những ngành cần phân tích khối lượng dữ liệu khổng lồ. Một số ứng dụng
thường thấy[4]
Xử lý ngôn ngữ tự nhiên (Natural Language Processing): xử lý văn bản, giao
tiếp người – máy…
Nhận dạng (Pattern Recognition): nhận dạng tiếng nói, chữ viết tay, vân tay,
thị giác máy (Computer Vision) …
Tìm kiếm (Search Engine)
Chẩn đốn trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn đốn tự
động.
Sinh học: phân loại chuỗi gene, q trình hình thành gene/protein
Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …
Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tỉn dụng
Phân tích thị trường chứng khốn (stock market analysis)
Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo
Rôbốt: Là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ
thần kinh/bộ não của người máy.
Đối với các hoạt động về kinh doanh, phân tích thị trường, những năm gần đây
cho thấy xu hướng bùng nổ đáng kinh ngạc về mặt nội dung trên các trang thông tin
điện tử (Website). Với hiện trạng hiện nay, Tập đoàn Dữ liệu Quốc tế IDC
(International Data Corporation) dự đốn, vào năm 2020 khơng gian số sẽ phình to
gấp 300 lần – dữ liệu tăng từ khoảng 130 tỷ GB hiện nay lên đến 40.000 tỷ GB. Dữ
liệu, thông tin trên Website sẽ đạt đến con số không thể tin được cùng với tiềm năng
to lớn trong việc khai thác dữ liệu cho các hoạt động kinh doanh, tiếp thị hiệu quả.
7
Bên cạnh đó, vấn đề then chốt nảy sinh từ xu hướng dữ liệu lớn này (còn gọi là “Big
Data”) – đó chính là não bộ của con người chỉ có thể lưu giữ nhiều nhất khoảng 1
triệu GB dữ liệu. Như vậy, với lượng dữ liệu quá lớn của thế giới trực tuyến đã vượt
quá sự kiểm soát và xử lý của não bộ. Thông tin, dữ liệu càng nhiều sẽ nâng cao khả
năng, cơ hội tiếp cận với các thông tin cần thiết để chinh phục người dùng, chính vì
vậy ngành kinh doanh, tiếp thị cần đến những hệ thống quản trị và xử lý thông tin
hiệu quả hơn – Với khả năng mở rộng tương ứng để theo kịp quy mô khổng lồ của
không gian số sắp tới. Thuật ngữ Machine learning (máy học) bắt đầu được sử dụng
phổ biến hơn bao giờ hết.
Đối với lĩnh vực giao thông đường bộ tại các thành phố đang phát triển, bài tốn
đặt ra đó là làm thế nào để giảm thiểu tình trạng ùn ứ phương tiện tham gia giao thông
trong điều kiện cơ sở hạ tầng đường bộ phát triển chậm so với mật độ dân số đang
tăng nhanh kéo theo sự bùng nổ của các phương tiện giao thơng cá nhân. Bên cạnh
đó, có rất nhiều phương pháp tối ưu lộ trình giao thơng được sử dụng với mục tiêu
cuối cùng là chọn lộ trình ngắn nhất từ điểm xuất phát đến điểm đích mà bỏ qua việc
phân tích các dữ liệu liên quan như: Giờ cao điểm, con đường thường xuyên xảy ra
tắc đường, …Việc áp dụng phương pháp Machine learning xử lý tập dự liệu đủ lớn
(dữ liệu sẽ tự phát triển và liên tục được hệ thống cập nhật, phân tích), sẽ giải quyết
triệt để và bổ khuyết cho các giải pháp tối ưu lộ trình giao thơng hiện nay vốn bị hạn
chế trong các điều kiện thiếu thông tin, thông tin động.
Hiểu đơn giản, Machine learning là một lĩnh vực của trí tuệ nhân tạo liên quan
đến việc phát triển các phương pháp kỹ thuật, cho phép máy móc “học” tự động từ
dữ liệu để hỗ trợ con người giải quyết vấn đề nhanh chóng với một lượng thơng tin
khổng lồ phát sinh hàng ngày. Có thể nói động lực của Machine learning xuất phát từ
nhu cầu thu nhận kiến thức ngày càng gia tăng trong khi nguồn lực con người đáp
ứng cho nhu cầu này chỉ có giới hạn.
Để hiểu rõ vai trò ngày càng to lớn và ứng dụng rộng rãi của Machine learning,
nên bắt đầu tìm hiểu từ hệ thống phân loại Internet từ những ngày đầu mới xuất hiện.
Machine learning gắn liền với quá trình phát triển Internet
8
Thực tế, Machine learning xuất hiện trước cả Internet, nhưng chỉ dưới dạng
những thuật toán cơ bản giúp phân loại thư rác (thuật toán Perceptron). Dần dần khi
Internet ra đời và có những bước tiến mới, Machine learning mới phát triển song hành
và ngày càng hoàn thiện hơn.
Từ khi Internet ra đời vào những năm 1970, lượng thông tin con người tích lũy
được cũng khơng phải là nhỏ. Tuy nhiên lúc ấy chúng ta khơng biết làm gì với đống
dữ liệu này ngoài việc chép và lưu trữ. Mãi cho đến khi Internet phát triển, ngày càng
có nhiều kết nối, cùng với sự xuất hiện của mạng xã hội khiến nhu cầu chia sẻ thơng
tin tăng trưởng chóng mặt, các nhà khoa học nhận ra rằng đằng sau những dữ liệu
khổng lồ này là lượng tri thức vơ giá. Đó là lúc “Big Data” chính thức ra đời.
Lúc này, để hiểu được giá trị ẩn chứa trong Big Data cũng như khai thác chúng
trên qui mô lớn, con người cần đến những tài nguyên công nghệ – mà mấu chốt chính
là Machine learning.
Cịn nhớ sự ra đời của Yahoo (năm 1994) như một Website phục vụ tìm kiếm
những trang Website hay hoặc các thơng tin hữu ích,… – những nhu cầu đang rất phổ
biến trong giai đoạn này. Thành công của Yahoo dựa trên hoạt động lưu vết các trang
thông tin điện tử, lưu lại các địa chỉ được yêu thích này dưới dạng các danh mục đặc
trưng mà sau đó được sử dụng để cung cấp thơng tin cho người dùng đang tìm kiếm.
Tuy nhiên khi Internet bắt đầu phát triển, hệ thống này nhanh chóng bộc lộ tính
khơng hiệu quả. Đơn giản vì nó q thủ cơng nên không thể mở rộng, nâng cấp thêm
nữa.
Lúc này, Google dần nổi lên và thống trị nhờ sức sáng tạo trong việc hiểu về
các Website. Thông qua việc không ngừng phát triển các thuật toán Machine learning,
Google đã tạo ra một hệ thống chuyên thu thập, phân tích về những ‘dự định’ và ‘giá
trị’ của Website. Quá trình này tập trung vào các tiêu chí như: ‘có bao nhiêu lượt truy
cập đến Website từ liên kết ngồi’ hay ‘loại từ khóa nào có giá trị gắn kết với Website
cao nhất’,…
Theo bước phát triển của dữ liệu, tiềm năng của Machine learning ứng dụng vào
cuộc sống hằng ngày của con người không còn là câu hỏi mà đã trở thành thực tế vì
9
những giá trị to lớn nó mang lại trong khả năng thu thập, phân tích dữ liệu và hỗ trợ
ra quyết định. Nhưng cần phải nhìn nhận rằng Machine learning chỉ là một công cụ
đầy sức mạnh hỗ trợ cho hoạt động của con người, chứ không phải “liều thuốc trị
bách bệnh” khiến con người có thể để mặc mọi vấn đề cho máy tính và các thuật tốn
xử lý.
Machine learning và vai trò của con người
Dù một hệ thống có sự phát triển tiên tiến về mặt cơng nghệ như thế nào đi nữa,
nó vẫn khơng bao giờ có thể thay thế được con người.
Máy móc có sức mạnh trong việc tìm kiếm những mẫu hình liên quan đến hành
vi khách hàng, có thể nắm bắt tín hiệu dự định hoặc dự báo hành vi, nhưng lại không
thể viết một bài báo giúp tạo động lực thúc đẩy người tiêu dùng mua sắm. Nó có thể
tiết lộ thứ khách hàng mục tiêu muốn đọc nhưng lại không thể tạo nên chính những
nội dung này.
Tương tự như vậy, vai trị của Machine learning chính là cung cấp những hiểu
biết chuyên sâu cần để tối ưu hóa việc sản xuất nội dung, còn lĩnh vực sáng tạo thuộc
về trách nhiệm của con người.
Machine learning hỗ trợ đưa ra các quyết định thông minh
Machine learning ngày càng thống trị trong nhiều mảng cơng nghệ khác nhau.
Nó có thể là những cơng cụ đơn giản nhất như kiểm tra lỗi chính tả khi viết bài, hay
thiết lập chế độ tự động loại bỏ thư rác trong hộp thư điện tử. Mở rộng hơn, quy trình
Machine learning còn được ứng dụng trên các mạng xã hội như Facebook, Twitter,
Instagram, Google+ (giúp đưa ra các nội dung đề nghị), hay trên các nền tảng Website
(giúp đưa ra lời khuyên dựa trên dự đoán về hành vi, sở thích của người dùng)[5][6].
Trong lĩnh vực kinh doanh, Machine learning sẽ mang lại cơ hội hiểu biết sâu
hơn về hành vi mua sắm của khách hàng. Nó giúp “thuần hóa” lượng dữ liệu khổng
lồ sẵn có thành những hiểu biết có giá trị về các điểm tiếp xúc và hành vi khách hàng.
Thay vì cố gắng tìm hiểu ý định của người dùng theo cách thủ công, các doanh nghiệp
có thể dựa trên việc phân tích dữ liệu để mang lại một bức tranh rõ nét hơn về ‘sản
phẩm khách hàng đang quan tâm’ hoặc ‘xu hướng mua sắm của khách hàng’.
10
Quy trình xử lý ngơn ngữ tự nhiên (NLP – Natural Language Processing) là một
trong những ứng dụng Machine learning cực kỳ hữu ích cho hoạt động tiếp thị. Nói
nơm na là làm cho máy tính có thể hiểu được ngơn ngữ của con người. Bước đầu
NLP phân tích nội dung dựa trên các chủ đề, sau đó nhóm chúng thành từng danh
mục riêng và hiểu rõ từng đối tượng nào quan tâm đến từng danh mục nào.
Ví dụ nội dung Website có thể được nhóm thành mục B2B và B2C, và trong
từng mục sẽ được chia nhỏ thành nhiều chủ đề khác nhau như “personalization” (cá
nhân hóa), “technology” (cơng nghệ), hay “machine learning” (Máy học). Khi người
dùng truy cập Website và bắt đầu phát ra tín hiệu về mối quan tâm đối với một nội
dung nào đó, hệ thống Machine learning có thể hiểu đâu là thứ người này quan tâm
và loại hình tiếp thị nào có thể phù hợp nhất giúp thúc đẩy hành động. Từ những hiểu
biết này, hệ thống máy học có thể nhóm người dùng vào những phân khúc nhất định
để nhắm mục tiêu quảng cáo một cách phù hợp nhất.
Machine learning và tiếp thị nội dung
Khi công nghệ Machine learning bắt đầu chứng minh giá trị của mình, nó nhanh
chóng được tích hợp vào các cơng cụ giúp tối ưu hóa nội dung tiếp thị.
Ví dụ như cơng nghệ Vedo Intent của DataSift cũng sử dụng Machine learning
để giúp doanh nghiệp nắm bắt xu hướng của các khách hàng tiềm năng thông qua
mạng xã hội. Dựa vào những thơng tin dự đốn mà hệ thống này mang lại, những sản
phẩm/dịch vụ mới sẽ được đưa vào kế hoạch sản xuất. Như vậy từ một hệ thống
phỏng đốn và ước tính liên tục, hệ thống này đã trở thành một hệ thống hiệu quả và
mang về lợi nhuận[7].
Khi hệ thống xử lý ngôn ngữ tự nhiên NLP bắt đầu hiểu dự định và những thứ
người dùng muốn xem trên các trang thông tin điện tử, hệ thống quản trị nội dung có
thể nhận dạng và hướng mục tiêu vào các nội dung được xác định là có thể khơi gợi
sự quan tâm của người dùng.
Ngồi ra, Machine learning có thể hỗ trợ đánh giá chất lượng và tính phù hợp
của nội dung dựa vào những tín hiệu quan trọng sau:
Tần suất người dùng tham khảo nội dung
11
Tần suất làm mới lại nội dung.
Xu hướng/Mẫu hình thưởng thức nội dung theo thời gian – giúp quan sát và
định vị chính xác thời điểm nào người dùng có thể quan tâm nhất đến việc theo dõi
nội dung.
Thơng qua các đánh giá này, doanh nghiệp có thể điều chỉnh nội dung và các
thông điệp sao cho hữu ích hơn, cá nhân hóa hơn, giúp tối ưu hóa trải nghiệm người
dùng một cách hiệu quả.
Áp dụng Machine Learning trong thực tế
Dưới đây là một số doanh nghiệp đi tiên phong và cho thấy được sức mạnh của
Machine learning trong việc sản xuất nội dung.
Kraft [9]
Ông lớn ngành hàng bánh kẹo Kraft đã triển khai Quy trình Machine Learning
để theo dấu hơn 22.000 đặc trưng về tính cách của khách hàng tiềm năng dựa trên
cách họ tương tác với các nội dung trực tuyến của thương hiệu. Những nỗ lực đã
mang về cho Kraft gần 1,1 tỷ lượt hiển thị quảng cáo mỗi năm. Bên cạnh đó, cơng ty
cũng bắt đầu nhận thấy hoạt động tiếp thị nội dung của mình thành cơng đáng kể khi
mang lại tỷ lệ lợi nhuận cao gấp 4 lần so với hoạt động quảng cáo. Các nội dung này
phù hợp với từng đối tượng nên thu hút người dùng quan tâm đến thương hiệu Kraft
và xác xuất họ trở thành khách hàng mới trở nên cao hơn.
Pier 1[9]
Nhà bán lẻ mặt hàng gia dụng Pier 1 cũng sử dụng thuật toán Azura Machine
Learning của Microsoft dưới hình thức các phân tích dự báo. Thuật toán này sử dụng
dữ liệu để thu về các hiểu biết hành vi người dùng tốt hơn, làm cơ sở giúp dự báo
hành vi người dùng trong tương lai.
Điều này cho phép Pier 1 tạo ra các trải nghiệm được cá nhân hóa tối ưu cho
khách hàng, khiến họ cảm thấy những nhu cầu chuyên biệt của mình được nhận ra và
được quan tâm đúng lúc. Cơng nghệ mới này cũng cho phép doanh nghiệp có thể dự
đoán kết quả về các kế hoạch, chiến lược khuyến mãi sản phẩm, quà tặng khách
hàng… theo thời gian thực, mang lại các phân tích thành quả trong thời gian tích tắc.
12
Một nhà sản xuất lốp xe nổi tiếng
Gần đây, một nhà sản xuất lốp xe nổi tiếng (xin được giấu tên) đã tiến hành áp
dụng Machine learning cho các quảng cáo của mình. Dựa trên việc triển khai các ý
tưởng liên quan đến máy học, thương hiệu này đã đạt được mức tăng trưởng vượt trội
trong việc bán sản phẩm tương ứng với tỷ lệ nhấp chuột đối với các quảng cáo và
chiến lược kinh doanh mà hệ thống máy học hỗ trợ, từ 0,07% lên 0,32% – theo thơng
tin từ chun trang MarketingProfs.
Những quảng cáo giờ đây có thể nhắm mục tiêu một cách chuẩn xác hơn, giúp
hiển thị đến đối tượng thực sự có nhu cầu và giúp các tương tác có thể nhanh chóng
thúc đẩy hành động.
Tóm lại
Machine learning đang nhanh chóng chiếm lĩnh vị thế quan trọng trong thế giới
khai thác dữ liệu số. Các nhà khoa học, các tổ chức kinh doanh và mọi người cũng
bắt đầu thấy được giá trị của xu hướng công nghệ này trong việc xử lý dữ liệu và
cung cấp hiểu biết về dự định của người dùng trực tuyến. Dưới đây là một số lưu ý
liên quan đến vai trò và xu hướng của Machine learning trong thời gian sắp tới:
Sẽ có một lượng lớn dữ liệu và nội dung được tạo ra và vượt xa khả năng của
con người trong việc tổng hợp và tính tốn. Do đó, Machine learning sẽ trở thành
cơng nghệ bắt buộc phải có cho hoạt động tiếp thị quảng cáo.
Machine learning giúp mang lại sức mạnh khai thác Big Data phục vụ cho hoạt
động phân tích thay vì để mặc lượng dữ liệu khơng lồ này lãng phí.
Machine learning giúp tạo nên những trải nghiệm được cá nhân hóa tối ưu cho
người dùng, qua đó gia tăng nhận thức và ấn tượng về thương hiệu.
Machine learning giúp thương hiệu triển khai các nỗ lực tiếp thị một cách tốt
hơn đối với đúng nhóm khách hàng mục tiêu.
Machine learning sẽ không bao giờ thay thế được các sáng tạo thuộc về con
người, mà thay vào đó sẽ hỗ trợ quá trình sản xuất nội dung sao cho hiệu quả hơn.
Khi không gian số không ngừng mở rộng, hoạt động kinh doanh phải đối mặt
với những thách thức không chỉ liên quan đến việc tạo nên sức ảnh hưởng giữa vô
13
vàn đối thủ cạnh tranh, mà còn liên quan đến việc vận dụng lượng lớn dữ liệu sẵn có
nếu khơng muốn bị tụt lại.
Machine learning mang đến cho con người sức mạnh để thực hiện các điều trên.
Khi đã nhận thức rõ sức mạnh của công nghệ này, con người có thể bắt đầu triển khai,
quan sát và cải thiện cách nó hoạt động tương ứng với từng lĩnh vực trong đời sống.
1.3. QUÁ TRÌNH MÁY HỌC
Lược sử thời gian, xác định nguồn gốc machine learning cũng như các mốc thời
gian quan trọng nhất [1][2][3]:
1950 – Alan Turing tạo ra phép thử Turing (Turing Test) để xác định xem một
máy tính có trí thơng minh thực sự hay khơng. Để vượt qua các phép thử, máy tính
phải có khả năng đánh lừa một người tin rằng nó cũng là con người.
1952 – Arthur Samuel đã viết chương trình máy học đầu tiên. Chương trình này
là trị chơi cờ ca-ro, và máy tính IBM càng chơi càng tiến bộ, học được các nước đi
tạo lập nên chiến lược để chiến thắng và tích hợp các nước đi đó vào chương trình
của mình.
1957 – Frank Rosenblatt thiết kế hệ thần kinh (neural network) đầu tiên cho
máy tính (gọi là “perceptron”) mơ phỏng các quá trình tư duy của não người.
1967 – Thuật toán “điểm lân cận gần nhất” (nearest neighbor) được viết ra cho
phép các máy tính bắt đầu sử dụng dạng mẫu nhận thức rất cơ bản. Thuật tốn này có
thể được sử dụng để vẽ một tuyến đường cho nhân viên bán hàng lưu động, bắt đầu
từ một thành phố ngẫu nhiên nhưng đảm bảo họ tới tất cả các thành phố trong một
chuyến đi ngắn.
1979 – Sinh viên Đại học Standford phát minh ra xe “Standford Car” có thể tự
xác định được vật cản trong phòng.
1981 – Gerald Dejong giới thiệu khái niệm Học qua giải thích (Explanation Based
Learning – EBL), trong đó một máy tính phân tích dữ liệu huấn luyện và tạo ra một quy
tắc chung mà nó có thể làm theo bằng cách loại bỏ các dữ liệu không quan trọng.
1985 – Terry Sejnowski phát minh ra NetTalk, học cách phát âm giống như một
đứa trẻ.
14
1990 – Các nghiên cứu về marchine learning chuyển từ cách tiếp cận hướngkiến-thức sang cách tiếp cận hướng-dữ-liệu. Các nhà khoa học bắt đầu tạo các chương
trình cho máy tính để phân tích một lượng lớn dữ liệu và rút ra kết luận – hay “học”
– từ các kết quả.
1997 – Máy tính Deep Blue của IBM đánh bại nhà vô địch cờ vua thế giới.
2006 – Geoffrey Hinton tạo ra thuật ngữ “học sâu” (deep learning) để giải thích
các thuật tốn mới cho phép các máy tính “nhìn thấy” và phân biệt các đối tượng và
văn bản trong hình ảnh và video.
2010 – Máy Microsoft Kinect có thể theo dõi 20 tính năng của con người ở tốc
độ 30 lần mỗi giây, cho phép mọi người tương tác với máy tính thơng qua các động
tác và cử chỉ.
2011 – Máy IBM Watson đánh bại các đối thủ là con người tại Jeopardy.
2011 – Google Brain được phát triển, và hệ thần kinh sâu (deep neural network)
của nó có thể học để phát hiện và phân loại các đối tượng bằng với khả năng của một
chú mèo.
2012 – X Lab của Google phát triển một thuật toán machine learning có khả
năng tự duyệt video YouTube để xác định các video có chứa hình ảnh mèo.
2014 – Facebook phát triển DeepFace, một thuật tốn phần mềm có thể nhận
diện hoặc xác minh các cá nhân trong các bức ảnh ở mức độ ngang với con người.
2015 – Amazon ra mắt nền tảng machine learning riêng của mình.
2015 – Microsoft tạo ra bộ công cụ máy học được phân bổ (Distributed Machine
Learning Toolkit), cho phép phân bổ hiệu quả machine learning trên nhiều máy tính.
2015 – Hơn 3.000 nhà nghiên cứu về AI và Robotics, được Stephen Hawking,
Elon Musk và Steve Wozniak (và nhiều người khác) hậu thuẫn, đã ký một bức thư
ngỏ cảnh báo nguy cơ của vũ khí tự hành có thể lựa chọn và nhắm vào các mục tiêu
mà không cần sự can thiệp của con người.
2016 – Thuật tốn trí tuệ nhân tạo (artificial intelligence algorithm) của Google
đã đánh bại một cầu thủ chuyên nghiệp trong trò cờ vây của Trung Quốc, vốn được
coi là trò cờ phức tạp nhất thế giới và khó hơn cờ vua gấp nhiều lần. Thuật toán
15
AlphaGo do Google DeepMind phát triển đã giành chiến thắng năm trên năm trận
đấu cờ vây.
Vậy liệu chúng ta đã tiến gần tới trí tuệ nhân tạo chưa? Một số nhà khoa học
cho rằng đó thực ra là một câu hỏi sai. Họ tin rằng một máy tính sẽ khơng bao giờ
“nghĩ” theo cách của bộ não con người, và việc so sánh các phân tích tính tốn và
thuật tốn của một máy tính với mưu cao kế sâu của trí óc con người cũng giống như
so sánh trái táo với trái cam vậy.
Dù thế nào, khả năng nhìn, hiểu và tương tác với thế giới xung quanh của máy
tính đang phát triển với một tốc độ đáng kể. Và khi lượng dữ liệu mà chúng ta tạo ra
tiếp tục phát triển theo cấp số nhân thì khả năng xử lý và phân tích của máy tính cũng
sẽ tăng lên tương ứng.
Các Quy trình cơ bản của máy học:
Các phần chính của một Quy trình Machine learning bao gồm:
Mơ hình (Model) – là hệ thống mơ phỏng các mẫu hình từ thực tế giúp đưa ra
dự báo hoặc nhận dạng.
Các thơng số (Parameter) – là những tín hiệu hoặc yếu tố được cho là có khả năng
gây ảnh hưởng lên kết quả mơ hình, được sử dụng để đưa ra quyết định.
Cơ chế học hỏi (Learner) – là quá trình đánh giá, đối chiếu khác biệt giữa các
dự báo và kết quả thực tế, tiến hành các điều chỉnh thông số hợp lý cho đến khi mô