4.1.1 Bộ phân loại cây Hoeffding
Bộ phân loại cây Hoeffding là một trong những thuật toán được xếp vào dạng phân loại dựa trên cây quyết định (decision tree) được giới thiệu lần đầu tiên vào năm 2000 [32]. Thuật toán này được phát triển đặc biệt để giải quyết bài toán học trực tuyến (Online learning) khi dữ liệu đến liên tục. Thuật toán cây Hoeffding được xây dựng theo một giả định rằng phân bố của dữ liệu đến sẽ không thay đổi theo thời gian. Trong thuật toán này, một biên Hoeffding (bound) [33,34] được sử dụng để xác định chính xác số quan sát (mẫu) cần thiết để có thể chắc chắn rằng việc phân tách cây là cần thiết tại mỗi nút.
Xét biến ngẫu nhiên có giá trị thực có giá trị tối đa là (ví dụ với giá trị xác suất thìr R R=1hoặc nếu nó là giá trị Information Gain thìR=log2( )c , với là số nhãn lớp của dữ liệu). Giả sử rằng tại thời điểm hiện tại tac đã có quan sát độc lập và giá trị trung bình . Biên Hoeffding được phát biểu rằng với giá trị xác suấtn r 1−δ,
giá trị trung bình ít nhất của biến ngẫu nhiên làr r−εvới được tính như sau:ε ε=
rR2ln 1( /δ)
2n (4.1)
trong đó R là giá trị tối đa của biến ngẫu nhiên và là số quan sát độc lập [11].n
Biên Hoeffding có đặc điểm là độc lập với phân phối xác suất của dữ liệu. Tuy nhiên, sự khái quát hóa này cũng phải đánh đổi bởi các ràng buộc khác khi so sánh với các phương pháp phụ thuộc phân phối xác suất của dữ liệu (ví dụ như cần phải có nhiều quan sát hơn để đạt được xác suất và tương đương). Gọiδ ε G x( ( )i là giá trị heuristic dùng để đánh giá xem thuộc tính nào là tốt để phân tách cây (ví dụ như giá trị Information Gain trong thuật toán C4.5 hay chỉ số Gini trong thuật toán CART). Mục đích của biên Hoeffding được sử dụng để đảm bảo rằng việc lựa chọn thuộc tínhx( )i nào đủ tốt để phân tách cây với chỉ quan sát thay vì phải dùng toànn bộ quan sát trong tập dữ liệu. Giả sửx( )a là thuộc tính có giá trị heuristic cao nhất sau khi quan sát được mẫun vàx( )b là thuộc tính có giá trị heuristic có giá trị cao thứ hai. Đặt∆G= (G x( )a)−G x( ( )b)≥0là sự khác biệt giữa hai giá trị heuristic của 2 thuộc tính được quan sát. Với một xác suất định trước, biên Hoeffding sẽ đảmδ bảo rằng thuộc tínhx( )a là thuộc tính khả quan nhất có thể chọn để chia tách cây với xác suất là1−δ khi cón quan sát đã biết và giá trị∆G>ε. Mặt khác, nếu giá trị∆G>εthì biên Hoeffding cũng đảm bảo rằng giá trị
∆G≥∆G−εvới xác suất là1−δ. Vì vậy thuộc tínhx( )a chính là thuộc tính tốt nhất để chia tách cây với độ tin cậy là1−δ.
Domingos và Hulten đưa ra một chứng minh rằng cây Hoeffding phân loại thu được sẽ tương tự cây quyết định học được thông qua phương pháp học theo lô. Nói cách khác, bản chất gia tăng của thuật toán cây Hoeffding không ảnh hưởng đáng kể đến chất lượng của cây mà nó sinh ra. Điều này cho thấy rằng thuật toán có thể tạo ra các cây có cùng chất lượng như các cây học theo lô, mặc dù được tạo ra theo cách gia tăng. Phát hiện này rất quan trọng vì các cây quyết định được học như C4.5 và CART là một trong những mô hình học máy hiệu quả.
Dựa trên các cây Hefting và một số cải tiến, Domingo’s và Holtan cũng đưa ra mô tả cho thuật toán học trực tuyến dựa trên cây có tên VFDT - Very Fast Decision Tree. Mã giả của thuật toán VFDT được trình bày dưới đây:
• Các thông số thống kê để tính toán giá trị Information Gain khi xác định thuộc tính cần để chia tách nút như entropy.
• nminlà tham số giai đoạn Grace, giúp cho thuật toán xác định biên saunmin quan sát đến.
• x( )φ mô tả thuộc tính rỗng tức là không còn chia tách nào nữa. Do vậy việc chia tách trên cây chỉ xảy ra khi đạt được ngưỡng của độ tin cậy1−δ.
• τlà ngưỡng kết thúc nếu sự khác biệt giữa hai giá trịGlthứ nhất và thứ hai là không lớn hơn thì cây sẽτ được chia tách luôn tại nút hiện tại.
Mô hình cây Hoeffding là khác biệt với các thuật toán học theo dạng cây quyết định khác như ID3, C4.5 và CART. Các thuật toán học theo dạng cây quyết định thường được giả định rằng toàn bộ không gian dữ liệu được lưu trữ trong bộ nhớ của máy, trong khi quá trình cập nhật cây Hoeffding chỉ thực hiện với các dữ liệu mới đến
và sau đó sẽ loại bỏ nó khỏi bộ nhớ. Một đặc tính quan trọng của mô hình cây Hoeffding đó là nó có thể tạo ra được cây gần tiệm cận với cây mà được tạo ra bởi thuật toán học theo lô (batch learning) [ ]. Hiện nay có một47 số biến thể của thuật toán cây Hoeffding được biết đến là CVFDT [ ], VFDT48 c[ ], UFT [ ] và Adaptive49 50 Hoeffding tree [ ].51
Đối với các thiết lập theo đợt, các nghiên cứu gần đây [ ] đã chỉ ra rằng các cây quyết định đơn không còn27 là phương pháp học tốt nhất. Tuy nhiên, chúng có tính cạnh tranh khi được sử dụng làm mô hình cơ sở trong các phương pháp học kết hợp. Vì lý do này, hầu hết các cây quyết định trực tuyến được thực hiện trong một thuật toán kết hợp để có được hiệu suất phân loại cao hơn.
Algorithm 7Mô tả giải thuật VFDT
1: Khởi tạo câyH Tvới nút lá cũng chính là nút gốc.l
2: fori=1.. .N do
3: Đưa quan sát vào nút lá lá của câyl H T
4: Cập nhật tham số thống kê hiệu quả của nútl
5: Tăng giá trị số quan sát đã đếnnl
6: ifnl modnmin= 0 và số quan sát đến thời điểm hiện tại đều không thuộc cùng một lớpthen
7: Tính giá trịGl(x( )i )với mỗi thuộc tínhx( )i
8: Đặt thuộc tínhx( )a là thuộc tính có giá trịGlcao nhất
9: Đặt thuộc tínhx( )b là thuộc tính có giá trịGlcao thứ hai
10: Tính giá trị biên Hoeffdingε= r
R2ln(δ1) 2nl
11: ifx( )a 6=x( )φ và(Gl(x( )a )−Gl(x( )b)>εhoặcε<τ)then
12: Chia tách cây tại nút theo thuộc tínhl x( )a
13: formỗi nhánh của nút chia táchdo
14: Thêm nút mới với các tham số thống kê khởi tạo
15: end for
16: end if
17: end if
18: end for
4.1.2 Các phép chiếu ngẫu nhiên
Giả sử có một tập đặc trưng p chiềuD={x1,x2,. .. ,xn} ⊂Rp, hai nhà toán học William B. Johnson và Joram Lindenstrauss chứng minh rằng tồn tại một hàm tuyến tính biến đổi một không gian chiều (p Rpkhông gian số chiều cao) về một không gian có chiều < (q p Rqkhông gian có số chiều thấp) sao cho khoảng cách giữa các điểm dữ liệu được bảo toàn với một xác suất cao với một số điều kiện [ ].52
T:Rp→Rq:Z T= [ ] =D {z1,z2,. .. ,zn} ⊂Rq,zi= (T xi) (4.2)
Phép biến đổi tuyến tínhTđược biểu diễn bởi một ma trậnRnhư sau:zi= (T xi) =Rxi. Khi mỗi thành phần của ma trận được tạo ra theo một phân phối ngẫu nhiên nào đó thì được gọi là phép chiếu ngẫu nhiênR T (random projection).
Phép chiếu ngẫu nhiên có 2 thuộc tính đáng chú ý đó là:
• Phép chiếu ngẫu nhiên là một công cụ rất hiệu quả trong bài toán giảm chiều dữ liệu (dimensionality reduction) do số chiều của không gian chuyển đổi có thể được lựa chọn thấp hơn rất nhiều so với không gian gốc (qp). Trong nhiều bài toán thực tế, phép chiếu ngẫu nhiên được ưa dùng hơn thuật toán phân tích thành phần chính (Principle Component Analysis - PCA) do phép chiếu ngẫu nhiên không bị phụ thuộc vào dữ liệu và dễ dàng tính toán với chi phí thấp [ ].53
• Fern và Brodley [ ] đã chỉ ra rằng các phép chiếu ngẫu nhiên thường không ổn định do không gian được54 chiếu đến thông qua các ma trận ngẫu nhiên, nhưng ma trận này thường rất khác nhau. Đối với các thuật toán học kết hợp, tính bất ổn định này được coi là một ưu điểm do nó có thể tạo ra các bộ phân loại kết hợp đa dạng hơn.
Trong mô hình mà tác giả đề xuất,Kma trận ngẫu nhiên{R( )k }k=1,. .. ,Kđược tạo ra để xây dựng mô hình học kết hợp. Tác giả tạo ra các ma trận này với thủ tục tương tự trong tài liệu [ ], trong đó các phép chiếu55 được hiểu đơn giản là tích của ma trận ngẫu nhiênR( )k =√1q{r( )i jk }vớiri jlà các biến ngẫu nhiên có trung bình là E(r( )i jk ) =0và phương sai là var(r( )i jk) =1. Các dạng khác nhau của ma trận ngẫu nhiênR( )k được tổng hợp như trong tài liệu [ ] bao gồm:55
• Phép chiếu ngẫu nhiên Bernoulli (hay còn gọi là Plus-minus-one): r( )i jk được lựa chọn ngẫu nhiên trong tập{−1 1, }do đó xác suấtP r( ( )i jk = ) = (1 P r( )i jk =−1) =12
• Phép chiếu ngẫu nhiên Achlioptas: r( )i jk được lựa chọn ngẫu nhiên trong tập {−√ 3 0, ,√
3} vì vậy P r(( )i jk =−√
3) = (P r( )i jk =√
3) =13 vàP r( ( )i jk = ) =0 23.
• Phép chiếu ngẫu nhiên Gaussian:ri j( )k được lựa chọn tuân theo một phân phối GaussianN(0 1, ). Tính đa dạng của phương pháp phép chiếu ngẫu nhiên đã được áp dụng trong nhiều lĩnh vực thực tế như thị giác máy tính (computer vision), xử lý ảnh, khai phá thuốc và tin sinh học. Bingham và Mannila [ ] đã thực53 hiện một nghiên cứu giảm chiều dữ liệu sử dụng phép chiếu ngẫu nhiên cho bài toán với số chiều cao. Ngoài ra, phương pháp này còn được áp dụng cho các bài toán dữ liệu có nhiễu hay truy vấn thông tin trong tìm kiếm văn bản. Schclar và Lokach [ ] đã xây dựng một mô hình phân loại nhiều phân lớp trong đó các tập dữ liệu56 được tạo ra bằng cách sử dụng ma trận ngẫu nhiên. Thử nghiệm của họ thực hiện trên bộ học kết hợp từ 10 thuật toán học cơ bản đã chứng minh rằng kết quả của phương pháp sử dụng phép chiếu ngẫu nhiên là tốt hơn so với các thuật toán học kết hợp khác như Bagging và Random Subspace. Phép chiếu ngẫu nhiên được ứng dụng rất nhiều trong các bài toán học trực tuyến với dữ liệu có số chiều cao đến lần lượt theo thời gian như là một phương pháp để tiền xử lý giảm chiều dữ liệu.