Tiếp cận mờ trong khai phá dữ liệu

  • 101 trang
  • file .pdf
Mục lục
Lời cảm ơn 7
Tóm tắt luận văn 8
Lời mở đầu 9
1 Cơ sở lý thuyết 13
1.1 Quy trình phân tích và khai phá dữ liệu . . . . . . . . . . . . 13
1.1.1 Xác định mục tiêu và đặt câu hỏi . . . . . . . . . . . 14
1.1.2 Chuẩn bị dữ liệu . . . . . . . . . . . . . . . . . . . 15
1.1.3 Tiền xử lý dữ liệu . . . . . . . . . . . . . . . . . . . 16
1.1.4 Khai phá dữ liệu . . . . . . . . . . . . . . . . . . . 17
1.1.5 Đánh giá kết quả . . . . . . . . . . . . . . . . . . . 19
1.2 Một số bài toán phổ biến trong khai phá dữ liệu . . . . . . . 20
1.2.1 Bài toán hồi quy . . . . . . . . . . . . . . . . . . . 20
1.2.2 Bài toán dự đoán chuỗi thời gian . . . . . . . . . . . 20
1.2.3 Bài toán phân lớp và phân cụm . . . . . . . . . . . . 21
1.3 Mạng nơ-ron nhân tạo . . . . . . . . . . . . . . . . . . . . . 22
1.4 Logic mờ . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.4.1 Logic mờ và hàm thuộc . . . . . . . . . . . . . . . . 25
1.4.2 Mờ hóa dữ liệu . . . . . . . . . . . . . . . . . . . . 26
1.4.3 Luật mờ và hệ suy diễn mờ . . . . . . . . . . . . . . 33
1
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
2 Xây dựng giải pháp xử lý cho bài toán phân tích chất lượng nước
và phân lớp 35
2.1 Tổng quan bài toán . . . . . . . . . . . . . . . . . . . . . . 35
2.1.1 Tổng quan nghiên cứu . . . . . . . . . . . . . . . . 36
2.1.2 Đặc tả bài toán chi tiết . . . . . . . . . . . . . . . . 37
2.2 Phân tích, thiết kế mô hình . . . . . . . . . . . . . . . . . . 40
2.2.1 Tổng quan mô hình . . . . . . . . . . . . . . . . . . 40
2.3 Xây dựng mô hình phân tích . . . . . . . . . . . . . . . . . 41
2.3.1 Xây dựng mô hình chuỗi thời gian . . . . . . . . . . 41
2.3.2 Xây dựng mô hình hồi quy truyền thống . . . . . . . 43
2.3.3 Xây dựng mô hình học sâu . . . . . . . . . . . . . . 45
2.3.4 Xây dựng mô hình học sâu mờ . . . . . . . . . . . . 47
2.3.5 Xây dựng mô hình học sâu ANFIS . . . . . . . . . . 48
2.4 Đánh giá kết quả mô hình . . . . . . . . . . . . . . . . . . . 51
2.4.1 Thang đo đánh giá . . . . . . . . . . . . . . . . . . 51
2.4.2 Đánh giá kết quả thực nghiệm . . . . . . . . . . . . 52
2.5 Xây dựng ứng dụng web phân tích và dự đoán tảo nở . . . . 58
3 Một số ứng dụng của mạng mờ - tự mã hóa 60
3.1 Mạng tự mã hóa và ứng dụng . . . . . . . . . . . . . . . . . 60
3.2 Mạng học sâu mờ - tự mã hóa . . . . . . . . . . . . . . . . . 63
3.3 Ứng dụng mạng mờ - tự mã hóa trong bài toán phân lớp và
phát hiện bất thường . . . . . . . . . . . . . . . . . . . . . 65
3.3.1 Xác định ngưỡng bất thường . . . . . . . . . . . . . 65
3.3.2 Bài toán phát hiện bất thường trong môi trường mạng 67
3.3.3 Dữ liệu truy vấn Web . . . . . . . . . . . . . . . . . 69
3.3.4 Đánh giá kết quả . . . . . . . . . . . . . . . . . . . 71
3.4 Ứng dụng mạng mờ - tự mã hóa trong bài toán hoàn thiện dữ
liệu thiếu . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.4.1 Tổng quan bài toán . . . . . . . . . . . . . . . . . . 72
3.4.2 Bài toán phân tích chất lượng không khí ở Việt Nam 74
2
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
3.5 Tổng quan về bộ dữ liệu . . . . . . . . . . . . . . . . . . . . 75
3.5.1 Đánh giá kết quả tìm dữ liệu thiếu . . . . . . . . . . 77
Kết luận 79
Phụ lục 80
Chỉ mục 89
Công bố liên quan đến luận văn 92
Tài liệu tham khảo tiếng Việt 93
Tài liệu tham khảo tiếng Anh 94
3
Danh mục hình vẽ
1.1 Quy trình phân tích dữ liệu . . . . . . . . . . . . . . . . . . 13
1.2 Kiến trúc chung của một mạng nơ-ron . . . . . . . . . . . . 23
1.3 Cấu trúc một nơ-ron . . . . . . . . . . . . . . . . . . . . . . 24
1.4 Mô phỏng hàm thuộc tam giác . . . . . . . . . . . . . . . . 27
1.5 Mô phỏng hàm thuộc tứ giác . . . . . . . . . . . . . . . . . 28
1.6 Mô phỏng hàm thuộc Bell . . . . . . . . . . . . . . . . . . 28
1.7 Mô phỏng hàm thuộc L . . . . . . . . . . . . . . . . . . . . 29
1.8 Mô phỏng hàm thuộc Zmf . . . . . . . . . . . . . . . . . . 30
1.9 Mô phỏng hàm thuộc Gamma tuyến tính . . . . . . . . . . . 30
1.10 Mô phỏng hàm thuộc Smf . . . . . . . . . . . . . . . . . . 31
1.11 Mô phỏng hàm thuộc Sigma . . . . . . . . . . . . . . . . . 32
1.12 Mô phỏng hàm thuộc Gauss . . . . . . . . . . . . . . . . . 32
1.13 Các thành phần của hệ suy diễn mờ . . . . . . . . . . . . . . 34
2.1 Mô hình thiết kế tổng quan . . . . . . . . . . . . . . . . . . 40
2.2 Mô hình mạng ANFIS [12] . . . . . . . . . . . . . . . . . . 49
2.3 Mô tả các chỉ số đánh giá hệ phân lớp . . . . . . . . . . . . 51
2.4 Giao diện ứng dụng web . . . . . . . . . . . . . . . . . . . 59
2.5 Kết quả trả về từ mô hình tuyến tính trên ứng dụng Web . . . 59
2.6 Kết quả trả về từ mô hình học sâu trên ứng dụng Web . . . . 59
3.1 Mô hình mạng Autoencoder [39] . . . . . . . . . . . . . . . 61
3.2 Mô phỏng mạng Fuzzy-Autoencoder . . . . . . . . . . . . . 64
4
Danh sách bảng
2.1 Tương quan giữa các thành đặc trưng trong bài toán chất
lượng nước . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.2 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, hương pháp RNN . . . . . . . . . . . . . . . . . . . . 54
2.3 Bảng tổng hợp kết quả hồi quy TSI-chla của các phương pháp 56
2.4 Bảng tổng hợp kết quả bài toán phân lớp . . . . . . . . . . . 57
3.1 So sánh hiệu năng của mô hình RDA với các phương pháp
khác trên bộ CSIC . . . . . . . . . . . . . . . . . . . . . . . 71
3.2 So sánh hiệu năng của các mô hình trên bộ BKLA . . . . . . 71
3.3 Số lượng dữ liệu bị mất trên bộ dữ liệu chất lượng không khí 76
3.4 Tỷ lệ dữ liệu bị mất trên bộ dữ liệu chất lượng không khí . . 76
3.5 Bảng tổng hợp kết quả hồi quy dữ liệu bù . . . . . . . . . . 77
3.6 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, phương pháp LSTM . . . . . . . . . . . . . . . . . . . 80
3.7 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, phương pháp GRU . . . . . . . . . . . . . . . . . . . . 81
3.8 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, phương pháp SVR . . . . . . . . . . . . . . . . . . . . 82
3.9 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, phương pháp hồi quy tuyến tính . . . . . . . . . . . . . 83
3.10 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, phương pháp cây hồi quy (DTR) . . . . . . . . . . . . . 84
5
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
3.11 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, phương pháp SARIMAX . . . . . . . . . . . . . . . . 85
3.12 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, phương pháp ANFIS . . . . . . . . . . . . . . . . . . . 86
3.13 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, phương pháp Fuzzy-RNN . . . . . . . . . . . . . . . . 87
3.14 Sự ảnh hưởng của mô hình khi thay đổi các thuộc tính đầu
vào, phương pháp Fuzzy-LSTM . . . . . . . . . . . . . . . 88
6
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
Lời cảm ơn
Đầu tiên, em xin gửi lời cảm ơn chân thành nhất đến TS. Nguyễn Thị Thu
Hương, cô đã luôn đồng hành và hỗ trợ em rất nhiều trong quá trình hoàn
thiện và bảo vệ luận văn.
Tiếp theo, em xin tỏ lòng biết ơn sâu sắc đến TS. Lê Chí Ngọc đã giúp đỡ
em rất nhiều trong quá trình làm luận văn của mình. Thầy đã bỏ nhiều thời
gian quan tâm, giảng giải cho em hiểu mọi khúc mắc, giúp em có thể tiếp tục
nghiên cứu và hoàn thành luận văn này. Sự chỉ bảo tận tình của thầy là sự trợ
giúp lớn nhất giúp em trong quá trình học thạc sĩ.
Em xin cảm ơn tới các giáo sư, tiến sĩ, cán bộ giảng dạy tại viện Toán
Ứng Dụng và Tin Học, Đại học Bách Khoa Hà Nội. Các thầy đã hỗ trợ em rất
nhiều trong quá trình hoàn thành luận văn cũng như chương trình cao học tại
viện. Các thầy, cô đã cho em nhiều bài học quý giá, không chỉ trong lĩnh vực
nghiên cứu mà còn là trong cuộc sống, những bài học sẽ đi cùng em trong cả
sự nghiệp sau này.
Em cũng xin gửi cảm ơn tới Trung tâm An toàn An ninh thông tin, đại
học Bách Khoa Hà Nội, đặc biệt là giám đốc trung tâm, TS. Trần Quang Đức.
Em xin cảm ơn trung tâm đã tạo điều kiện cho em được làm việc và nghiên
cứu tại trung tâm trong suốt thời gian học cao học tại trường. Em xin cảm ơn
các thầy, các anh nghiên cứu sinh ở trung tâm đã hỗ trợ em rất nhiều trong
quá trình học tập và làm luận văn.
Cuối cùng, em xin được gửi lời cảm ơn những tới cha mẹ, sự cổ vũ động
viên của cha mẹ là nguồn động lực rất lớn giúp em theo đuổi con đường học
thuật, hoàn thành được luận văn này,
Luận văn của em còn có nhiều sai sót, rất mong nhận được những ý kiến
từ các thầy cô để em có thể hoàn thiện kiến thức của mình, cũng như tiếp tục
hướng nghiên cứu này
7
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
Tóm tắt luận văn
Trong luận văn này, em sẽ trình bày phương pháp tiếp cận mờ trong khai
phá dữ liệu. Cấu trúc luận văn bao gồm ba chương. Trong Chương 1, em sẽ
trình bày về các kiến thức cơ sở học logic mờ vào khai phá dữ liệu, làm tiền
đề cho các khai phá về sau. Trong Chương 2 và 3, em sẽ trình bày những ứng
dụng đạt được từ các phương pháp đã nêu. Cụ thể, Chương 2 sẽ trình bày
về việc ứng dụng logic mờ trong chuỗi thời gian để giải quyết bài toán phân
tích chất lượng nước, để giải quyết vấn đề phú dưỡng và sự nở hoa đột biến ở
tảo, gây nhiều vấn đề về môi trường. Bài toán được triển khai thông qua việc
trích chọn các đặc trưng ảnh hưởng đến chất lượng nước, sau đó dùng các
phương pháp học máy và chuỗi thời gian kết hợp với logic mờ trên các đặc
trưng để phân tích và giải quyết bài toán. Phần cuối của Chương 2 sẽ trình
bày về cách đưa mô hình lên một ứng dụng Web hoàn chỉnh, giúp người dùng
có thể dễ dàng tương tác. Chương 3 sẽ trình bày về một số ứng dụng của logic
mờ trong một số bài toán học sâu đặc thù, sử dụng mạng mạng tự mã hóa
(Autoencoder), bao gồm bài toán phát hiện bất thường và bài toán bổ sung
các dữ liệu thiếu. Phần kết luận tổng kết lại những vấn đề chính yếu được
trình bày trong luận văn. Trong quá trình nghiên cứu, luận văn đã đạt được
các kết quả khả quan, với minh chứng là các công bố khoa học đi kèm.
Hà Nội, ngày 24 tháng 12 năm 2021
Trương Tiến Dũng
8
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
Lời mở đầu
Công nghệ thông tin xuất hiện và phát triển đã đem đến một bước ngoặt
lớn trong lịch sử con người. Mục đích tiên quyết của công nghệ thông tin
chính là dùng công nghệ để xử lý, biến đổi dữ liệu thành tri thức con người
có thể sử dụng trực tiếp được, từ đó hỗ trợ con người trong việc ra quyết định
và xử lý vấn đề một cách nhanh chóng.
Với sự phát triển và bùng nổ của công nghệ thông tin và mạng xã hội. Con
người đang sống trong một thế giới bao quanh là dữ liệu . Dữ liệu lớn, nhu cầu
phân tích và khai phá dữ liệu ngày càng nhiều. Có thể thấy, trong những năm
gần đây, phân tích dữ liệu được ứng dụng trong hầu hết tất cả các lĩnh vực
trong cuộc sống. Đối với lĩnh vực kinh tế, phân tích dữ liệu giúp con người xử
lý được các bài toán về cân đối thu chi, gợi ý chiến lược kinh doanh từ các dữ
liệu đã có trong doanh nghiệp. Bài toán phân tích hành vi người dùng cũng
là một bài toán đang được các doanh nghiệp quan tâm với mục đích tối ưu
hóa cách thức bán hàng. Các hình thức phân tích hành vi ngày càng được sử
dụng tinh vi hơn trong những năm gần đây: Bắt đầu là những bài toán sử dụng
luật kết hợp, dựa vào lịch sử mua hàng của khách hàng để chọn ra những cặp
hàng được mua đồng thời, đến các bài toán về sử dụng camera để phân tích
hành vi của khách, phân tích khách tập trung ở khu vực nào, hay chọn lựa các
sản phẩm nào, ... tất cả đều được thu thập và phân tích sao cho thu được một
chiến lược kinh doanh tối ưu nhất. Đối với lĩnh vực giáo dục, khai phá dữ liệu
ngoài dùng để phân tích đối tượng, đưa ra các phương án tuyển sinh phù hợp,
khai phá dữ liệu còn có thể ứng dụng trực tiếp vào việc phân tích ứng viên,
đóng góp trực tiếp vào quá trình phỏng vấn và tuyển sinh
Phân tích dữ liệu còn được đặc biệt ứng dụng trong nhiều bài toán mang
tính đặc thù cao. Ví dụ như các bài toán đi vào lĩnh vực công nghiệp sản xuất,
như phân tích chất lượng sản phẩm, kiểm thử rủi ro, hay các bài toán về phân
tích đặc thù môi trường, như phân tích chất lượng không khí, phân tích chất
lượng nước. Lĩnh vực y học, trong những năm gần đây, cũng có khá nhiều
thành tựu trong ứng dụng khai phá dữ liệu. Ví dụ như tập đoàn Vingroup ở
9
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
Việt Nam đã cho ra đời nhiều ứng dụng trong lĩnh vực này, bao gồm phân tích
hình ảnh với một số bệnh trong y tế, đồng thời cho ra đời trợ ý ảo nhằm hỗ
trợ các tác vụ thủ tục cho bác sĩ, giúp các bác sĩ có thể tập trung vào chuyên
môn hơn.
Phân tích dữ liệu, mục đích cuối cùng cũng là từ dữ liệu đầu vào, rút ra
tri thức cho con người ở quá trình đầu ra. Quá trình này không phải chỉ xuất
hiện trong kỷ nguyên gần đây, mà con người đã làm việc này trong suốt chiểu
dài phát triển của con người, ứng dụng những dữ liệu đã có trong tự nhiên để
có thể làm giàu tri thức của con người. Con người luôn mặc định rằng chúng
ta biết sự chuyển động của các vật là do kiến thức vật lý và hóa học, họ biết
được mặt trời mọc ở đằng đông là do kiến thức địa lý, biết được con người sẽ
chết khi tim ngừng đập là do sinh học, ... Nhưng liệu những điều mặc định
đó có đúng? Thực chất thì bản thân con người không thể nào nhận biết và
xử lý các thông tin chưa bao giờ gặp. Con người chỉ có thể thu được các trải
nghiệm, kiến thức mới về thế giới này thông qua việc quan sát nhiều lần để
tìm hiểu về sự vật đó. Chúng ta biết được lửa nóng, nước sôi có thể gây bỏng
do tự trải nghiệm hoặc học hỏi từ người khác, chúng ta biết được mặt trời mọc
ở đằng đông, mặt trời lên đến đỉnh sẽ là trưa là do đã quan sát nó nhiều lần.
Sự phản ánh lại hiện thực trên thế giới này vào não bộ đều bắt nguồn từ quá
trình chúng ta quan sát lại nhiều lần mà nhận ra, hay nói cách khác, con người
sử dụng thống kê, sử dụng toán học để nhận biết mọi thứ. Các môn khoa học
lý, hóa, sinh, hay địa chỉ giúp chúng ta hiểu về sự vật, hiện tượng đã qua quá
trình quan sát và phân tích lâu dài, chứ không thể đem lại cho con người khả
năng nhận biết kiến thức mới trong tự nhiên ngay lập tức.
Toán học, hay cụ thể hơn là xác suất và thống kê, là nền tảng của học máy
và khai phá dữ liệu, nhưng rộng hơn, là nền tảng đề con người có thể nhận
biết được mọi thứ. Bản chất của xác suất thống kê chính là quan sát một sự vật
nhiều lần, phân nhỏ sự kiện với từng điều kiện, từng nhóm thuộc tính khác
nhau và ghi lại kết quả tương ứng. Đối với quá trình thống kê, kết quả thu
được thường là mối liên hệ giữa các sự vật, hiện tượng với nhau. Cách đơn
giản nhất để có được kết quả này là xét ngưỡng, ví dụ như: “Nếu chỉ số AQI
10
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
lớn hơn 150 thì không khí bị ô nhiễm nghiêm trọng”, hay “Nếu cân nặng lớn
hơn 90kg thì có thể coi là béo phì (với người Việt Nam)”. Các quy luật chúng
ta tưởng như bình thường như: “Nhiều mây thì sẽ mưa, mưa sẽ kéo theo sấm
chớp, mưa to sẽ có lũ lụt” cũng đều đến từ việc con người quan sát nắng mưa
qua nhiều thế hệ mà có được. Thậm chí câu ca dao của cha ông ta: “Chuồn
chuồn bay thấp thì mưa, bay cao thì nắng, bay vừa thì râm” cũng là một dạng
khoa học thống kê, được đúc kết ra từ nhiều lần quan sát. Bên cạnh đó, các
vấn đề về khoa học thống kê không chỉ đề cập đến các hiện tượng tự nhiên
mà còn đến cập đến chính xã hội loài người. Tử vi và chiêm tinh học chính
là hai ví dụ điển hình nhất cho điều này. Tất cả nhưng câu mà thầy bói nói ra
đều có cơ sở khoa học đến từ sự quan sát và đúc kết qua nhiều thế hệ, dù vẫn
còn đó những dấu hỏi về độ tin cậy.
Tổng kết lại, phân tích dữ liệu là quá trình chuyển đổi dữ liệu thành các
tri thức, áp dụng được trong cuộc sống. Một quá trình phân tích dữ liệu khoa
học và lôgic, bắt buộc phải dựa trên nền tảng phân tích toán học, với nền tảng
là xác xuất và thống kê. Song song với đó, quá trình phân tích dữ liệu, yêu
cầu kiến thức của các chuyên gia trong nhiều lĩnh vực. Muốn giải quyết, phân
tích một vấn đề, người chuyên gia phải thật sự hiểu nguyên lý hoạt động của
vấn đề đó, tránh sự lệch lạc trong quá trình phân tích, và giải quyết vấn đề.
Khác với phân tích dữ liệu, khai phá dữ liệu thuần túy sử dụng toán học
để giải quyết vấn đề, chấp nhận sự sai lệch về nhận thức với dữ liệu. Khai phá
dữ liệu có thể được coi như một bước hỗ trợ, đưa ra các tri thức thô, trực quan
hóa dữ liệu dựa trên nhiều phương pháp khác nhau, có thể bao gồm hồi quy,
phân lớp, phân cụm, ... nhằm giúp chuyên gia có được những tri thức ở dạng
thô, là tiền đề để rút ngắn và tối ưu quá trình phân tích dữ liệu. Đối với các
phương pháp khai phá hiện đại như học máy, học sâu, logic mờ cũng là một
nền tảng lý thuyết quan trọng bên cạnh xác suất và thống kê. Thuật ngữ logic
mờ được giới thiệu và đề xuất năm 1969 với lý thuyết tập mờ của Lotfi Zadeh
[63], nhưng đã được nghiên cứu từ những năm 1920, xuất phát từ logic đa gia
tri (infinite-value logic) đề xuất bời Lukasiewicz và cộng sự [46]. Logic mờ
được lấy ý tưởng từ việc con người có thể nhận thức một vấn đề ngay cả khi
11
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
không có đủ thông tin cần thiết. Các mô hình hoặc tập luật mờ là các phương
tiện toán học đại diện cho sự mơ hồ và thiếu thông tin. Những mô hình này
có khả năng nhận dạng, mô tả, giải thích dựa vào dữ liệu thiếu. Đối với các
phương pháp khai phá dữ liệu như học máy, học sâu, về bản chất là dự đoán
khả năng xảy ra trong tương lai của một sự vật, hiện tượng nào đó, một cách
mơ hồ thông qua một hộp đen trọng số được hình thành trong quá trình "học"
cũng là một kế thừa thực tiếp từ logic-mờ. Trong thực tế, có rất nhiều bài toán
với dạng dữ liệu là không rõ rằng, buộc phải dùng logic mờ để mờ hóa, giúp
máy tính đọc được dữ liệu một cách tổng quát và cho kết quả tối ưu hơn.
Từ đó, trong luận văn này, em sẽ làm rõ các vấn đề đã nêu, cách sử dụng
logic mờ trong việc giải quyết các bài toán học máy, học sâu. Đồng thời đi
vào các ứng dụng cụ thể để chứng minh tình khả thi và vượt trội của phương
pháp.
12
Chương 1
Cơ sở lý thuyết
1.1 Quy trình phân tích và khai phá dữ liệu
Một quy trình phân tích dữ liệu thường bao gồm những bước như sau:
Hình 1.1: Quy trình phân tích dữ liệu
Có thể thấy, khai phá được sử dụng như một phần trong toàn bộ quá trình
phân tích, tập trung vào cách biến đổi dữ liệu đã chuẩn hóa thành tri thức,
được chia ra nhiều phương pháp khác nhau [20]
13
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
1.1.1 Xác định mục tiêu và đặt câu hỏi
Xác định mục tiêu, là một trong những nhiệm vụ quan trọng nhất trong
khai phá dữ liệu. Xác định mục tiêu, hay tầm nhìn của một dự án, chính là
yếu tố quyết định thành bài của dự án đó.
Thật vậy, với muôn vàn các phương pháp phân tích và xử lý dữ liệu khác
nhau, nếu như không thể xác định rõ mục tiêu từ đầu, rất thể chúng ta sẽ bị
chìm đắm trong các phương pháp đó, nghĩa là chúng ta cứ thử, cứ chạy, cứ
phân tích nhưng không biết mình đang làm gì, khi nào mới kết thúc, ...
Để có thể phân tích một cách hiểu quả, cần có một tầm nhìn tốt, và tất cả
các kết quả nên được dựa theo tầm nhìn đó, giữ người phân tích luôn sát với
mục tiêu ban đầu là cách để việc phân tích dữ liệu trở nên hiểu quả.
Khi đã có mục tiêu cụ thể, cần đi vào chi tiết từng bước, thông qua việc
đặt các câu hỏi, đưa dữ liệu vào đúng ngữ cảnh và hoàn cảnh cụ thể, để có thể
tìm ra hướng đi đúng đắn nhất. Các câu hỏi nên có bao gồm nguồn dữ liệu
từ đâu? Chọn mẫu như thế nào? Kết quả đầu ra cụ thể là gì? Biểu thị như thế
nào? ...
Để hiểu hơn về tầm quan trọng của việc đặt câu hỏi , em xin phép sử dụng
một ví dụ như sau: trong Chiến tranh Thế giới thứ hai, khi mà quân đội Nga
kiểm tra các máy bay trở về, họ thấy phần bụng máy bay bị hỏng hóc nhiều
nhất, nên cho người gia tăng vào phần này, mà quên mất rằng những chiếc
máy bay đã trở về lại không đại diện cho những chiếc máy bay bị bắn trên
chiến trường, phần hư hỏng ở bụng không quyết định một máy bay có tồn tại
trở về hay không, nên việc gia cố gần như là vô nghĩa. Có thể thấy, trường
hợp vừa nêu, việc phân tích đã sai ngay từ khi chọn mẫu dữ liệu, dẫn đến dù
phân tích có tốt đến đâu, kết quả vẫn xa rời thực tiễn.
Nói qua về các định kiến, định kiến cũng là một phần để con người thử
nghiệm thống kê và khoa học thực nghiệm, với mục đích kiểm chứng lại tính
đúng sai của chính các định kiến. Hay nói rõ hơn, định kiến chính là ước
lượng ban đầu của chuyên gia nhằm tiên định về những sự việc có thể xảy
ra. Thông thường, khi làm khoa học thực nghiệm, các thông tin nhận được
14
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
thường nằm trong ba dạng. Dạng thông tin đầu tiên sẽ là các thông tin ủng
hộ định kiến của chúng ta, dạng thứ hai sẽ đi ngược lại những định kiến và
cuối cùng, sẽ luôn xuất hiện những thông tin mà chúng ta chưa bao giờ nghĩ
tới. Khi kiểm thử tính an toàn của dây an toàn từ những năm 50 của thế kỉ
XX để đo lường khả năng giảm thiểu tai nạn của chúng, người ta phát hiện
ra rằng đúng là đeo dây an toàn sẽ cho tỉ lệ tử vong thấp hơn trong một số
trường hợp. Tuy nhiên các số liệu cũng cho thấy nếu nạn nhân là trẻ em, việc
đeo dây an toàn lại khiến tỷ lệ tử vọng tăng cao. Ngoài ra, các nhà khoa học
còn phát hiện được một thông tin mà chưa bao giờ họ nghĩ tới: việc sử dụng
cửa sổ trời cũng có thể là nguyên nhân tăng cao tỷ lệ tử vong.
Có thể thấy, việc đặt câu hỏi và những giả định là vô cùng cần thiết trong
quá trình phân tích dữ liệu.
1.1.2 Chuẩn bị dữ liệu
Để hiểu được quá trình chuẩn bị dữ liệu, trước hết cần nắm được những
loại dữ liệu cần xử lý trong thực tế, bao gồm [20]:
• Dữ liệu nhị phân: Một thuộc tính nhị phân là một thuộc tính với chỉ có
hai loại trạng thái: 0 hoặc 1, nơi 0 thường có nghĩa là không, và 1 có
nghĩa là có. Thuộc tính nhị phân được gọi là Boolean nếu hai trạng thái
tương ứng với đúng và sai.
• Dữ liệu phân lớp: Các giá trị của một thuộc tính phân lớp là biểu tượng
hoặc tên của sự vật. Mỗi giá trị đại diện cho một số loại thể loại, mã
hoặc trạng thái, và do đó các thuộc tính phân lớp cũng được gọi là phân
loại. Các giá trị không có bất kỳ thứ tự có ý nghĩa. Trong khoa học máy
tính, các giá trị còn được gọi là liệt kê.
• Dữ liệu thứ tự: Một thuộc tính thứ tự là một thuộc tính với các giá trị
có thể có một thứ tự có ý nghĩa hoặc xếp hạng trong số đó, nhưng độ
lớn giữa các giá trị kế tiếp không được biết đến. Thuôc tính phân lớp
15
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
được đại diện bởi mốt và trung vị, giá trị trung bình không cần được sử
dụng.
• Dữ liệu giá trị khoảng: Các thuộc tính khoảng được đo trên thang đo
của các đơn vị có kích thước bằng nhau. Các giá trị của các thuộc tính
khoảng có thứ tự và có thể dương, 0 hoặc âm. Do đó, ngoài việc cung
cấp một bảng xếp hạng các giá trị, các thuộc tính như vậy cho phép ta
so sánh và định lượng sự khác biệt giữa các giá trị. Bởi vì các thuộc
tính khoảng là số, ta có thể tính toán giá trị trung bình của chúng, ngoài
tính trung vị và mốt có thể được sử dụng.
• Dữ liệu thuộc giá trị tỉ lệ: Thuộc tính tỷ lệ thu nhỏ là thuộc tính số có
điểm 0 thực sự. Nghĩa là, nếu một phép đo được chia tỷ lệ, ta có thể
nói về một giá trị là bội (hoặc tỷ lệ) của một giá trị khác. Ngoài ra, các
giá trị được sắp xếp theo thứ tự và ta cũng có thể tính toán sự khác biệt
giữa các giá trị, cũng như trung bình, trung vị và mốt.
• Dữ liệu chuỗi và chuỗi thời gian: Chuỗi thời gian trong thống kê, xử lý
tín hiệu, kinh tế lượng và toán tài chính là một chuỗi các điểm dữ liệu,
được đo theo từng khoảng khắc thời gian liền nhau theo một tần suất
thời gian thống nhất. Một số khái niệm liên quan tới chuỗi thời gian
Các dữ liệu có thể được lấy được từ nhiều nguồn khác nhau, như nguồn
cở sở dữ liệu, các tệp thống kê dạng bảng như CSV, excel, hay rộng hợn là
trong kho dữ liệu. Tùy từng trường hợp cụ thể, có những bài toán chưa có dữ
liệu, buộc người phân tích phải đi thu thập dữ liệu từ trong thực tế, để có thể
xử lý bài toán.
1.1.3 Tiền xử lý dữ liệu
Tiền xử lý dữ liệu là quá trình chuyển dữ liệu thô, thu thập từ nhiều nguồn
về cùng một định dạng, cũng như thực hiện một số phương pháp biến đổi đơn
giản với dữ liệu đầu vào. Một trong những vấn đề quan trọng nhất của tiền xử
lý dữ liệu là làm sạch dữ liệu [20]
16
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
Khi phân tích dữ liệu thường xảy ra trường hợp nhiều bộ dữ liệu không có
giá trị được ghi lại cho một số thuộc tính do nguyên nhân chủ quan như tác
nhân con người hay nguyên nhân khách quan như sai sót trong quá trình nhập
dữ liệu, dẫn đến việc phải tìm kiếm một phương pháp nào đó để bù vào các
dữ liệu bị mất. Tiền xử lý dữ liệu còn bao gồm các quá trình về chuẩn hóa dữ
liệu về các dạng tương ứng, phù hợp từng thuật toán triển khai khác nhau
1.1.4 Khai phá dữ liệu
Khai phá dữ liệu là một chủ đề liên quan tới nhiều ngành nên có thể được
định nghĩa theo nhiều cách khác nhau [20]. Để đề cập đến việc khai thác vàng
từ đá hoặc cát, ta nói khai thác vàng thay vì khai thác đá hoặc cát. Tương tự
như vậy, khai phá dữ liệu nên có được đặt tên đầy đủ hơn là "khai phá kiến
thức từ dữ liệu". Tuy nhiên, ngắn hạn, khai phá kiến thức có thể không phản
ánh sự nhấn mạnh vào khai phá từ một lượng lớn dữ liệu. Khai thác mỏ là
một thuật ngữ sinh động đặc trưng cho quá trình tìm thấy một lượng nhỏ tài
nguyên hữu dụng từ rất nhiều nguyên liệu thô. Do đó, một sự nhầm lẫn như
vậy mang cả ‘dữ liệu’ và ‘khai thác mỏ’ đã trở thành một lựa chọn phổ biến.
Ngoài ra, nhiều thuật ngữ khác có ý nghĩa tương tự như khai phá dữ liệu - ví
dụ, khai phá kiến thức từ dữ liệu, khai phá kiến thức, phân tích dữ liệu/mô
hình. Khai phá dữ liệu được triển khai dựa trên nền tảng xác xuất thống kê và
máy học
Học máy (Machine Learning) nghiên cứu về cách thức máy tính điện tử
có thể học (hoặc nâng cao khả năng vận hành) dựa trên dữ liệu [20]. Một
mảng nghiên cứu chính của máy học liên quan đến việc lập trình máy tính
cho phép nó có thể tự động học để có thể nhận dạng các quy luật phức tạp
và đưa ra những quyết định thông minh dựa vào dữ liệu. Ví dụ, một bài toán
kinh điển trong máy học đó là lập trình một chiếc máy tính sao cho nó có thể
tự động nhận dạng các mã địa chính viết tay trên các bức thư sau khi được
huấn luyện với một tập các ví dụ có sẵn.
17
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
Học không giám sát
Học không giám sát (Unsupervised Learning) là một lớp các thuật toán
máy học cho phép máy tính học từ những dữ liệu không hoặc chưa được gán
nhãn [20]. Phân cụm có thể được coi là một thuật toán như vậy. Trong thực
tế, ta có thể sử dụng phân tích phân cụm để khám phá ra các lớp nằm trong
dữ liệu. Ví dụ, một giải pháp học không giám sát có thể nhận vào một tập
các ảnh của các chữ số viết tay từ 0 đến 9. Giả sử ta tìm được tổng cộng 10
cụm bằng một thuật toán phân cụm nào đó. Các cụm này có thể tương ứng
với mười chữ số từ 0 đến 9; tuy nhiên, mô hình được huấn luyện với bộ dữ
liệu đó không thể cho chúng ta biết ý nghĩa của các cụm tìm được là gì, do
dữ liệu dùng cho việc huấn luyện không hề được gán nhãn.
Học có giám sát
Ngược lại với học không giám sát, học có giám sát (Supervised Learning)
yêu cầu dữ liệu đầu vào cần phải được gán nhãn [20]. Nói cách khác, cụm từ
"có giám sát" ở đây xuất phát từ việc dữ liệu dùng cho việc huấn luyện đã
được gán nhãn từ trước. Ví dụ trong bài toán nhận dạng mã địa chính, một tập
hợp các ảnh biểu diễn những chữ số viết tay của mã địa chính và các bản dịch
tương ứng cho chúng mà máy tính có thể hiểu sẽ được sử dụng như những
ví dụ cho quá trình huấn luyện mô hình, giám sát quá trình học của mô hình
được chọn.
Học bán giám sát
Học bán giám sát (Semi-supervised Learning) là một lớp các bài toán máy
học sử dụng cả dữ liệu được và không được gán nhãn khi huấn luyện mô hình.
Với một cách tiếp cận cụ thể, các điểm dữ liệu được gán nhãn được sử dụng
để huấn luyện cho mô hình phân lớp và dữ liệu không gán nhãn được sử dụng
để tinh chỉnh các đường biên quyết định dùng để phân tách các lớp. Một ví dụ
về bài toán phân lớp nhị phân, ta có thể coi các điểm dữ liệu xuất hiện trong
bài toán chỉ có thể thuộc về một trong hai lớp: âm tính và dương tính.
18
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
1.1.5 Đánh giá kết quả
Đánh giá mẫu dữ liệu, hay còn gọi là đánh giá thông tin thu được từ quá
trình khai thác, xác định mức độ chính xác, khả năng đem lại giá trị thực sự,
để trả lời cho câu hỏi ‘mẫu dữ liệu/thông tin thu được có cần quan tâm để phát
triển chiến lược, triển khai vào thực tế không?’ Ví dụ cụ thể của bước này là
xây dựng các giả thuyết và tiến hành kiểm định, dựa trên mức độ tin cậy và
kết quả kiểm định để xem xét. Nếu kết quả phân tích không hợp lý, có sai sót,
cần quay kiểm tra lại các bước ở trên, còn nếu kết quả phân tích đã hợp lý, độ
tin cậy cao thì tiếp tục bước sau cùng dưới đây.
Không phải tất cả các mô hình được tạo ra bởi các quy trình khai thác
dữ liệu đều tốt. Điều gì làm cho một mô hình tốt có thể khác nhau từ người
dùng đến người dùng. Do đó, kỹ thuật là cần thiết để đánh giá sự tốt của các
mô hình phát hiện dựa trên các biện pháp chủ quan. Những ước tính giá trị
của các mẫu đối với một lớp người dùng nhất định, dựa trên niềm tin hoặc
kỳ vọng của người dùng. Hơn nữa, bằng cách sử dụng các biện pháp tốt hoặc
hạn chế do người dùng chỉ định để hướng dẫn quá trình khám phá, ta có thể
tạo ra các mẫu tốt hơn và giảm không gian tìm kiếm.
Hiển thị kết quả
Trực quan hóa dữ liệu nhằm mục đích truyền đạt dữ liệu rõ ràng và hiệu
quả thông qua đại diện đồ họa. Trực quan hóa dữ liệu đã được sử dụng rộng
rãi trong nhiều ứng dụng. Ví dụ, tại nơi làm việc để báo cáo, quản lý hoạt
động kinh doanh và theo dõi tiến độ của nhiệm vụ. Phổ biến hơn, ta có thể
tận dụng các kỹ thuật trực quan để khám phá các mối quan hệ dữ liệu mà nếu
không dễ quan sát bằng cách nhìn vào dữ liệu thô. Ngày nay, mọi người cũng
sử dụng trực quan hóa dữ liệu để tạo ra đồ họa thú vị
Diễn dịch kết quả
Kiến thức hoặc thông tin, mà ta có được thông qua quá trình khai thác dữ
liệu, cần phải được trình bày theo cách mà các bên liên quan có thể sử dụng
19
Học viên: Trương Tiến Dũng GVHD: TS. Nguyễn Thị Thu Hương
nó khi họ muốn. Dựa trên các yêu cầu kinh doanh, giai đoạn triển khai có thể
đơn giản như tạo báo cáo hoặc phức tạp như quy trình khai thác dữ liệu có thể
lặp lại trong toàn tổ chức. Trong giai đoạn triển khai, các kế hoạch triển khai,
bảo trì và giám sát phải được tạo ra để thực hiện và cũng hỗ trợ trong tương
lai.
1.2 Một số bài toán phổ biến trong khai phá dữ
liệu
1.2.1 Bài toán hồi quy
Bài toán hồi quy được thực hiện nhằm mục đích dự đoán một hoặc nhiều
tính chất chưa xác định của sự vật dựa vào những tính chất đã biết. Trong bài
toán hồi quy, xu hướng giải quyết thường bắt đầu bằng việc kiểm thử một số
tính chất đã có của sự vật, xác định mỗi liên hệ giữa các trường dữ liệu với
nhau, sau đó cố gắng tìm được một công thức hồi quy, dưới dạng đã học, để
có thể tìm được trường dữ liệu cần thiết dựa vào các dữ liệu đã có. Phân tích
hồi quy là một phương pháp đơn giản nhưng hiệu quả, được áp dụng trong
nhiều bài toán khác nhau, từ các bài toán mang đậm chất kỹ thuật đến các bài
toán mang tính xã hội cao.
1.2.2 Bài toán dự đoán chuỗi thời gian
Chuỗi thời gian là một quá trình ngẫu nhiên {Xt , t ∈ T} phụ thuộc theo
biến thời gian t ∈ T được biểu thị qua dãy các quan sát [19]. Chuỗi thời gian
có thế là liên tục hoặc rời rạc phụ thuộc vào tập T là đếm được hay không
đếm được. Chuỗi thời gian là rời rạc nếu các quan sát được thực hiện trên tập
thời gian T đếm được, ngược là chuỗi thời gian liên tục. Các ứng dụng thực
tế thường sử dụng các chuỗi thời gian rời rạc với khoảng thời gian cách đều
(phút, giờ, ngày, tuần, tháng, quý, năm,. . . ). Ví dụ, các chỉ số nhiệt độ, dòng
chảy của sông, nồng độ của một quá trình hóa học, v.v. có thể được ghi lại
20