Trường Đại học Công Nghệ ĐHQG Hà Nội Khoa Công nghệ thông tin Thuật toán xác định phần tử gây nhiễu (outlier) nhanh trong không gian đa chiều Môn: Kho dữ liệu và Khai phá dữ liệu GVHD: PGS.TS. Hà Quang Thụy Học viên: Bùi Thu Hải Vũ Thị Anh Trâm Tài liệu chính: Fabrizio Angiulli and Clara Pizzuti, Fast Outlier Detection in High Dimensional Spaces, ISI – CNR, co DEIS, Universita della Calabria 87036 Rende (CS), Italy. Sách đọc thêm: Hà Quang Thụy, Tập bài giảng môn Kho dữ liệu và khai phá dữ liệu. Các tài liệu điện tử khác
Trang 1Môn: Kho dữ liệu và Khai phá dữ liệu
GVHD: PGS.TS Hà Quang Thụy
Học viên: Bùi Thu Hải
Vũ Thị Anh Trâm
Trường Đại học Công Nghệ - ĐHQG Hà Nội
Khoa Công nghệ thông tin
Tiểu luận 8:
Thuật toán xác định phần tử gây nhiễu (outlier) nhanh
trong không gian đa chiều
Trang 2NộI DUNG TRÌNH BÀY
Trang 3TÀI LIệU
Tài liệu chính:
- Fabrizio Angiulli and Clara Pizzuti, Fast Outlier Detection in High Dimensional Spaces, ISI – CNR, c/o DEIS, Universita della Calabria 87036 Rende (CS), Italy.
Trang 41.GIớI THIệU
Xác định các phần tử gây nhiễu là 1 trong những nhiệm
vụ mà khai phá dữ liệu đang giải quyết.
Nhiều thuật toán xem các phần tử gây nhiễu như là các nhiễu, phải được loại bỏ vì nó làm giảm độ chính xác của thuật toán
Ví dụ trong các thuật toán phân lớp, phần tử bị gán nhãn sai
sẽ được coi là các phần tử gây nhiễu, chúng sẽ bị loại ra khỏi tập huấn luyện để tăng độ chính xác của kết quả phân lớp.
Tuy nhiên nhiễu của tập này có thể là phần tử quan trọng của tập khác.
Trang 5MộT Số CÁCH TIếP CậN CÁC PHầN Tử GÂY NHIễU BằNG PHƯƠNG PHÁP HọC KHÔNG
GIÁM SÁT
Dựa trên thống kê
Giả sử tập dữ liệu đưa ra có mô hình phân tán
Phần tử gây nhiễu là phần tử thỏa mãn 1 kiểm tra không
phù hợp nào đấy.
Dựa trên độ lệch chuẩn
Chỉ ra các đặc tính của phần tử Một phần tử mà lệch với
các đặc tính này là các phần tử gây nhiễu
Dựa trên quan sát tập dữ liệu khi được chiếu lên
không gian tìm kiếm ít chiều hơn
Trang 6MộT Số CÁCH TIếP CậN CÁC PHầN Tử GÂY NHIễU BằNG PHƯƠNG PHÁP HọC KHÔNG
GIÁM SÁT (TIếP)
Dựa trên biến đổi dạng sóng
Thuật toán FindOut do Yuetal giới thiệu
Dựa vào mật độ
Khả năng 1 phần tử có thể trở thành phần tử gây nhiễu phụ thuộc vào mật độ láng giềng địa phương (còn được gọi là “hệ số gây nhiễu cục bộ LOF” được gán cho mỗi đối tượng)
Nhược điểm : Chi phí tính toán LOF lớn vì phải tính LOF cho từng đối tượng.
Dựa trên khoảng cách
Thuật toán do Knorr và Ng giới thiệu
Thuật toán do Ramaswamy, Rastogi và Shim giới thiệu
Thuật toán HilOut do Fabrizio Angiulli và Clara Pizzuti giới thiệu
Trang 7CÁCH TIếP CậN DựA TRÊN KHOảNG
CÁCH
Thuật toán do Knorr và Ng giới thiệu: Cho tập dữ liệu a, các tham số k và δ Phần tử p ϵ a được gọi là phần tử gây nhiễu nếu có tối đa k điểm mà khoảng cách từ nó tới p ≤ δ.
Nhược điểm:
Phụ thuộc vào 2 tham số k và δ.
Không sắp xếp thứ bậc các phần tử gây nhiễu.
Thuật toán không thể áp dụng được trong không gian lớn hơn 5 chiều.
Trang 8CÁCH TIếP CậN DựA TRÊN KHOảNG CÁCH
(TIếP)
Thuật toán do Ramaswamy, Rastogi và Shim giới thiệu: Kí hiệu Dk(p) là khoảng cách từ p tới láng giềng gần nhất thứ k của p Cho k và n, điểm p được gọi là phần tử gây nhiễu nếu trong tập dữ liệu không có quá n–1 điểm khác mà giá trị D k của nó lớn hơn của p Điều này có nghĩa là n điểm có Dk
lớn nhất là phần tử gây nhiễu
Thuật toán có khả năng mở rộng tốt (lên tới 10 chiều)
Trang 9CÁCH TIếP CậN DựA TRÊN KHOảNG CÁCH
(TIếP)
Nhược điểm: Thuật toán không đề cập tới mật độ địa phương của các điểm và cho rằng các điểm có D k lớn hơn sẽ có mật
độ láng giềng thưa thớt hơn Điều này không hoàn toàn đúng
Ví dụ: Cho k = 10, D k (p1) = D k (p2), theo thuật toán p1 và p2 đều được xem là và phần tử gây nhiễu.
Trang 101 GIớI THIệU (TIếP)
Thuật toán Hilout do Fabrizio Angiulli và Clara Pizzuti giới thiệu.
Kí hiệu ω k (p) là tổng khoảng cách từ p tới k láng ghiềng gần nó nhất , còn được gọi là trọng số của p, được sử dụng để xếp thứ bậc các điểm trong tập dữ liệu.
Phần tử gây nhiễu là phần tử có có trọng số lớn.
Kí hiệu DB là tập dữ liệu d chiều trong siêu lập phương D = [0,1] d
Sử dụng đường cong Hilbert ánh xạ D sang đoạn I = [0,1], tìm k láng ghiềng gần nhất của mỗi điểm bằng cách xem xét các phần
tử đứng trước và đứng sau nó trong p.
Trang 111 GIớI THIệU (TIếP)
Sử dụng tính chất của ánh xạ: nếu 2 điểm gần nhau trong I thì chúng cũng gần nhau trong D, điều ngược lại không đúng
Để tránh việc mất điểm ở gần, tập dữ liệu được điều chỉnh d+1 lần dọc theo đường chéo chính của khối siêu lập phương [0,2] d
Không gian đường cong được sử dụng để ánh xạ từ không gian đa chiều sang không gian 1 chiều để tìm các điểm láng giềng gần nhất của mỗi điểm 1 cách nhanh chóng, nhưng
việc tính toán khoảng cách vẫn được thực hiện trong không gian gốc
Trang 121 GIớI THIệU (TIếP)
Giai đoạn 1: Cho kết quả xấp xỉ sau khi thực thi d+1 lần quét tập dữ liệu với chi phí thời gian thấp Trong suốt mỗi lần quét, giới hạn dưới tốt hơn cho trọng số của phần tử gây nhiễu thứ k của DB được lưu trữ và số các điểm ứng viên cho tập giải pháp giảm.
Giai đoạn 2: Cho kết quả chính xác bằng cách làm thêm
1 cái quét đơn để kiểm tra một phần dữ liệu Tuy nhiên theo kết quả thực nghiệm, chúng ta luôn tìm được kết quả chính xác sau d d1 bước.
Trang 132 ĐịNH NGHĨA VÀ KÍ HIệU (TIếP)
Khoảng cách giữa 2 điểm p(p 1 ,p 2 ,…,p d ) và q(q 1 ,q 2 ,…,q d )
và max1≤i≤d|pi-qi| với t = ∞
Cho tập dữ liệu DB, tham số k và n, điểm p ϵ DB Ta có
với nn i (p) là láng ghiềng gần nhất thứ i cua p trong DB.
Kí hiệu outliernk là phần tử gây nhiễu thứ n, nếu có đúng
n – 1 điểm q trong DB mà
Kí hiệu out* là tập n phần tử của DB.
Kí hiệu out nk là tập n phần tử gây nhiễu đầu tiên.
t
t d
t
L ( , ) ( 1| | )1/
Trang 142 ĐịNH NGHĨA VÀ KÍ HIệU (TIếP)
Kí hiệu là 1 số thực dương Ta nói out* là 1 ước chừng của outnk nếu Trong đó
Trang 15KHÔNG GIAN ĐƯờNG CONG
Tìm k láng ghiềng gần nhất của mỗi điểm bằng cách sử dụng không gian đường cong.
Năm 1890, Peano chứng minh tồn tại một ánh xạ liên tục từ đoạn I=[0,1] sang Q = [0,1] 2
Năm 1891, Hilbert định nghĩa 1 phương pháp chung để sinh ra 1 lớp đầy
đủ của không gian đường cong Ông nhận thấy rằng: nếu
1 đoạn I có thể được ánh xạ liên tục sang Q, sau đó nếu phân I thành 4 đoạn con và Q thành 4 hình vuông con phù hợp thì mỗi đoạn con có thể được ánh xạ sang 1 hình vuông con Các hình vuông con được sắp xếp sao cho mỗi cặp hình vuông con liên tục sẽ chung nhau 1 cạnh Nếu quá trình này kéo dài vô tận thì I và Q sẽ được phân thành 2 2h với h = 1,2,
Trang 16KHÔNG GIAN ĐƯờNG CONG (TIếP)
Với 1 ≤ h và 2 ≤ d, kí hiệu Hdh là xấp xỉ thứ h của không gian đường cong Hilbert d chiều, chúng ánh
xạ các đoạn con 2hd có chiều dài 1/2hd sang siêu lập phương con 2hd mà các điểm trung tâm được xem như các điểm trong không gian hữu hạn
Trang 17KHÔNG GIAN ĐƯờNG CONG (TIếP)
Hpred(p) và Hsucc(p) là 2 điểm đứng liền trước và đứng liền sau
p trong H(DB) theo thứ tự đường cong Hilbert.
Hpred(p,m) và Hsucc(p,m) là điểm đứng liền trước và liền sau thứ m của p.
Sử dụng tính chất: nếu 2 điểm trong khoảng đơn vị I là gần nhau thì hình ảnh tương ứng của chúng cũng gần nhau trong siêu lập phương D Điều ngược lại không đúng Do vậy việc giảm số chiều: từ d chiều sang 1 chiều có thể dẫn tới mất 1
số tính chất Để hạn chế điều này sử dụng thêm phương pháp chuyển dịch hoặc quay siêu lập phương D.
Trang 18PHƯƠNG PHÁP CHUYểN DịCH HOặC
QUAY SIÊU LậP PHƯƠNG D
Duy trì sự gần nhau của 2 điểm trong không gian d chiều bằng vài hệ số khi chúng chuyển sang không gian
1 chiều Số lần điều chỉnh phụ thuộc vào d chiều.
Trang 192 ĐịNH NGHĨA VÀ KÍ HIệU (TIếP)
Một vùng r là một siêu lập phương hở [0,2) d với chiều dài mỗi cạnh là r = 2 1-l có dạng
Trong đó với a i, 0 ≤ i < d và l ϵ N.
o Số vùng của cạnh r là –log2(r).
o Cho p và q MinReg(p,q) là cạnh nhỏ nhất của vùng r chứa p
và q MaxReg(p,q) là cạnh lớn nhất của vùng r chứa p nhưng không chứa q.Ta có:
Trang 202 ĐịNH NGHĨA VÀ KÍ HIệU (TIếP)
Ở đây pi là giá trị của p chiếu xuống tọa độ thứ i
Đặt p, q1, q2 là 3 điểm Ta có:
là bán kính láng giềng gần nhất của p chứa vùng r nhưng không chứa q1 hoặc q2
Trang 212 ĐịNH NGHĨA VÀ KÍ HIệU (TIếP)
Bổ đề 1: Cho 1 tập DB, 1 điểm p thuộc DB, 2 số nguyên dương a và b và 1 tập các điểm
Trang 223 THUẬT TOÁN
Thuật toán HilOut gồm 2 giai đoạn:
Thực hiện tối đa d + 1 lần quét tập dữ liệu vào và cho kết quả là - một xấp xỉ của Outkn , ở đây
, với chi phí thời gian phức tạp thấp
Thực hiện một lần quét đơn tập dữ liệu và tính toán Outkn để có được kết quả chính xác cần tìm
Trang 233 THUẬT TOÁN (tiếp)
Mỗi lần quét HilOut tính toán một cận dưới và cận trên tới trọng số wk của mỗi điểm và nó giữ các giá trị cận dưới lớn nhất trong WLB
Giá trị thứ n, w* trong WLB là 1 cận dưới tới trọng
số của phần tử gây nhiễu thứ n và nó được sử dụng để xác định các điểm có khả năng là các phần tử gây nhiễu
Tại mỗi vòng lặp, như kết quả thực nghiệm chỉ ra,
số các phần tử gây nhiễu dự tuyển giảm Điều này cho phép thuật toán tìm được kết quả chính xác trong ít bước:
Trang 243 THUẬT TOÁN (tiếp)
Trong thuật toán HilOut, mỗi điểm có 7 thành phần thuộc tính:
Hilbert : giá trị Hilbert tương ứng với điểm thứ h trong không gian đường cong Hilbert ánh xạ từ siêu lập phương [0,2) d sang tập số nguyên [0,2 hd )
kế tiếp trong DB (theo thứ tự Hilbert)
Trang 253 THUẬT TOÁN (tiếp)
trong siêu lập phương [0,1]d, số n các phần tử gây nhiễu cần tìm và k là số láng giềng gần nhất được chỉ định
của n các thuộc tính điểm OUT và WLB, tập TOP, một danh sách các thuộc tính điểm PF
WLB tương ứng là n giá trị lớn nhất của trường
TOP là tập 2n thuộc tính điểm phổ biến nhất được thiết lập từ sự kết hợp các thuộc tính được lưu trong OUT và WLB ở cuối lần lặp trước đó
Trang 263 THUẬT TOÁN (tiếp)
Thuật toán HilOut và thủ tục Scans
Trang 27 Độ phức tạp theo thời gian của thuật toán của
N* là số ứng viên phần tử gây nhiễu sau giai đoạn 1 thì độ phức tạp theo thời gian của giai đoạn 2 là
3 THUẬT TOÁN (tiếp)
Trang 284 KẾT QUẢ THỬ NGHIỆM VÀ KẾT LUẬN
Sử dụng ngôn ngữ lập trình C, máy 850 MH, 512M, dùng kiểu số thực dấu chấm động 64 bit biểu diễn tọa độ các điểm và khoảng cách
Thay đổi các tham số đa dạng về chiều d, kích thước tập dữ liệu N, số n của “top” các phần tử gây nhiễu cần tìm kiếm, số k láng giềng gần nhất.
Nghiên cứu số ứng cử viên phần tử gây nhiễu giảm như thế nào trong quá trình thực thi thuật toán
Thực hiện trên 3 họ tập dữ liệu: Gaussian, Clusters
và Densities Mỗi tập dữ liệu cùng một họ chỉ khác nhau về số điểm N và số chiều d.
Trang 294 KẾT QUẢ THỬ NGHIỆM VÀ KẾT LUẬN
(tiếp)
Thuật toán thực hiện xong với kết quả chính xác sau số lần lặp nhỏ hơn nhiều d+1 Trong thực tế, thuật toán này gần như không cần đến giai đoạn 2
Trong những trường hợp được xem xét, khi giữ nguyên kích thước tập dữ liệu N, tăng số chiều d thì tỉ lệ / (d+1) có sự giảm hợp lí Điều này cho thấy ưu điểm của phương pháp này với tập dữ liệu trong không gian có số chiều lớn.
Trang 304 KẾT QUẢ THỬ NGHIỆM VÀ KẾT LUẬN
(tiếp)
* Ví dụ kết quả thực nghiệm với tập dữ liệu Gausian
Trang 314 KẾT QUẢ THỬ NGHIỆM VÀ KẾT LUẬN
(tiếp)
Trang 324 KẾT QUẢ THỬ NGHIỆM VÀ KẾT LUẬN
Trang 334 KẾT QUẢ THỬ NGHIỆM VÀ KẾT LUẬN
(tiếp)