pram formula
RNN = in * out + out * out + out
LSTM = 4 * (in * out + out * out + out)
biLSTM= 2 * (4 * (in * out + out * out + out))
dense = in * out + out
pram formula
RNN = in * out + out * out + out
LSTM = 4 * (in * out + out * out + out)
biLSTM= 2 * (4 * (in * out + out * out + out))
dense = in * out + out
<1> Chọn ngẫu nhiên K điểm làm trung tâm của K cụm<2> Gán các điểm gần với mỗi cụm, nếu không có phép gán nào thì dừng<3> Tính lại trung tâm của mỗi cụm<4> Lặp lại bước 2
Khoảng cách euclid:
A(a1, a2) và B(b1, b2) => AB = sqrt(sqr(a1-b1) + sqr(a2-b2))
Khoảng cách manhattan:
A(a1, a2) và B(b1, b2) => AB = abs(a1-b1) + abs(a2-b2)
Giả sử có 4 sinh viên A, B, C, D. Mỗi sinh viên được biểu diễn bởi hai đặc trưng X, Y.
Sinh viên | Sở thích (X) | Quê quán (Y) |
A | 1 | 1 |
B | 2 | 1 |
C | 4 | 3 |
D | 5 | 4 |
Mục đích là nhóm các sinh viên đã cho vào 2 nhóm/phòng (K=2) dựa vào các đặc trưng của chúng.
Chọn điểm A là tâm của cụm 1, điểm B là tâm của cụm 2.
Khoảng cách euclid các điểm đến tâm của mỗi cụm:
A B C D
Cụm 1 0 1 3.6 5
Cụm 2 1 0 2.8 4.2
Gán các điểm cho gần với mỗi cụm:
Cụm 1 (A)
Cụm 2 (B, C, D)
Tính tâm của mỗi cụm:
Cụm 1 tâm (1,1)
Cụm 2 tâm ((2+4+5)/3 , (1+3+4)/3 ) = (3.6 , 2.6)
Khoảng cách euclid các điểm đến tâm của mỗi cụm:
A B C D
Cụm 1 0 1 3.6 5
Cụm 2 3.05 2.2 0.5 1.9
Gán các điểm cho gần với mỗi cụm:
Cụm 1 (A, B)
Cụm 2 (C, D)
Tính tâm của mỗi cụm:
Cụm 1 tâm (1.5, 1)
Cụm 2 tâm (4.5, 3.5)
Khoảng cách euclid các điểm đến tâm của mỗi cụm:
A B C D
Cụm 1 0.5 0.5 3.2 4.6
Cụm 2 4.3 3.5 0.7 0.7
Gán các điểm cho gần với mỗi cụm:
Cụm 1 (A, B)
Cụm 2 (C, D)
Vì phép gán lần này giống với lần trước nên thuật toán dừng
Vậy ta được 2 cụm (A, B) và (C, D)
POSoutlook(PlayTennis) = {D3, D7, D12, D13}
POStemp(PlayTennis) = POShumidity(PlayTennis) = POSwind(PlayTennis) = {null}
=> Chọn thuộc tính chia là Outlook, xây dựng 3 bảng quyết định (root Outlook)
T0 (brand overcast)
U1 | Temp | Humidity | Wind | Playtennis |
D3 | Hot | High | Weak | Yes |
D7 | Cool | Normal | Strong | Yes |
D12 | Mild | High | Strong | Yes |
D13 | Hot | Normal | Weak | Yes |
T1 (brand sunny)
U0 | Temp | Humidity | Wind | Playtennis |
D1 | Hot | High | Weak | No |
D2 | Hot | High | Strong | No |
D8 | Mild | High | Weak | No |
D9 | Cool | Normal | Weak | Yes |
D11 | Mild | Normal | Strong | Yes |
T2 (brand rain)
U1 | Temp | Humidity | Wind | Playtennis |
D4 | Mild | High | Weak | Yes |
D5 | Cool | Normal | Weak | Yes |
D6 | Cool | Normal | Strong | No |
D10 | Mild | Normal | Weak | Yes |
D14 | Mild | High | Strong | No |
Bảng T10:
U1 | Temp | Humidity | Wind | Playtennis |
D1 | Hot | High | Weak | No |
D2 | Hot | High | Strong | No |
D8 | Mild | High | Weak | No |
Bảng T11:
U1 | Temp | Humidity | Wind | Playtennis |
D9 | Cool | Normal | Weak | Yes |
D11 | Mild | Normal | Strong | Yes |
=> T10 là hệ thuần khiết vì các đối tượng có Humidity = High đều cho kết quả PlayTennis là No (brand High have leaf NO)
=> T11 là hệ thuần khiết vì các đối tượng có Humidity = Normal đều cho kết quả PlayTennis là Yes (brand Normal have leaf YES)
Xét bảng T2:
Từ bảng T2 ta có:
Bảng T20:
U1 | Temp | Humidity | Wind | Playtennis |
D4 | Mild | High | Weak | Yes |
D5 | Cool | Normal | Weak | Yes |
D10 | Mild | Normal | Weak | Yes |
Bảng T21:
U1 | Temp | Humidity | Wind | Playtennis |
D6 | Cool | Normal | Strong | No |
D14 | Mild | High | Strong | No |
=> T20 là hệ thuần khiết vì các đối tượng có Wind = Weak đều cho kết quả PlayTennis là Yes (brand weak have leaf YES)
=> T21 là hệ thuần khiết vì các đối tượng có Wind = Strong đều cho kết quả PlayTennis là No (brand strong have leaf NO)
Do các hệ quyết định cuối cùng đều là các hệ thuần khiết nên thuật toán xây dựng cây quyết định RDT dừng.
Ví dụ 2Armatage Shanks
Cho tập dữ liệu huấn luyện như sau :
RID | age | income | student | credit_rating | Class: bugs_computer |
1 | youth | high | no | fair | no |
2 | youth | high | no | excellent | no |
3 | middle_aged | high | no | fair | yes |
4 | senior | medium | no | fair | yes |
5 | senior | low | yes | fair | yes |
6 | senior | low | yes | excellent | no |
7 | middle_aged | low | yes | excellent | yes |
8 | youth | medium | no | fair | no |
9 | youth | low | yes | fair | yes |
10 | senior | medium | yes | fair | yes |
11 | youth | medium | yes | excellent | yes |
12 | middle_aged | medium | no | excellent | yes |
13 | middle_aged | high | yes | fair | yes |
14 | senior | medium | no | excellent | no |
Giải
POSage(bugs_computer) = {D3, D7, D12, D13}
POSincome(income) = POSincome(student) = POS(credit_rating) = {null}
=> Chọn age làm thuộc tính chính và xây dựng các bảng quyết định (chọn age làm root)
T0: (middle_aged)
3 | middle_aged | high | no | fair | yes |
7 | middle_aged | low | yes | excellent | yes |
12 | middle_aged | medium | no | excellent | yes |
13 | middle_aged | high | yes | fair | yes |
T1: (youth)
1 | youth | high | no | fair | no |
2 | youth | high | no | excellent | no |
8 | youth | medium | no | fair | no |
9 | youth | low | yes | fair | yes |
11 | youth | medium | yes | excellent | yes |
T2: (senior)
4 | senior | medium | no | fair | yes |
5 | senior | low | yes | fair | yes |
6 | senior | low | yes | excellent | no |
10 | senior | medium | yes | fair | yes |
14 | senior | medium | no | excellent | no |
Xét T0:
Toàn bộ đội tượng đều trả về kết quả YES nên đây là hệ thuần khiết (nhánh middle_aged sẽ trả về node lá YES)
1 | youth | high | no | fair | no |
2 | youth | high | no | excellent | no |
8 | youth | medium | no | fair | no |
9 | youth | low | yes | fair | yes |
11 | youth | medium | yes | excellent | yes |
4 | senior | medium | no | fair | yes |
5 | senior | low | yes | fair | yes |
10 | senior | medium | yes | fair | yes |
6 | senior | low | yes | excellent | no |
14 | senior | medium | no | excellent | no |