Professional Documents
Culture Documents
1
PHÂN LỚP DỮ LIỆU
NỘI DUNG
Định nghĩa
Dữ liệu kiểm Mô
thử hình
phân
lớp
Kết quả phân lớp thực
tế
Dữ liệu mới
Giới thiệu phân lớp dữ liệu
Bước 1: Xây dựng mô hình (hay còn gọi là giai đoạn “học” hoặc “huấn
luyện”)
Kinh tế học
Dự báo khủng hoảng kinh tế
Dự báo cung cầu
Một số phương pháp phân lớp
Logistic
Regression
Môt số phương pháp phân lớp
tượng xem đối tượng x sở hữu các thuộc tính cụ thể sẽ thuộc
vào lớp y nào.
Môt số phương pháp phân lớp
x0
Trong đó: w0 0
d là số lượng đặc trưng x1 z a
w1
(thuộc tính) của dữ liệu, x2
w là trọng số, ban đầu sẽ . w2
1
được khởi tạo ngẫu . wd
nhiên, sau đó sẽ được . Mô hình phân lớp nhị phân sử
điều chỉnh lại cho phù xd . dụng phương pháp hồi quy logistic
hợp
𝒊=𝟎
𝟏
𝒛 = 𝒘𝒊 𝒙𝒊 𝑷(𝒚) = 𝒔𝒊𝒈𝒎𝒐𝒊𝒅 𝒛 =
𝟏+𝒆−𝒛
𝒅
Ví dụ đơn giản
Xét bài toán phân lớp (nhị phân) phân lớp nguy cơ vỡ nợ trong tập
khách hàng cá nhân để quyết định trong việc cho vay tiêu dùng:
Bộ hệ số này sẽ được tính toán và điều chỉnh trong giai đoạn huấn
luyện. Sau đó, sẽ được sử dụng trong quá trình đánh giá mô hình và
phân lớp dữ liệu mới.
Một số phương pháp phân lớp
Thuộc tính
phân lớp
Một số phương pháp phân lớp
Ưu khuyết điểm
Ưu điểm:
Dễ hiểu
Không đòi hỏi việc chuẩn hóa dữ liệu
Có thể xử lý trên nhiều kiểu dữ liệu khác nhau.
Xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn
Khuyết điểm:
Khó giải quyết trong tình huống dữ liệu phụ thuộc thời gian
Chi phí xây dựng mô hình cao
SVM (Support Vector Machine)
Giới thiệu:
SVM là một thuật toán có giám sát, SVM nhận dữ liệu vào, xem chúng
như những các vector trong không gian và phân loại chúng vào các lớp
khác nhau bằng cách xây dựng một siêu phẳng trong không gian nhiều
chiều làm mặt phân cách các lớp dữ liệu.
Để tối ưu kết quả phân lớp thì phải xác định siêu phẳng (hyperplane) có
khoảng cách đến các điểm dữ liệu (margin) của tất cả các lớp xa nhất có
thể.
SVM có nhiều biến thể phù hợp với các bài toán phân loại khác nhau.
SVM (Support Vector Machine)
SVM cố gắng tối ưu bằng cách tối đa hóa giá trị margin này, từ đó tìm ra
siêu phẳng đẹp nhất để phân 2 lớp dữ liệu. Nhờ vậy, SVM có thể giảm thiểu
việc phân lớp sai (misclassification) đối với điểm dữ liệu mới đưa vào.
SVM (Support Vector Machine)
Support Vectors:
Bài toán của chúng ta trở thành tìm ra 2
đường biên của 2 lớp dữ liệu sao cho
khoảng cách giữa 2 đường này là lớn nhất.
Siêu phẳng cách đều 2 biên đó chính là
siêu phẳng cần tìm.
Các điểm xanh, đỏ nằm trên 2 đường biên
(màu xanh lá) được gọi là các support
vector, vì chúng có nhiệm vụ hỗ trợ để tìm
ra siêu phẳng (màu cam)
SVM (Support Vector Machine)
Trong đó:
w: là một vector pháp tuyến
Khoảng cách giữa hai đường thẳng chính là
margin =2Τ 𝑤1 2 + 𝑤2 2
Khi đó đường thẳng phân cách cần tìm là: 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑏 = 0
hay 𝑤𝑥 − 𝑏 = 0
SVM (Support Vector Machine)
Số chiều của không gian bài toán (còn gọi là không gian đặc trưng) tương
ứng với số lương thuộc tính (đặc trưng) của một đối tượng dữ liệu.
Phương trình biểu diễn siêu phẳng cần tìm (hyperlane) trong không gian
𝑇 2 𝑤 𝑇 𝑥+𝑏 2
đa chiều là: 𝑤 𝑥 + 𝑏 = 0 và giá trị margin = =
𝑤 𝑤
Mục tiêu của SVM là cần tìm giá trị margin cực đại đồng nghĩa với việc
𝑤 đạt cực tiểu với điều kiện:
Hàm mục tiêu cần tối ưu là một norm nên là một hàm lồi => bài toán quy
hoạch toàn phương (Quadratic Programing)
SVM (Support Vector Machine)
Các biến thể của SVM
Khái niệm:
Là các phương pháp nhằm kiểm tra tính hiệu quả của mô hình phân lớp
trên dữ liệu có đặc thù cụ thể, từ đó quyết định có sử dụng mô hình đó hay
không.
Một mô hình lý tưởng là một mô hình không quá đơn giản, không quá
phức tạp và không quá nhạy cảm với nhiễu (tránh underfitting và
overfitting).
Các phương pháp đánh giá mô hình phân lớp
mô tả được xu hướng tổng quát của dữ liệu mới (còn được gọi là High Variance).
Các phương pháp đánh giá mô hình phân lớp
Trong tất cả các giả thiết có thể giải thích được một hiện tượng, ta nên chọn
giả thiết đơn giản nhất (Occam's razor)
=> Do đó, trong tất cả các model "đúng", chọn model đơn giản nhất.
Các phương pháp đánh giá mô hình phân lớp
Giả sử có n đối tượng dữ liệu thuộc k lớp mà chúng ta cần phân loại. Kết quả
phân lớp có thể của một mô hình như hình bên, trong đó:
Ma trận nhầm lẫn: là ma trận chỉ ra có bao nhiêu điểm dữ liệu thực sự
thuộc vào một lớp cụ thể, và được dự đoán là rơi vào lớp nào.
Confusion matrix là có kích thước k x k với k là số lượng lớp của dữ liệu.
Precision (độ chính xác): cho biết trong số m mẫu được phân vào lớp i thì
có tỷ lệ bao nhiêu mẫu có đúng (tránh nhầm lẫn với tính chính xác
accuracy)
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃ൗ(𝑇𝑃 + 𝐹𝑃) = 𝑎ൗ 𝑎 + 𝑏
Recall (độ phủ) còn gọi là độ phủ hay độ nhạy (sensitivity) hay TPR (True
Positive Rate)
𝑟𝑒𝑐𝑎𝑙𝑙 = 𝑎ൗ(𝑎 + 𝑑)
F1-score: giá trị trung bình điều hòa (harmonic mean) của hai độ
đo Precision và Recall.
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 × 𝑟𝑒𝑐𝑎𝑙𝑙
𝐹1 = 2
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙
F1 có giá trị gần với giá trị nào nhỏ hơn giữa 2 giá trị Precision và Recall. F1 sẽ
có giá trị lớn nếu cả 2 giá trị Precision và Recall đều lớn.
ROC và AUC
Phương pháp Hold-out phân chia tập dữ liệu ban đầu thành 2 tập độc lập theo
1 tỷ lệ nhất định. Ví dụ, tập huấn luyện (training set) chiếm 70%, tập thử
nghiệm (testing set) chiếm 30%.
Phương pháp này thích hợp cho các tập dữ liệu nhỏ. Tuy nhiên, các mẫu có thể
không đại diện cho toàn bộ dữ liệu (thiếu lớp trong tập thử nghiệm).
Có thể cải tiến bằng cách dùng phương pháp lấy mẫu sao cho mỗi lớp được
phân bố đều trong cả 2 tập dữ liệu huấn luyện và đánh giá. Hoặc lấy mẫu ngẫu
nhiên : thực hiện holdout k lần và độ chính xác acc(M) = trung bình cộng k giá
trị chính xác.
K-fold cross validation
Phương pháp này phân chia dữ liệu thành k tập con có cùng kích thước
(gọi là các fold).
Một trong các fold được sử dụng làm tập dữ liệu đánh giá và phần còn lại
được sử dụng làm tập huấn luyện.
Quá trình lặp lại cho đến khi tất cả các fold đều đã được dùng làm tập dữ
liệu đánh giá.
Xét ví dụ: 5-fold cross validation
Hold-out vs. K-fold cross validation
Phương pháp Hold-out thường cho hiệu quả tốt trên các tập dữ liệu lớn.
Tuy nhiên, ở các tập dữ liệu nhỏ hoặc vừa phải, hiệu quả của mô hình sử
dụng phương pháp này phụ thuộc nhiều vào cách chia cũng như tỷ lệ chia
dữ liệu.
Demo bằng công cụ Orange
Kết quả
Demo bằng công cụ Orange
So sánh các thuật toán, rồi dùng thuật toán tốt nhất để dự
báo
Demo bằng công cụ Orange
[1] Oded Maimon, Lior Rokach, “Data Mining and Knowledge Discovery
Handbook”, Second Edition, Springer Science + Business Media, LLC 2005,
2010
[2] Hillol Kargupta, Jiawei Han, Philip S. Yu, Rajeev Motwani, and Vipin
Kumar, “Next Generation of Data Mining”, Taylor & Francis Group, LLC,
2009
[4] Daniel T. Larose, “Data mining methods and models”, John Wiley &
Sons, Inc, 2006.
PHÂN CỤM DỮ LIỆU
(CLUSTERING)
NỘI DUNG
Định nghĩa
Đặc điểm:
Nhiệm vụ chính là tìm ra và đo đạc sự khác biệt giữa các đối tượng dữ
liệu.
Phân cụm thuộc nhóm phương pháp học không giám sát (unsupervised
learning) vì không biết trước được số nhóm (khác với bài toán phân lớp)
Một phương pháp phân cụm tốt là phương pháp tạo ra các cụm có chất
lượng cao:
Độ tương đồng bên trong cụm cao
Độ tương tự giữa các cụm thấp (khác biệt cao)
Các ứng dụng điển hình:
Công cụ phân cụm dữ liệu độc lập.
Là giai đoạn tiền xử lý cho các thuật toán khác
Giới thiệu phân cụm dữ liệu
Độ đo phân cụm: được sử dụng làm tiêu chí nhằm tính toán sự
tương đồng/sai biệt giữa các đối tượng dữ liệu nhằm phục vụ cho
quá trình gom cụm
Minkowski:
Giới thiệu phân cụm dữ liệu
Phân tích cạnh tranh, xu hướng lựa chọn dịch vụ giữa các nhà cung cấp
Xây dựng một cây phân cấp cho dữ liệu cần gom cụm dựa trên:
Ma trận khoảng cách giữa các phần tử (similarity matrix hoặc
dissimilarity matrix)
Độ đo khoảng cách giữa các cụm (single link, complete link…)
Phương pháp này không cần xác định trước số cụm nhưng cần xác định
điều kiện dừng.
Là sơ đồ/cây biểu diễn sự phân rã các phần tử dữ liệu thành nhiều cấp độ
lồng nhau.
………
DIANA
Single-link: khoảng cách nhỏ nhất giữa 1 phần tử trong một cụm với một
phần tử ở cụm khác.
Complete-link: khoảng cách lớn nhất giữa 1 phần tử trong một cụm với
một phần tử ở cụm khác.
Average-link: khoảng cách trung bình giữa 1 phần tử trong một cụm với
một phần tử ở cụm khác.
Một số phương pháp tính khoảng cách
Mean: khoảng cách giữa các điểm trung bình (mean) của 2 cụm.
Centroid: khoảng cách giữa các trọng tâm (centroid) của 2 cụm.
Medoid: khoảng cách giữa các trung tâm cụm (medoid) của 2 cụm.
Phân tập dữ liệu có n phần tử cho trước thành k tập con (k<=n), mỗi tập
con biểu diễn một cụm.
Các cụm hình thành trên cơ sở tối ưu hóa giá trị hàm độ đo tương tự (độ
đo phân cụm) sao cho:
Mỗi đối tượng thuộc duy nhất 1 cụm, các phần tử trong cụm có sự
tương tự nhau.
Mỗi cụm có ít nhất 1 phần tử.
Thuộc nhóm thuật toán phân cụm dựa trên phân hoạch
Tư tưởng chính: Ta xem mỗi đối tượng trong tập dữ liệu là một điểm
trong không gian d chiều (với d là số lượng thuộc tính của đối tượng)
Bước 1: Chọn k điểm bất kỳ làm các trung tâm ban đầu của k cụm.
Bước 2: Phân mỗi điểm dữ liệu vào cụm có trung tâm gần nó nhất.
Nếu các điểm dữ liệu ở từng cụm vừa được phân chia không thay đổi
so với kết quả của lần phân chia trước nó thì ta dừng thuật toán.
Bước 3: Cập nhật lại trung tâm cho từng cụm bằng cách lấy trung bình
cộng của tất các các điểm dữ liệu đã được gán vào cụm đó sau khi
phân chia ở bước 2.
Bước 4: Quay lại bước 2.
Thuật toán K-means
Ví dụ: Ta có bộ dữ liệu gồm 4 đối tượng là 4 lọ thuốc bị mất nhãn. Biết rằng
4 lọ này thuộc 2 loại khác nhau và mỗi lọ thuốc có 2 thuộc tính là chỉ số khối
và độ pH như bảng bên dưới. Ta sẽ sử dụng thuật toán K-means để phân 4
đối tượng này vào 2 cụm
Thuật toán K-means
Độ pH
y: độ pH.
B (2;1)
Các đối tượng có thể
A
được biểu diễn trong (1;1)
không gian hai chiều như
hình bên cạnh.
Chỉ số khối
Thuật toán K-means
Độ pH
Bước 2: Phân cụm cho các
điểm trong không gian dữ
liệu bằng cách tính khoảng
cách Euclid từ mỗi điểm
đến từng trung tâm.
Chỉ số khối
Thuật toán K-means
Độ
pH
Cụm 1: {A}
Cụm 2: {B,C,D}
Chỉ số khối
Độ pH
Cụm 1 :{A, B}
Cụm 2 :{C, D} Chỉ số khối
Độ pH
Cụm 1 :{A, B}
Chỉ số
Cụm 2 :{C, D}
khối
Bước 3: Cập nhật lại trung tâm của 2 cụm.
C1 = (1.5;1) ; C2 = (4.5;3.5)
Kết quả phân cụm không đổi => kết thúc
Đánh giá thuật toán K-means
Thuộc nhóm thuật toán phân cụm dựa trên phân hoạch
Là biến thể của K-mean nên có cùng tư tưởng với K-means:
FCM được đề xuất bởi Bezdek năm 1974.
FCM là phân cụm dữ liệu mờ tức là một đối tượng dữ liệu có thể được
phân vào 1 hoặc nhiều nhóm.
Có xét đến yếu tố quan hệ giữa các phần tử và các cụm trong ma trận
trọng số biểu diến bậc của các đối tượng trong cụm.
Mỗi phần tử có một độ đo mức độ thành viên (xác suất là thành viên)
đối với từng cụm.
FCM phân N phần tử dữ liệu thành C cụm mờ 1 < 𝐶 < 𝑁 . Mỗi cụm ci
có 1 tâm cụm zi tương ứng. Cụm mờ của các đối tượng này được biểu
diễn bởi một ma trận mờ 𝜇 (kích thước N x C).
Thuật toán Fuzzy C - Means
Bước 3: Tính độ sai khác giữa mỗi điểm dữ liệu với tâm cụm bằng khoảng cách Euclid
2 2 2
𝐷𝑖𝑗 𝑥𝑖 , 𝑐𝑗 = 𝑥𝑖1 − 𝑐𝑗1 + 𝑥𝑖2 − 𝑐𝑗2 + ⋯ + 𝑥𝑖𝑑 − 𝑐𝑗𝑑 . Với d là số thuộc tính của mỗi
đối tượng dữ liệu (số chiều)
1Τ𝑚−1
1
𝑑𝑗𝑖
Bước 4: Cập nhật ma trận độ đo thành viên 𝜇𝑗 𝑥𝑖 = 1
𝑐 1
σ𝑘=1 ൗ𝑑 𝑚−1
𝑘𝑖
Bước 5: Nếu các trung tâm cụm không đổi thì dừng, ngược lại thì quay lại bước 2.
Ví dụ FCM
Bước 3: Tính độ sai khác giữa mỗi điểm dữ liệu với tâm cụm
Với 𝑪𝟏 𝟐. 𝟒, 𝟔. 𝟏
Ví dụ FCM
Bước 3: Tính độ sai khác giữa mỗi điểm dữ liệu với tâm cụm
Với 𝑪𝟐 𝟒. 𝟖, 𝟔. 𝟖
Ví dụ FCM
Cụm 1
Ví dụ FCM
Cụm 2
Ví dụ FCM
Bước 5: Quay lại bước 2 cho tới khi các tâm cụm không thay đổi
Đánh giá thuật toán FCM
Là thuật toán gom cụm mềm, khắc phục được vấn đề các cụm chồng lên
nhau trong dữ liệu có kích thước lớn, nhiều chiều.
Các phương pháp đánh giá việc phân cụm dữ liệu: đánh giá ngoài, đánh
giá nội bộ, đánh giá tương đối.
Một số tiêu chí để đánh giá chất lượng phân cụm là:
Độ nén (compactness): các phần tử của cụm phải “gần nhau”
Độ phân cách (separation): khoảng cách giữa các cụm nên “xa nhau”,
phân cách rõ ràng.
Đánh giá ngoài (external validation)
Là đánh giá kết quả phân cụm dựa vào cấu trúc/ xu hướng phân cụm
được chỉ định trước cho tập dữ liệu.
Các độ đo được sử dụng trong phương pháp này: Rand statistic, Jaccard
coefficient, Folkes và Mallows index….
Đánh giá nội bộ (internal validation)
Là đánh giá kết quả phân cụm mà không có thông tin từ bên ngoài, chủ
yếu dựa trên các vector chính của dữ thông qua ma trận xấp xỉ (proximity
matrix).
Đánh giá kết quả gom cụm bằng việc so sánh với:
Kết quả gom cụm ứng với các bộ trị thông số khác nhau.
Bài toán phân cụm khách hàng, dựa trên hành vi mua hàng
Demo bằng công cụ Orange
Kết quả
Tài liệu tham khảo
[1] Oded Maimon, Lior Rokach, “Data Mining and Knowledge Discovery
Handbook”, Second Edition, Springer Science + Business Media, LLC
2005, 2010
[2] Hillol Kargupta, Jiawei Han, Philip S. Yu, Rajeev Motwani, and Vipin
Kumar, “Next Generation of Data Mining”, Taylor & Francis Group, LLC,
2009
[3] Jiawei Han, Micheline Kamber, “Data Mining: Concepts and
Techniques”, Second Edition, Morgan Kaufmann Publishers, 2006
[4] Daniel T. Larose, “Data mining methods and models”, John Wiley &
Sons, Inc, 2006.
[5]R. Xu, D. Wunsch II. Survey of Clustering Algorithms. IEEE
Transactions on Neural Networks, 16(3), May 2005, pp. 645-678
TRONG GIỜ LÊN LỚP – TINH THẦN HỌC TẬP
97