SlideShare a Scribd company logo
1 of 40
Download to read offline
Statistical Classification
Lê Hồng Phương
Data Science Laboratory
<phuonglh@hus.edu.vn>
December 3, 2018
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 1 / 159
Content
1 Introduction
2 Datasets
3 Common Methods
Decision Trees
Naive Bayes Models
Binary-Valued Features
Real-Valued Features
Logistic Regression
Binary Model
Multinomial Model
Artificial Neural Networks
4 Summary
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 2 / 159
Introduction
Bài toán phân loại
Kí hiệu mỗi đối tượng cần phân loại là x. Ta cần phân loại tự động x
vào một trong K loại khác nhau, đánh số từ 1 tới K.
x =⇒ y = f (x) ∈ {1, 2, . . . , K} .
Mỗi đối tượng (còn gọi là mẫu dữ liệu vào) x được mô tả dưới dạng
một danh sách đặc trưng (thuộc tính). Ví dụ:
Nếu x là một người thì ta có thể dùng danh sách tên, tuổi, thâm niên
công tác (tính theo năm), mức thu nhập tháng, v.v.
x1 = (Nghêu, 20, 2, 10.5)
x2 = (Hến, 30, 8, 15.3)
Giả sử ngân hàng muốn phân loại mỗi khách hàng x thành một trong
các loại: 1 = khách bình thường, 2 = khách hàng bậc trung, 3 =
khách hàng VIP, etc.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 3 / 159
Introduction
Ví dụ: Phân loại tự động bình luận của khách hàng VNA
staff need further training.
Sabre web check-in runs very slow and sometime not responding.
I would like to improve the processing speed of the baggage.
if that is still delay similar i am not sure, i may try other airline.
your website is just shit.
yêu cầu dịch vụ ẩm thực phong phú hơn, giải trí đa dạng hơn.
thủ tục hơi lâu.
phần kiểm tra an ninh nên cho hội viên vàng đi lối ưu tiên.
Online demo: http://vlsp.org.vn:8080/vitk/opm/index.xhtml
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 4 / 159
Introduction
Học có hướng dẫn
Ta muốn xây dựng một chương trình máy tính phân loại tự động, với
mỗi x, chương trình dự báo tự động y. Mỗi phương pháp phân loại
tương ứng với một hàm toán học y = f (x).
Hàm f là hàm có tham số θ, ta kí hiệu fθ(x) hoặc f (x; θ).
Giả sử ta có một tập dữ liệu huấn luyện:
D = {(x1, y1), (x2, y2), . . . , (xN , yN)}
Ta dùng tập dữ liệu D để tìm giá trị tham số θ phù hợp nhất. Mục
tiêu: dự báo chính xác nhất cho các dữ liệu x mới, không thuộc D.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 5 / 159
Introduction
Phân loại xác suất
Với cách tiếp cận phân loại xác suất, ta tính phân phối xác suất có
điều kiện của mỗi loại y khi đã biết x, tức là tính
P(y = k| x), ∀k = 1, 2, . . . , K.
Chú ý rằng
PK
k=1 P(y = k| x) = 1.
Phân phối xác suất P(y = k| x) được gọi là phân phối hậu nghiệm.
Còn phân phối P(y = k) gọi là phân phối tiên nghiệm (trước khi biết
dữ liệu).
Khi đã tính được phân phối hậu nghiệm thì việc phân loại x là dễ
dàng: tìm loại k sao cho P(y = k| x) là lớn nhất:
ŷ = arg max
k
P(y = k| x).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 6 / 159
Introduction
Mô hình phân biệt
Trong mô hình phân biệt, ta xây dựng một hàm trực tiếp mô phỏng
phân phối hậu nghiệm P(y = k| x)
Ví dụ:
P(y = 1| x; θ) = fθ(x) =
1
1 + exp(−θ · x)
Đây là dạng mô hình hồi quy logistic.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 7 / 159
Introduction
Mô hình sinh
Mô hình sinh mô phỏng phân phối đồng thời của x và y: P(x, y; θ).
Theo quy tắc Bayes:
P(x, y; θ) = P(x |y; θ) × P(y; θ).
Như vậy, trong mô hình sinh, ta cần tính phân phối P(x |y) và phân
phối tiên nghiệm P(y).
Từ đó mới tính phân phối hậu nghiệm
P(y| x; θ) =
P(x |y; θ)P(y; θ)
P(x; θ)
.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 8 / 159
Introduction
Đánh giá mô hình
Giả sử ta có mô hình fθ phân loại mỗi đối tượng x vào loại ŷ = fθ(x).
Ta sử dụng một tập dữ liệu đánh giá (dữ liệu kiểm tra):
D∗
= {(x1, y1), (x2, y2), . . . , (xM, yM )}
Một độ đo đơn giản và hay dùng để đánh giá mô hình tốt hay xấu là
độ chính xác – đếm tỉ lệ phân loại đúng:
accuracy =
PM
i=1 δ(ŷi ≡ yi )
M
,
trong đó δ(·) là hàm chỉ số: δ(true) = 1, δ(false) = 0.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 9 / 159
Datasets
Các tập dữ liệu ví dụ
Trong bài giảng này, ta sẽ dùng 6 tập dữ liệu minh hoạ sau đây:
1 Spam Emails
2 Breast Cancer
3 Iris Flowers
4 Wine Quality
5 Image Classification
6 Hand-written Digits
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 10 / 159
Datasets
Phân loại thư rác
Tập dữ liệu Spambase1 cung cấp 4601 mẫu thư điện tử tiếng Anh
dạng thư rác và không phải thư rác.
Tập dữ liệu này thường được dùng để đánh giá hiệu quả của các
thuật toán lọc thư rác tự động.
Một số tính chất của tập dữ liệu này:
Tính chất của dữ liệu: đa chiều
Kích thước mẫu: 4601
Kiểu của đặc trưng: số nguyên và số thực
Số đặc trưng: 57
1
http://archive.ics.uci.edu/ml/datasets/Spambase
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 11 / 159
Datasets
Phân loại thư rác
Danh sách các đặc trưng của tập dữ liệu này như sau:
48 số thực trong đoạn [0, 100] thuộc kiểu word_freq_WORD là phần
trăm từ trong thư là WORD, tức là 100*(số lần từ WORD xuất hiện
trong thư) / tổng số từ trong thư.
Mỗi “từ” là bất kì một chuỗi kí tự nào, có thể là từ theo nghĩa thông
thường hoặc một kí hiệu (token).
Một số từ thuộc 48 từ được xét: make, address, all, 3d, our, money,
technology, conference.
6 số thực trong đoạn [0, 100] thuộc kiểu char_freq_WORD là phần
trăm kí tự trong thư là CHAR, tức là 100*(số lần kí tự CHAR xuất
hiện trong thư) / tổng số kí tự trong thư. Sáu kí tự được xét là ;, (, [,
!, $ và #.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 12 / 159
Datasets
Phân loại thư rác
1 số thực trong đoạn [1, . . . ] thuộc kiểu capital_run_length_average
là độ dài trung bình của các chuỗi chứa toàn các kí tự hoa trong thư.
1 số nguyên trong đoạn [1, . . . ] thuộc kiểu
capital_run_length_longest là độ dài của chuỗi dài nhất chứa toàn
các kí tự hoa.
1 số nguyên trong đoạn [1, . . . ] thuộc kiểu capital_run_length_total
là tổng độ dài của các chuỗi chứa toàn các kí tự hoa, tức là tổng số
kí tự hoa trong thư.
Nếu thư là thư rác thì nó được đánh dấu thuộc lớp 1, không phải thư rác
thì thuộc lớp 0.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 13 / 159
Datasets
Chẩn đoán ung thư
Bộ dữ liệu về bệnh nhân ung thư vú của Đại học Wisconsin–Madison,
Hoa Kỳ.2.
Để dự báo một bệnh nhân có mắc phải bệnh ung thư vú hay không,
người ta lấy mẫu sinh thiết (FNA–Fine Needle Aspiration) của khối u
và phân tích mẫu này.
Lấy một lát cắt của mẫu để soi dưới kính hiển vi, quét và ghi lại mẫu
dưới dạng các khung ảnh số của các nhân tế bào.
Sau khi đã cô lập các nhân tế bào, ta tiến hành tính toán 10 đặc tính
của nhân, đo kích thước, hình dạng, kết cấu của chúng.
Với mỗi đặc trưng này, ta tính toán giá trị trung bình, độ lệch chuẩn,
các giá trị cực trị.
2
Wisconsin Diagnostic Breast Cancer (WDBC),
http://www.cs.wisc.edu/~olvi/uwmp/cancer.html
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 14 / 159
Datasets
Chẩn đoán ung thư
Có 30 đặc trưng giá trị thực cho mỗi mẫu.
Tập huấn luyện có 569 mẫu dữ liệu, trong đó có 357 mẫu u lành tính,
212 mẫu u ác tính.
Với mỗi nhân tế bào, người ta tính 10 đặc trưng sau:
STT. Đặc trưng Giải thích
0. radius trung bình các khoảng cách từ trung tâm tới các
điểm trên chu vi
1. texture kết cấu, là độ lệch chuẩn của các giá trị thang
xám
2. perimeter chu vi
3. area diện tích
4. smoothness độ trơn, là độ biến đổi cục bộ theo các độ dài
bán kính
5. compactness độ đặc, tính bởi perimeter2 / area - 1.0
6. concavity độ lõm
7. concave points số phần lõm của các đường viền
8. symmetry độ đối xứng
9. fractal dimension số chiều fractal
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 15 / 159
Datasets
Chẩn đoán ung thư
Mỗi mẫu cần chẩn đoán có 30 đặc trưng:
Đặc trưng thứ nhất là trung bình của radius
Đặc trưng thứ 11 là độ lệch chuẩn của radius
Đặc trưng thứ 21 là radius lớn nhất, được tính bởi giá trị trung bình
của 3 giá trị lớn nhất.
Hai mẫu ví dụ được gán các lớp tương ứng là ác tính (M–malignant)
và lành tính (B–benign).
1 M, 17.99, 10.38, 122.8, 1001, 0.1184, 0.2776, 0.3001, 0.1471, 0.2419,
0.07871, 1.095, 0.9053, 8.589, 153.4, 0.006399, 0.04904, 0.05373,
0.01587, 0.03003, 0.006193, 25.38, 17.33, 184.6, 2019, 0.1622, 0.6656,
0.7119, 0.2654, 0.4601, 0.1189
2 B, 7.76, 24.54, 47.92, 181, 0.05263, 0.04362, 0, 0, 0.1587, 0.05884,
0.3857, 1.428, 2.548, 19.15, 0.007189, 0.00466, 0, 0, 0.02676,
0.002783, 9.456, 30.37, 59.16, 268.6, 0.08996, 0.06444, 0, 0, 0.2871,
0.07039
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 16 / 159
Datasets
Hoa Iris
Tập dữ liệu về hoa Iris3 nổi tiếng trong lĩnh vực nhận dạng.
Xuất hiện trong bài báo của Ronald Fisher năm 1936, ngày nay vẫn
được dùng thường xuyên.
Tập huấn luyện: 130 mẫu, tập kiểm tra: 20 mẫu
Đặc trưng Lớp
độ dài của lá đài Setosa
độ rộng của lá đài Versicolour
độ dài của cánh hoa Virginica
độ rộng của cánh hoa
3
http://archive.ics.uci.edu/ml/datasets/Iris
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 17 / 159
Datasets
Chất lượng rượu vang
Two datasets related to red and white vinho verde wine samples, from
the north of Portugal.
The goal is to model wine quality based on physicochemical tests.
http://archive.ics.uci.edu/ml/datasets/Wine+Quality
Number of instances: red wine = 1599; white wine = 4898; D = 11.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 18 / 159
Datasets
Phân loại ảnh
Tập ảnh được cung cấp bởi nhóm nghiên cứu thị giác máy tính của
Đại học Massachusetts, Hoa Kỳ.
Tập dữ liệu gồm 210 ảnh dùng để huấn luyện mô hình và 2100 ảnh
dùng để kiểm tra độ chính xác của mô hình.
Mỗi ảnh được phân vào một trong 7 lớp sau: mặt gạch (brickface),
bầu trời (sky), lá cây (foliage), xi-măng (cement), cửa sổ (window),
đường đi (path) và cỏ (grass).
Mỗi lớp có 30 mẫu huấn luyện và 300 mẫu kiểm tra.
Các mẫu ảnh được trích ra từ 7 bức ảnh ngoài trời và được phân
đoạn bằng tay để tạo phân loại cho từng điểm ảnh. Mỗi mẫu ảnh là
một vùng điểm ảnh kích thước 3 × 3.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 19 / 159
Datasets
Phân loại ảnh
Mỗi mẫu có 19 đặc trưng là các số thực:
1 region-centroid-col: chỉ số cột của điểm ảnh trung tâm của vùng;
2 region-centroid-row: chỉ số hàng của điểm ảnh trung tâm của vùng;
3 region-pixel-count: số điểm ảnh của vùng, ở đây bằng 9;
4 short-line-density-5: kết quả của một thuật toán trích đoạn thẳng, là
số đoạn thẳng độ dài 5 (hướng bất kì) với độ tương phản thấp, nhỏ
hơn hoặc bằng 5, đi qua vùng ảnh;
5 short-line-density-2: giống như short-line-density-5 nhưng đếm số
đoạn thẳng có độ tương phản cao, lớn hơn hoặc bằng 5;
6 vedge-mean: đo độ tương phản của các điểm ảnh nằm kề nhau theo
chiều ngang trong vùng. Có 6 điểm ảnh, giá trị trung bình và độ lệch
chuẩn cho trước. Đặc trưng này được sử dụng để phát hiện cạnh dọc.
7 vegde-sd: xem đặc trưng 6;
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 20 / 159
Datasets
Phân loại ảnh
8 hedge-mean: đo độ tương phản của các điểm ảnh kề nhau theo chiều
dọc. Được sử dụng để phát hiện đoạn nằm ngang;
9 hedge-sd: xem đặc trưng 8;
10 intensity-mean: giá trị trung bình trong vùng của (R + G + B)/3;
11 rawred-mean: giá trị trung bình trong vùng của giá trị R;
12 rawblue-mean: giá trị trung bình trong vùng của giá trị G;
13 rawgreen-mean: giá trị trung bình trong vùng của giá trị G;
14 exred-mean: đo màu đỏ thừa: (2R − (G + B));
15 exblue-mean: đo màu xanh da trời thừa : (2B − (G + R));
16 exgreen-mean: đo màu xanh lá cây thừa: (2G − (R + B));
17 value-mean: biến đổi phi tuyến 3 − d của RGB.
18 saturation-mean: xem đặc trưng 17;
19 hue-mean: xem đặc trưng 17.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 21 / 159
Datasets
Nhận dạng chữ viết tay
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 22 / 159
Datasets
Nhận dạng chữ viết tay
The set contains 5000 training examples.
This is a subset of the MNIST hand-written digit dataset:
http://yann.lecun.com/exdb/mnist/
Each training example is a 20x20 pixels grayscale image of the digit.
Each pixel is represented by a floating point number indicating the
grayscale intensity at that location.
The 20x20 grid of pixel is unrolled into a 400-dimensional vector.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 23 / 159
Common Methods Decision Trees
Content
1 Introduction
2 Datasets
3 Common Methods
Decision Trees
Naive Bayes Models
Binary-Valued Features
Real-Valued Features
Logistic Regression
Binary Model
Multinomial Model
Artificial Neural Networks
4 Summary
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 24 / 159
Common Methods Decision Trees
Decision Trees
Cây quyết định ánh xạ mỗi x ∈ RD
thành y bằng các quyết định nhị
phân:
Mỗi nút trên cây có một luật phân tách.
Mỗi nút lá gắn với một giá trị ra (loại y).
Mỗi luật phân tách có dạng
h(x) = δ(xj > t),
với mỗi thuộc tính j của x và t ∈ R.
x1 > 1.7
y = 1 x2 > 2.8
y = 2 y = 3
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 25 / 159
Common Methods Decision Trees
Decision Trees
1.5 2 2.5 3
2
3
4
5
6
sepal length/sepal width
petal
length/petal
width
Phân loại hoa Iris với các độ
đo về lá đài và cánh hoa:
x ∈ R2
, y ∈ {1, 2, 3}
x1 = sepal length/width
x2 = petal length/width
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 26 / 159
Common Methods Decision Trees
Decision Trees
1.5 2 2.5 3
2
3
4
5
6
sepal length/sepal width
petal
length/petal
width
Phân loại hoa Iris với các độ
đo về lá đài và cánh hoa:
x ∈ R2
, y ∈ {1, 2, 3}
x1 = sepal length/width
x2 = petal length/width
x1 > 1.7
y = 1 y = 3
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 27 / 159
Common Methods Decision Trees
Decision Trees
1.5 2 2.5 3
2
3
4
5
6
sepal length/sepal width
petal
length/petal
width
Phân loại hoa Iris với các độ
đo về lá đài và cánh hoa:
x ∈ R2
, y ∈ {1, 2, 3}
x1 = sepal length/width
x2 = petal length/width
x1 > 1.7
y = 1 x2 > 2.8
y = 2 y = 3
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 28 / 159
Common Methods Decision Trees
Xây dựng cây quyết định
Phương pháp cơ bản để xây dựng cây quyết định: thuật toán tham từ trên
xuống (top-down greedy algorithm):
Xuất phát từ một nút lá chứa toàn bộ dữ liệu
Lặp các bước sau:
Chọn một nút lá để chia tách tốt nhất (giảm độ không chắc chắn
nhiều nhất)
Tìm luật quyết định trên một trong các thuộc tính
Kiểm tra điều kiện dừng
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 29 / 159
Common Methods Decision Trees
Xây dựng cây quyết định
Mỗi khi phân tách một vùng Rm nào đó, ta cần đo xem độ tốt (hoặc
tồi) hiện tại của vùng và khả năng cải thiện nó khi vùng đó được chia
tách.
Với mỗi x ∈ Rm, gọi pk là tỉ lệ các mẫu được gán nhãn k trong tập
dữ liệu.
Ba độ đo chất lượng hay dùng:
1 Sai số phân loại: 1 − maxk pk
2 Chỉ số Gini: 1 −
P
k p2
k
3 Entropy: −
P
k pk log2 pk
Các độ đo này đều là lớn nhất khi pk phân phối đều trên K lớp ở
trong Rm.
Các độ đo này là nhỏ nhất khi pk = 1 với một k nào đó (Rm chỉ chứa
một lớp)
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 30 / 159
Common Methods Decision Trees
Học cây quyết định
Hai thuật toán học cây quyết định điển hình:
CART (Classification and Regression Trees): Dùng chỉ số Gini làm độ
đo
ID3 (Iterative Dichotomiser 3): Dùng hàm Entropy làm độ đo
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 31 / 159
Common Methods Decision Trees
Học cây quyết định - CART
1.5 2 2.5 3
2
3
4
5
6
sepal length/sepal width
petal
length/petal
width
x1 > 1.7
y = 1 y = 3
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 32 / 159
Common Methods Decision Trees
Học cây quyết định - CART
Tìm R1 và R2 để chọn cách tách.
R1 : y = 1 các lá đã được phân loại hoàn toàn.
R2 : y = 3 các lá có chỉ số Gini:
u(R2) = 1 −

1
101
2
−

50
101
2
−

50
101
2
= 0.50975
Độ tăng của chỉ số Gini khi tách Rm thành hai vùng R−
m và R+
m :
u(Rm) −

pR−
m
× u(R−
m ) + pR+
m
× u(R+
m )

pR−
m
là tỉ lệ dữ liệu trong Rm được tách thành R−
m .
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 33 / 159
Common Methods Decision Trees
Học cây quyết định - CART
Thử tách R2 bằng các luật dạng δ(x1  t)
1.6 1.8 2 2.2 2.4 2.6 2.8 3
0
0.005
0.01
0.015
0.02
t
reduction
in
uncertainty
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 34 / 159
Common Methods Decision Trees
Học cây quyết định - CART
Thử tách R2 bằng các luật dạng δ(x2  t)
2 2.5 3 3.5 4 4.5
0
0.05
0.1
0.15
0.2
t
reduction
in
uncertainty
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 35 / 159
Common Methods Decision Trees
Tỉa cây
Khi nào thì ta nên dừng tách các nút?
Phương pháp giảm độ chắc chắn không phải là cách tốt nhất.
Trong thực tế, người ta dùng thuật toán tỉa bớt (pruning). Phát triển
cây tới kích thước lớn, sau đó sử dụng một thuật toán để co cây lại
dần.4
4
Ta không trình bày thuật toán này ở trong bài giảng.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 36 / 159
Common Methods Decision Trees
Quá khớp
Sai số trên tập huấn luyện tiến dần về 0 khi kích thước cây lớn dần.
Sai số trên tập kiểm tra giảm dần, nhưng sau đó lại tăng dần vì hiện
tượng quá khớp (overfitting).
number of nodes
classification
error
training error
test error
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 37 / 159
Common Methods Naive Bayes Models
Content
1 Introduction
2 Datasets
3 Common Methods
Decision Trees
Naive Bayes Models
Binary-Valued Features
Real-Valued Features
Logistic Regression
Binary Model
Multinomial Model
Artificial Neural Networks
4 Summary
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 38 / 159
Common Methods Naive Bayes Models
Đặc trưng có giá trị nhị phân
Assumption: All features are binary (xj ∈ {0, 1}) and conditionally
independent given its class y.
We have
P(x, y; θ) = P(x |y; θ)P(y; θ)
=
D
Y
j=1
P(xj |y; θ)P(y; θ).
Parameters of the model:
θk = P(y = k), ∀k = 1, 2, . . . , K
θj|k = P(xj = 1|y = k), ∀j = 1, 2, . . . , D; ∀k = 1, 2, . . . , K
Note that θK = 1 −
PK−1
k=1 θk, the model has (K − 1) + DK
parameters.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 39 / 159
Common Methods Naive Bayes Models
Ước lượng hợp lí cực đại
The likelihood of a dataset of N samples (x1, y1), . . . , (xN , yN) is
L(θ) =
N
Y
i=1
P(xi , yi ) =
N
Y
i=1


D
Y
j=1
P(xij |yi ; θ)P(yi ; θ)


=
N
Y
i=1


D
Y
j=1
βj|yi
θyi

 ,
where
βj|k =
(
θj|k, if xj = 1
1 − θj|k, if xj = 0.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 40 / 159
Common Methods Naive Bayes Models
Ước lượng hợp lí cực đại
Maximum likelihood estimation:
θ̂k =
PN
i=1 δ(yi = k)
N
,
θ̂j|k =
PN
i=1 δ(xij = 1, yi = k)
PN
i=1 δ(yi = k)
,
where δ(·) is the identity function.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 41 / 159
Common Methods Naive Bayes Models
Quy tắc phân loại
Given an object x, its class is determined as
y := k̂ = arg max
k=1,2,...,K
P(y = k| x)
= arg max
k=1,2,...,K
D
Y
j=1
βj|kθk
If the loga function is used, we have a linear classifier:
y := k̂ = arg max
k=1,...,K


D
X
j=1
log βj|k + log θk

 .
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 42 / 159
Common Methods Naive Bayes Models
Làm trơn
We need to smooth the model to take into account the case that
θj|k = 0.
If θj|k = 0, ∀k = 1, 2, . . . , K then
P(x) =
K
X
k=1

θk
D
Y
j=1
θj|k

 = 0.
So we have
P(y = k| x) =
0
0
, ∀k = 1, 2, . . . , K.
⇒ we cannot construct a classification rule for x.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 43 / 159
Common Methods Naive Bayes Models
Làm trơn
Laplace smoothing:
θ̂j|k =
PN
i=1 δ(xij = 1, yi = k) + α
PN
i=1 δ(yi = k) + Dα
,
where α is a smoothing term (predefined or estimated by cross-validation).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 44 / 159
Common Methods Naive Bayes Models
Sportive Activity
In order to predict whether a person will play an outdoor sportive activity
or not, the following weather information is used:
ngày nắng hay mưa
nhiệt độ nóng hay mát
độ ẩm cao hay bình thường
trời có gió hay không
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 45 / 159
Common Methods Naive Bayes Models
Sportive Activity
Note that all attributes take binary values. Each object has 4 attributes
(D = 4):
x1 ∈ {nắng, mưa} ≡ {1, 0}
x2 ∈ {nóng, mát} ≡ {1, 0}
x3 ∈ {cao, bình thường} ≡ {1, 0}
x4 ∈ {đúng, sai} ≡ {1, 0}
Each object is classified into one class y ∈ {có, không} (K = 2).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 46 / 159
Common Methods Naive Bayes Models
Sportive Activity
The training data is as follows (N = 8):
Ngoài trời Nhiệt độ Độ ẩm Có gió Chơi
x1 x2 x3 x4 y
nắng nóng cao sai không
nắng nóng cao đúng không
mưa nóng cao sai có
mưa mát cao đúng có
mưa mát bình thường sai có
mưa mát bình thường đúng không
nắng mát bình thường sai có
mưa nóng cao đúng không
Estimate the parameters of a NB model and predict the chance of sportive
activity of a day if it is defined as:
x = (trời nắng, mát, độ ẩm cao, sai)
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 47 / 159
Common Methods Naive Bayes Models
Sportive Activity
θ̂1|có =
P8
i=1 δ(xi1 = nắng, yi = có)
P8
i=1 δ(yi = có)
=
1
4
= 0.25
θ̂1|không =
P8
i=1 δ(xi1 = nắng, yi = không)
P8
i=1 δ(yi = không)
=
2
4
= 0.5
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 48 / 159
Common Methods Naive Bayes Models
Sportive Activity
θ̂1|có =
P8
i=1 δ(xi1 = nắng, yi = có)
P8
i=1 δ(yi = có)
=
1
4
= 0.25
θ̂1|không =
P8
i=1 δ(xi1 = nắng, yi = không)
P8
i=1 δ(yi = không)
=
2
4
= 0.5
θ̂2|có =
P8
i=1 δ(xi2 = nóng, yi = có)
P8
i=1 δ(yi = có)
=
1
4
= 0.25
θ̂2|không =
P8
i=1 δ(xi2 = nóng, yi = không)
P8
i=1 δ(yi = không)
=
3
4
= 0.75
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 48 / 159
Common Methods Naive Bayes Models
Sportive Activity
θ̂3|có =
P8
i=1 δ(xi3 = cao, yi = có)
P8
i=1 δ(yi = có)
=
2
4
= 0.5
θ̂3|không =
P8
i=1 δ(xi3 = cao, yi = không)
P8
i=1 δ(yi = không)
=
3
4
= 0.75
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 49 / 159
Common Methods Naive Bayes Models
Sportive Activity
θ̂3|có =
P8
i=1 δ(xi3 = cao, yi = có)
P8
i=1 δ(yi = có)
=
2
4
= 0.5
θ̂3|không =
P8
i=1 δ(xi3 = cao, yi = không)
P8
i=1 δ(yi = không)
=
3
4
= 0.75
θ̂4|có =
P8
i=1 δ(xi4 = đúng, yi = có)
P8
i=1 δ(yi = có)
=
1
4
= 0.25
θ̂4|không =
P8
i=1 δ(xi4 = đúng, yi = không)
P8
i=1 δ(yi = không)
=
3
4
= 0.75
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 49 / 159
Common Methods Naive Bayes Models
Sportive Activity
Estimated values of θj|k are as follows:
θj|k có không
nắng 0.25 0.5
nóng 0.25 0.75
cao 0.5 0.75
đúng 0.25 0.75
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 50 / 159
Common Methods Naive Bayes Models
Sportive Activity
Given a new day x =(nắng, mát, cao, sai):
P(y = có| x) =
[0.25 × (1 − 0.25) × 0.5 × (1 − 0.25)]1
2
P(x)
=
0.0703125
2P(x)
P(y = không| x) =
[0.5 × (1 − 0.75) × 0.75 × (1 − 0.75)]1
2
P(x)
=
0.0234375
2P(x)
.
For this x, we predict its y = “có” since
P(y = có| x)  P(y = không| x).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 51 / 159
Common Methods Naive Bayes Models
Exercise: Fitting a Naive Bayes Spam Filter
Consider a Naive Bayes model for spam email classification:
Vocabulary: ’secret’, ’offer’, ’low’, ’price’, ’valued’, ’customer’,
’today’, ’dollar’, ’million’, ’sports’, ’is’, ’for’, ’play’, ’healthy’, ’pizza’.
Example spam messages: “million dollar offer”, “secret offer today”,
“secret is secret”
Example normal messages: “low price for valued customer”, “play
secret sports today”, “sports is healthy”, “low price pizza”.
Give the MLEs for
θspam, θsecret|spam, θsecret|non-spam, θsports|non-spam, θdollar|spam.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 52 / 159
Common Methods Naive Bayes Models
Recap: Normal Distribution
Normal distribution is one of the most important distributions in
probability.
One of the reason is the central limit theorem: The sum of a large
number of independent random variables has a distribution that is
approximately normal.
This explains the remarkable fact that the empirical frequencies of so
many natural populations exhibit bell-shaped curves.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 53 / 159
Common Methods Naive Bayes Models
Standard Normal Distribution
We say that a random variable Z is a standard normal variable with mean
0 and variance 1, denoted as Z ∼ N(0, 1) if the density of Z is given by
f (z) = c e− z2
2 , z ∈ R,
where c is the normalizing constant.
z
f (z)
f (z) = c e− z2
2
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 54 / 159
Common Methods Naive Bayes Models
Standard Normal Distribution
Some remarks on the function f (z):
It is an even (symmetric) function.
It decreases very rapidly when z increases.
To find c, we solve the equation:
Z ∞
−∞
f (z) dz = 1
and get c = 1/
√
2π.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 55 / 159
Common Methods Naive Bayes Models
Standard Normal Distribution
0 0.5 1.0 1.5
−0.5
−1.0
−1.5
−2.0
0.25
0.50
0.75
z
f (z)
f (z) = 1
√
2π
e− z2
2
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 56 / 159
Common Methods Naive Bayes Models
Standard Normal Distribution
If Z is a standard normal variable then
E(Z) =
1
√
2π
Z ∞
−∞
ze− z2
2 dz = 0.
and
var(Z) = E(Z2
) − [E(Z)]2
= E(Z2
).
We have
E(Z2
) =
1
√
2π
Z ∞
−∞
z2
e− z2
2 dz
= 1.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 57 / 159
Common Methods Naive Bayes Models
Standard Normal Distribution
Let Φ denote the distribution function of the standard normal variable,
then
Φ(z) =
1
√
2π
Z z
−∞
e− t2
2 dt.
0 1
−1
−2
0.5
1.0
z
Φ(z)
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 58 / 159
Common Methods Naive Bayes Models
Standard Normal Distribution
By symmetry, we have
Φ(−z) = 1 − Φ(z).
If Z ∼ N(0, 1) then for all (a, b):
P(a ≤ Z ≤ b) = Φ(b) − Φ(a).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 59 / 159
Common Methods Naive Bayes Models
Normal Distribution
A random variable X is normally distributed with parameters (µ, σ2),
denoted as N(µ, σ2) if its density function is given by
f (x) =
1
√
2πσ2
exp

−
(x − µ)2
2σ2

, −∞  x  ∞.
Let Z = X−µ
σ , we have
Z ∞
−∞
f (x) dx =
Z ∞
−∞
f (z) dz = 1
since Z is the standard normal random variable.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 60 / 159
Common Methods Naive Bayes Models
Normal Distribution
Because X = µ + σZ and due to the linearity of expectation, we have
E(X) = µ + σ E(Z) = µ and var(X) = σ2 var(Z) = σ2.
0 1
−1
−2
0.25
0.50
0.75
1.00 y σ = 0.5, µ = 0
σ = 1.0, µ = 0
σ = 0.5, µ = 0.5
f (x) = 1
σ
√
2π
e−
(x−µ)2
2σ2
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 61 / 159
Common Methods Naive Bayes Models
Normal Distribution
Some properties
If X ∼ N(µ, σ2) and Y = aX + b then Y ∼ N(aµ + b, a2σ2).
If X ∼ N(µ, σ2) then the distribution function of X can be computed
via the standard normal distribution:
FX (a) = P(X ≤ a) = P

X − µ
σ
≤
a − µ
σ

= P

Z ≤
a − µ
σ

= Φ

a − µ
σ

.
If X ∼ N(µ, σ2) then for all intervals (a, b), we have
P(a ≤ X ≤ b) = P

a − µ
σ
≤
X − µ
σ
≤
b − µ
σ

= Φ

b − µ
σ

− Φ

a − µ
σ

.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 62 / 159
Common Methods Naive Bayes Models
Gaussian Naive Bayes Model
If xj ∈ R we can suppose that xj |y = k is distributed normally with
mean µjk and variance σ2
jk. We have
P(xj |y = k) =
1
q
2πσ2
jk
exp −
(xj − µjk)2
2σ2
jk
!
.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 63 / 159
Common Methods Naive Bayes Models
Gaussian Naive Bayes Model
Parameters of the model:
θk = P(y = k), ∀k = 1, 2, . . . , K
θj|k = P(xj |y = k), ∀k = 1, 2, . . . , K; ∀j = 1, 2, . . . , D.
In other words, for each class k, we have priors θk and D pairs of
parameters for D normal distributions θj|k := (µjk, σ2
jk).
The number of parameters of the model is (K − 1) + 2DK.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 64 / 159
Common Methods Naive Bayes Models
Maximum Likelihood Estimation
We have a training set {(x1, y1), . . . , (xN, yN )}. The conditional likelihood
of each class k on this set is
L(θ|k) =
N
Y
i=1
P(x
i
|yi = k) =
N
Y
i=1


D
Y
j=1
P(xij |yi )

 .
The log-likelihood is
ℓ(θ|k) =
N
X
i=1
D
X
j=1
log P(xij |yi ).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 65 / 159
Common Methods Naive Bayes Models
Maximum Likelihood Estimation
Since
log P(xij|yi = k) = log
1
q
2πσ2
jk
−
(xij − µjk)2
2σ2
jk
,
we have
ℓ(θ|k) =
N
X
i=1
D
X
j=1

log
1
q
2πσ2
jk
−
(xij − µjk)2
2σ2
jk

 .
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 66 / 159
Common Methods Naive Bayes Models
Maximum Likelihood Estimation
Therefore
∂ℓ
∂µjk
=
Nk
X
i=1
1
σ2
jk
(xij − µjk)
=
1
σ2
jk
Nk
X
i=1
xij − Nk µjk
!
.
Thus, the maximum likelihood estimate of µjk is
µ̂jk =
1
Nk
Nk
X
i=1
xij , where yi = k
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 67 / 159
Common Methods Naive Bayes Models
Maximum Likelihood Estimation
Let tjk = σ2
jk, we have
∂ℓ
∂tjk
=
Nk
X
i=1
∂ℓ
∂tjk
log
1
p
2πtjk
−
(xij − µjk)2
2tjk
!
=
Nk
X
i=1
−
1
2tjk
+
(xij − µjk)2
2t2
jk
!
=
1
2t2
jk
−Nktjk +
Nk
X
i=1
(xij − µjk)2
!
.
So, the maximum likelihood estimate of σ2
jk is
σ̂2
jk =
1
Nk
Nk
X
i=1
(xij − µ̂jk)2
.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 68 / 159
Common Methods Naive Bayes Models
Classification
Once we have estimators of parameters, we may predict the class ŷ of a
data point x = (x1, x2, . . . , xD) as follows:
ŷ = arg max
k=1,2,...,K
log P(y = k| x),
where
log P(y = k| x) ∝ log [P(y = k)P(x |y = k)]
∝ log

P(y = k)
D
Y
j=1
P(xj |y = k)


∝ log P(y = k) +
D
X
j=1
log P(xj |y = k).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 69 / 159
Common Methods Naive Bayes Models
Classification
That is,
ŷ = arg max
k=1,2,...,K

log θ̂k +
D
X
j=1

log
1
q
2πσ̂2
jk
−
(xj − µ̂jk)2
2σ̂2
jk




Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 70 / 159
Common Methods Naive Bayes Models
Example: Breast Cancer
Nếu sử dụng 10 đặc trưng đầu tiên và dùng chung σj :
j µM µB σ
0. 17.46283 12.146524 3.524049
1. 21.604906 17.914762 4.301036
2. 115.365377 78.075406 24.298981
3. 978.376415 462.790196 351.914129
4. 0.102898 0.092478 0.014064
5. 0.145188 0.080085 0.052813
6. 0.160775 0.046058 0.07972
7. 0.08799 0.025717 0.038803
8. 0.192909 0.174186 0.027414
9. 0.06268 0.062867 0.00706
Độ chính xác phân loại trên tập huấn luyện 92.79%.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 71 / 159
Common Methods Naive Bayes Models
Example: Breast Cancer
Nếu sử dụng 10 đặc trưng đầu tiên và dùng σj cho từng lớp:
j µM µB σM σB
0. 17.46283 12.146524 3.203971 1.780512
1. 21.604906 17.914762 3.77947 3.995125
2. 115.365377 78.075406 21.854653 11.807438
3. 978.376415 462.790196 367.937978 134.287118
4. 0.102898 0.092478 0.012608 0.013446
5. 0.145188 0.080085 0.053987 0.03375
6. 0.160775 0.046058 0.075019 0.043442
7. 0.08799 0.025717 0.034374 0.015909
8. 0.192909 0.174186 0.027638 0.024807
9. 0.06268 0.062867 0.007573 0.006747
Độ chính xác phân loại trên tập huấn luyện 91.38%.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 72 / 159
Common Methods Naive Bayes Models
Example: Breast Cancer
Sử dụng toàn bộ 30 đặc trưng và σj không phụ thuộc vào lớp thì thì
ta thấy mô hình cho kết quả chính xác 92.97% trên tập dữ liệu huấn
luyện.
Nếu sử dụng toàn bộ 30 đặc trưng và σj phụ thuộc vào lớp thì độ
chính xác trên tập huấn luyện là 94.02%.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 73 / 159
Common Methods Naive Bayes Models
Example: Iris Flowers
Ước lượng các xác suất tiên nghiệm:
Lớp log(θ̂)
setosa −1.106
versicolor −1.083
virginica −1.106
Ước lượng trung bình và phương sai của mỗi đặc trưng:
Lớp µ̂1 σ̂1 µ̂2 σ̂2 µ̂3 σ̂3 µ̂4 σ̂4
setosa 5.013 0.354 3.402 0.390 1.462 0.152 0.241 0.109
versicolor 5.902 0.520 2.759 0.311 4.229 0.483 1.313 0.204
virginica 6.560 0.638 2.969 0.334 5.532 0.566 2.016 0.282
Độ chính xác của mô hình:
Trên tập kiểm tra: 100% (20/20)
Trên tập huấn luyện: 95.38% (124/130)
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 74 / 159
Common Methods Naive Bayes Models
Example: Iris Flowers
Nếu mô hình được huấn luyện với σj không phụ thuộc vào lớp, thì ta
có các ước lượng của σj ứng với các đặc trưng như sau:
σ̂1 = 0.815
σ̂2 = 0.436
σ̂3 = 1.752
σ̂4 = 0.759
Độ chính xác của mô hình này giảm đi so với mô hình trước:
Trên tập kiểm tra: 85.00% (17/20)
Trên tập huấn luyện: 87.69% (114/130)
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 75 / 159
Common Methods Logistic Regression
Content
1 Introduction
2 Datasets
3 Common Methods
Decision Trees
Naive Bayes Models
Binary-Valued Features
Real-Valued Features
Logistic Regression
Binary Model
Multinomial Model
Artificial Neural Networks
4 Summary
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 76 / 159
Common Methods Logistic Regression
Mô hình hồi quy logistic hai lớp
Xét bài toán phân loại nhị phân, mỗi đối tượng x cần được phân vào
một trong hai lớp y ∈ {0, 1}.
Ta chọn hàm dự báo hθ(x) như sau:
hθ(x) = g(θT
x) =
1
1 + exp(−θT x)
, (1)
trong đó
g(z) =
1
1 + exp(−z)
được gọi là hàm logistic hoặc hàm sigmoid.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 77 / 159
Common Methods Logistic Regression
Hàm sigmoid g(z) = 1
1+exp(−z)
−4 −2 0 2 4
0.0
0.2
0.4
0.6
0.8
1.0
z
g(z)
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 78 / 159
Common Methods Logistic Regression
Hàm sigmoid g(z) = 1
1+exp(−z)
Nhận xét:
g(z) → 1 khi z → ∞
g(z) → 0 khi z → −∞.
g(z) và hθ(x) luôn nằm trong đoạn [0, 1].
Đạo hàm của hàm logistic:
g′
(z) = g(z)(1 − g(z)).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 79 / 159
Common Methods Logistic Regression
Mô hình hồi quy logistic
Mô hình hồi quy logistic:
P(y = 1| x; θ) = hθ(x) (2)
P(y = 0| x; θ) = 1 − hθ(x)
trong đó θ ∈ RD+1
là véc-tơ tham số của mô hình.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 80 / 159
Common Methods Logistic Regression
Mô hình hồi quy logistic
Giả sử đã biết véc-tơ tham số θ, ta sử dụng mô hình để phân loại như sau:
Xếp đối tượng x vào lớp 1 nếu
P(y = 1| x; θ̂)  P(y = 0| x; θ̂) ⇔ hθ̂(x)  1/2 ⇔ θ̂T
x  0 .
Ngược lại thì x được xếp vào lớp 0.
Quy tắc phân loại dựa vào một tổ hợp tuyến tính của xj và θj nên mô
hình hồi quy logistic thuộc dạng mô hình phân loại tuyến tính.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 81 / 159
Common Methods Logistic Regression
Huấn luyện mô hình
Ta có thể viết gọn xác suất của lớp y dưới dạng
P(y| x; θ) = (hθ(x))y
(1 − hθ(x))1−y
.
Giả sử rằng tập dữ liệu huấn luyện được sinh độc lập nhau, khi đó hợp lí
của dữ liệu với tham số θ là
L(θ) =
N
Y
i=1
P(yi | x
i
; θ)
=
N
Y
i=1
(hθ(x
i
))yi
(1 − hθ(x
i
))1−yi
.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 82 / 159
Common Methods Logistic Regression
Huấn luyện mô hình
Log của hợp lí
ℓ(θ) = log L(θ)
=
N
X
i=1
[yi log hθ(x
i
) + (1 − yi ) log(1 − hθ(x
i
))]. (3)
Sử dụng phương pháp hợp lí cực đại để ước lượng θ, ta cần giải bài
toán tối ưu:
θ̂ = arg min
θ
[−ℓ(θ) + λR(θ)], (4)
trong đó R(θ) là hàm hiệu chỉnh.
Tham số λ ≥ 0 dùng để điều khiển tính cân bằng của mô hình trong
việc phù hợp với dữ liệu quan sát và việc hiệu chỉnh tham số.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 83 / 159
Common Methods Logistic Regression
Các dạng hiệu chỉnh tham số
Nếu R(θ) = 0 thì đây là mô hình hồi quy logistic thường, không có
hiệu chỉnh.
Nếu R(θ) = kθk1 =
PD
j=1 |θj | thì ta có mô hình hồi quy logistic hiệu
chỉnh dạng L1.
Nếu R(θ) = kθk2 =
PD
j=1 θ2
j thì ta có mô hình hồi quy logistic hiệu
chỉnh dạng L2.
Nếu R(θ) =
PD
j=1 log

e
θj +e
−θj
2

thì ta có mô hình hồi quy logistic
hiệu chỉnh dạng hyperbolic-L1.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 84 / 159
Common Methods Logistic Regression
Các thuật toán lặp giải bài toán tối ưu
Ta cần chọn θ làm cực tiểu hoá hàm mục tiêu
J(θ) = −ℓ(θ) + λR(θ).
Hai thuật toán lặp để tìm θ:
Thuật toán giảm gradient (ngẫu nhiên)
Thuật toán Newton-Raphson
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 85 / 159
Common Methods Logistic Regression
Chẩn đoán ung thư
Sử dụng bộ dữ liệu ung thư vú đã giới thiệu trong các bài giảng trước. Ta
xây dựng các mô hình hồi quy logistic với các thông số khác nhau như
sau:
Sử dụng thuật toán Newton hoặc giảm gradient để ước lượng tham
số;
Chỉ sử dụng 10 đặc trưng đầu tiên hoặc sử dụng toàn bộ 30 đặc
trưng;
Sử dụng kĩ thuật hiệu chỉnh tham số dạng L2 hoặc không.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 86 / 159
Common Methods Logistic Regression
Chẩn đoán ung thư
Nếu dùng 10 đặc trưng, đánh số các đặc trưng từ 1 tới 10, và không hiệu
chỉnh thì các giá trị tham số là
j θj j θj
1. 2.9479 6. −2.4326
2. 0.3777 7. −7.4069
3. 0.0457 8. −70.1621
4. −0.0475 9. −15.1245
5. −74.4356 10. 96.4245
Thuật toán cần 8 bước lặp.
Độ chính xác của mô hình trên tập dữ liệu huấn luyện là 94.72%.
Nếu sử dụng hiệu chỉnh L2 với các tham số hiệu chỉnh
λ ∈ {10−6, 10−3, 10−1} thì mô hình cũng cho độ chính xác tương tự.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 87 / 159
Common Methods Logistic Regression
Chẩn đoán ung thư
Nếu dùng 30 đặc trưng thì độ chính xác là 100%, không phụ thuộc vào sử
dụng hiệu chỉnh hay không. Các tham số của mô hình là
j θj j θj j θj
1. 605.1425 11. −296.5463 21. −6.9645
2. −12.0425 12. 27.1708 22. −160.7775
3. −16.4656 13. 118.2308 23. 1.121
4. −4.6211 14. −10.9851 24. −6.9656
5. −5028.0381 15. 8792.1322 25. 768.7252
6. 5545.4834 16. −9211.308 26. 965.8915
7. −2733.9444 17. −31633.8908 27. −475.9354
8. −3316.2043 18. 7888.106 28. −724.1528
9. 2026.5113 19. 75268.2862 29. −5942.4999
10. −6346.2382 20. 9147.0358 30. −2070.1442
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 88 / 159
Common Methods Logistic Regression
Lọc thư rác
Log của các xác suất tiên nghiệm θ̂k, k = 1, 2 của các lớp:
Lớp log(θ̂)
spam −0.931
non-spam −0.500
Ta thấy hai đặc trưng cuối cùng là hai số nguyên lớn, lớn hơn rất
nhiều giá trị của các đặc trưng thực của mô hình.
Do đó khi xây dựng mô hình, ta thử nghiệm với 2 tập đặc trưng:
dùng toàn bộ 57 đặc trưng hoặc dùng 55 đặc trưng đầu tiên.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 89 / 159
Common Methods Logistic Regression
Lọc thư rác
Thuật toán hội tụ sau 12 bước lặp với sai số của log-hợp lí ǫ = 10−6.
Nếu có sử dụng tham số tự do (intercept) θ0 thì độ chính xác của mô
hình là 86.11% với 57 đặc trưng và là 86.87% với 55 đặc trưng.
Nếu không sử dụng tham số tự do θ0 thì độ chính xác của mô hình
là 92.26% với 57 đặc trưng và là 91.26% với 55 đặc trưng.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 90 / 159
Common Methods Logistic Regression
Microchip Quality
Predict whether microchips from a fabrication plant passes quality
assurance (QA).
During QA, each microchip goes through various tests to ensure it is
functioning correctly.
We have test results for some microchips on two different tests. From
these two tests, we would like to determine whether the microchip
should be accepted or rejected.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 91 / 159
Common Methods Logistic Regression
Microchip Quality – Scatter Plot
-1 -0.5 0 0.5 1 1.5
-1
-0.5
0
0.5
1
1.5
Microchip Test 1
Microchip
Test
2
y = 1
y = 0
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 92 / 159
Common Methods Logistic Regression
Microchip Quality – Data
It is obvious that our dataset cannot be separated into positive and
negative examples by a straight-line through the plot.
Since logistic regression is only able to find a linear decision boundary,
a straightforward application of logistic regrssion will not perfom well
on this dataset.
Solution? Use feature mapping technique.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 93 / 159
Common Methods Logistic Regression
Feature Mapping
One way to fit the data better is to create more features from each
data point.
For each data point x = (x1, x2), we map the features into all
polynomial terms of x1 and x2 up to the sixth power:

x1
x2

=⇒
















1
x1
x2
x2
1
x1x2
x2
2
x3
1
· · ·
x1x5
2
x6
2
















Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 94 / 159
Common Methods Logistic Regression
Feature Mapping
A vector of two features has been transformed to a 28-dimensional
vector.
A logistic regression classifier trained on this higher-dimension feature
vector will have a more complex decision boundary and will appear
nonlinear when drawn in our 2-dimensional plot.
Note that while the feature mapping allows us to build a more
powerful classifier, it is also more susceptible to overfitting.
Regularization technique helps us to prevent overfitting problem.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 95 / 159
Common Methods Logistic Regression
Microchip Quality – Decision Boundary
Training data with decision boundary (λ = 1)
-1 -0.5 0 0.5 1 1.5
-1
-0.5
0
0.5
1
1.5
Microchip Test 1
Microchip
Test
2
lambda = 1
y = 1
y = 0
Decision boundary
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 96 / 159
Common Methods Logistic Regression
Microchip Quality – Decision Boundary
No regularization (λ = 0) – overfitting
-1 -0.5 0 0.5 1 1.5
-1
-0.5
0
0.5
1
1.5
Microchip Test 1
Microchip
Test
2
lambda = 0
y = 1
y = 0
Decision boundary
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 97 / 159
Common Methods Logistic Regression
Microchip Quality – Decision Boundary
Too much regularization (λ = 100)
-1 -0.5 0 0.5 1 1.5
-1
-0.5
0
0.5
1
1.5
Microchip Test 1
Microchip
Test
2
lambda = 100
y = 1
y = 0
Decision boundary
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 98 / 159
Common Methods Logistic Regression
Mô hình hồi quy logistic đa lớp
Khi bài toán phân loại có nhiều lớp, ta có thể mở rộng mô hình hồi
quy logistic nhị phân ở trên cho trường hợp đa lớp.
Mô hình hồi quy logistic đa lớp còn được gọi là mô hình entropy
cực đại (maximum entropy–maxent), một dạng của mô hình
log–tuyến tính.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 99 / 159
Common Methods Logistic Regression
Mô hình hồi quy logistic đa lớp
Mô hình entropy cực đại được phát minh nhiều lần, trong nhiều lĩnh vực
khác nhau:
Trong lí thuyết xác suất, dưới các tên mô hình entropy cực đại, mô
hình log–tuyến tính, trường ngẫu nhiên Markov và họ hàm mũ;
Trong thống kê toán học dưới tên hồi quy logistic;
Trong cơ học thống kê và vật lí, dưới các tên phân phối Gibbs, phân
phối Boltzmann;
Trong các mạng nơ-ron dưới tên máy Boltzmann và hàm kích hoạt
softmax.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 100 / 159
Common Methods Logistic Regression
Mô hình hồi quy logistic đa lớp
Xác suất để đối tượng x thuộc lớp k ∈ {1, 2, . . . , K} được mô hình bởi:
P(y = k| x; θk) =
1
Z
exp(θT
k x), (5)
trong đó Z(x) là số hạng chuẩn hoá để đảm bảo phân phối xác suất:
Z(x) =
K
X
k=1
P(y = k| x; θk) =
K
X
k=1
exp(θT
k x). (6)
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 101 / 159
Common Methods Logistic Regression
Mô hình hồi quy logistic đa lớp
Tham số θk = (θk0, θk1, . . . , θkD)T là một véc-tơ tham số D + 1
chiều ứng với lớp k.
Mỗi lớp k có một véc-tơ tham số θk ứng với D + 1 đặc trưng (đặc
trưng thứ 0 được cố định là đơn vị).
Ta có ma trận tham số của mô hình:




θ10 θ11 · · · θ1D
θ20 θ21 · · · θ2D
· · · · · · · · · · · ·
θK0 θK1 · · · θKD



 .
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 102 / 159
Common Methods Logistic Regression
Mô hình hồi quy logistic đa lớp
Vì điều kiện chuẩn hoá
K
X
k=1
P(y = k| x; θk) = 1,
nên ta chỉ cần ước lượng (K − 1) véc-tơ tham số θk.
Do đó, véc-tơ tham số θ của mô hình có (K − 1) ∗ (D + 1) chiều.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 103 / 159
Common Methods Logistic Regression
Ước lượng tham số
Công thức tính xác suất để đối tượng x thuộc lớp y trong mô hình entropy
cực đại:
P(y| x; θ) =
exp
PD
j=0 θyj xj

PK
k=1 exp
PD
j=0 θkj xj
. (7)
Trung bình của log-hợp lí của tập dữ liệu huấn luyện là:
ℓ(θ) =
1
N
N
X
i=1
log P(yi | x
i
; θ).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 104 / 159
Common Methods Logistic Regression
Ước lượng tham số
Để ước lượng các tham số của mô hình, ta cần tìm θ∗ cực tiểu hoá
hàm mục tiêu sau:
J(θ) = −ℓ(θ) + λR(θ), (8)
trong đó R(θ) là số hạng hiệu chỉnh dùng để tránh hiện tượng quá
khớp và tăng độ chính xác của mô hình.
Mục tiêu của việc hiệu chỉnh là để làm trơn mô hình, phạt các tham
số lớn.
Tham số λ ≥ 0 dùng để điều khiển tính cân bằng của mô hình trong
việc phù hợp với dữ liệu quan sát và việc hiệu chỉnh.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 105 / 159
Common Methods Logistic Regression
Hiệu chỉnh dạng L1
Nếu sử dụng hiệu chỉnh dạng L1 thì hàm mục tiêu là
J1(θ) = −ℓ(θ) + λ
D
X
j=1
|θj |. (9)
Chú ý rằng hàm mục tiêu J1 không phải là hàm lồi nên nghiệm tối ưu cục
bộ có thể không phải là nghiệm tối ưu toàn cục.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 106 / 159
Common Methods Logistic Regression
Hiệu chỉnh dạng L2
Hiệu chỉnh dạng L2 là một hàm toàn phương, hàm mục tiêu là:
J2(θ) = −ℓ(θ) +
λ
2
D
X
j=1
θ2
j . (10)
Dễ thấy hàm mục tiêu J2 là hàm lồi nên ta có thể dùng các thuật toán tối
ưu lồi để tìm tham số tối ưu θ∗ của mô hình.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 107 / 159
Common Methods Logistic Regression
Ước lượng tham số
Ta có
ℓ(θ) =
1
N
N
X
i=1
log P(yi | x
i
; θ)
=
1
N
N
X
i=1
(
θT
yi
x
i
− log
K
X
k=1
exp(θT
k x
i
)
!)
.
Từ đó
∂ℓ(θ)
∂θkj
=
1
N
N
X
i=1
(
∂
∂θkj
(θT
yi
x
i
) −
∂
∂θkj
log
K
X
k=1
exp(θT
k x
i
)
!)
=
1
N
N
X
i=1
(
δ(yi = k) x
ij
−
1
PK
k=1 exp(θT
k xi )
∂
∂θkj
K
X
k=1
exp(θT
k x
i
)
!)
.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 108 / 159
Common Methods Logistic Regression
Ước lượng tham số
Do
∂
∂θkj
K
X
k=1
exp(θT
k x
i
)
!
= exp(θT
k x
i
) x
ij
,
nên
∂
∂θkj
ℓ(θ) =
1
N
N
X
i=1
(
δ(yi = k) x
ij
−
exp(θT
k xi )
PK
k=1 exp(θT
k xi )
x
ij
)
=
1
N
N
X
i=1
δ(yi = k) x
ij
−
1
N
N
X
i=1
P(y = k| x
i
; θ) x
ij
.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 109 / 159
Common Methods Logistic Regression
Ước lượng tham số
∂
∂θkj
ℓ(θ) =
1
N
N
X
i=1
δ(yi = k) x
ij
−
1
N
N
X
i=1
P(y = k| x
i
; θ) x
ij
Nhận xét:
Đại lượng 1
N
PN
i=1 δ(yi = k) xij là kì vọng mẫu của đặc trưng thứ j
trên mẫu huấn luyện ứng với lớp k;
Đại lượng 1
N
PN
i=1 P(y = k| xi ; θ) xij là kì vọng của đặc trưng thứ j
ứng với mô hình P(y = k| x; θ).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 110 / 159
Common Methods Logistic Regression
Ước lượng tham số
Với mô hình entropy cực đại hiệu chỉnh dạng L2 thì đạo hàm riêng
của hàm mục tiêu J2(θ) ứng với tham số θkj là
∂J2(θ)
∂θkj
= −
1
N
N
X
i=1
δ(yi = k) x
ij
−
1
N
N
X
i=1
P(y = k| x
i
; θ) x
ij
!
+ λθkj .
Để ước lượng véc-tơ tham số θ, ta cần giải hệ phương trình
∂
∂θkj
J2(θ) = 0, ∀j = 0, 1, 2, . . . , D.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 111 / 159
Common Methods Logistic Regression
Ước lượng tham số
Có nhiều thuật toán được dùng để ước lượng tham số của mô hình
entropy cực đại.
Hai phương pháp chính:
phương pháp thang lặp
phương pháp tối ưu
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 112 / 159
Common Methods Logistic Regression
Ước lượng tham số: Phương pháp thang lặp
Thuật toán GIS (Generalized Iterative Scaling)
Thuật toán IIS (Improved Iterative Scaling)
Thuật toán SCGIS (Sequential Conditional Generalized Iterative
Scaling)
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 113 / 159
Common Methods Logistic Regression
Ước lượng tham số: Phương pháp tối ưu
Phương pháp gradient bậc một: phương pháp giảm gradient, phương
pháp gradient liên hợp;
Phương pháp gradient bậc hai: phương pháp Newton và các phương
pháp tựa-Newton:
thuật toán BFGS
thuật toán L-BFGS
thuật toán OWL-QN (Orthant-wise Limited-memory Quasi-Newton)
thuật toán Newton cụt
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 114 / 159
Common Methods Logistic Regression
Ước lượng tham số: Một số nhận xét
Các thuật toán tối ưu có tốc độ và hiệu quả cao hơn các thuật toán
thang lặp.
Phương pháp thang lặp cập nhật mỗi thành phần θj của θ tại một
thời điểm, nên chi phí tại mỗi bước lặp là nhỏ nhưng số bước lặp là
lớn.
Ngược lại, phương pháp (tựa) Newton có chi phí cao tại mỗi bước
lặp vì phải tính đúng (xấp xỉ) Hessian của hàm mục tiêu nhưng có
tốc độ hội tụ nhanh.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 115 / 159
Common Methods Logistic Regression
Ước lượng tham số: Một số nhận xét
Trong nhiều trường hợp, các phương pháp L-BFGS và gradient liên
hợp là tốt hơn giảm gradient ngẫu nhiên trong nhiều trường hợp.
Nếu số lượng tham số là tương đối nhỏ thì L-BFGS cho kết quả tốt,
còn với các bài toán có số chiều lớn thì phương pháp gradient liên
hợp thường cho kết quả tốt.
Các phương pháp gradient liên hợp và L-BFGS cũng có thể tận dụng
được các thuật toán tính toán song song tốt hơn.
Mô hình entropy cực đại hiệu chỉnh dạng L2 thường cho kết quả cao
hơn một chút mô hình entropy cực đại hiệu chỉnh dạng L1.
Tuy nhiên, dạng chuẩn hoá L1 có độ hiệu quả gần tương tự mà lại có
tốc độ huấn luyện nhanh hơn nhiều so với dạng hiệu chỉnh L2.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 116 / 159
Common Methods Logistic Regression
Ước lượng tham số: Một số nhận xét
Với dạng hiệu chỉnh L2, đạo hàm của các số hạng hiệu chỉnh λθj → 0
khi θj → 0.
Tác động của số hạng hiệu chỉnh giảm dần nếu θj nhỏ.
Từ đó, dạng hiệu chỉnh L2 làm các tham số thường là nhỏ, xấp xỉ 0,
nhưng không bằng 0.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 117 / 159
Common Methods Logistic Regression
Ước lượng tham số: Một số nhận xét
Với dạng hiệu chỉnh L1, đạo hàm của các số hạng hiệu chỉnh là
λsign(θj ) ∈ {−λ, λ} trừ khi θj = 0.
Tác động của các số hạng hiệu chỉnh là không đổi, không phụ thuộc
vào mức độ lớn nhỏ của θj .
Do đó, dạng chuẩn hoá L1 sinh mô hình thưa, theo nghĩa sẽ cho kết
quả ước lượng trong đó có nhiều tham số θj = 0.
Vì vậy, dạng hiệu chỉnh L1 còn được dùng làm phương pháp chọn các
đặc trưng.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 118 / 159
Common Methods Logistic Regression
Phân loại ảnh
θj brickface sky foliage cement window path grass
θ0 0.0282 −0.0635 0.1531 −0.0025 0.1958 −0.2794 −0.0318
θ1 −0.0197 −0.0125 0.0068 0.0137 0.0154 0.0037 −0.0073
θ2 −0.0007 −0.039 −0.0613 −0.0045 −0.0718 0.1286 0.0488
θ3 0.2541 −0.5715 1.3779 −0.0226 1.7625 −2.5145 −0.2858
θ4 −0.0047 −0.0007 −0.0076 0.029 0.0179 0.0013 0.0006
θ5 −0.0002 −0.0015 0.0037 −0.0062 −0.0051 0.0095 0
θ6 −0.1484 −0.3321 0.3887 0.1627 0.1284 −0.234 0.0347
θ7 −0.0497 −0.327 0.2637 0.0627 0.1015 −0.1441 0.0928
θ8 0.0118 −0.2038 0.3646 0.0244 −0.3072 0.0579 0.0522
θ9 −0.1309 −0.1823 0.0351 0.0579 0.122 0.0833 0.0149
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 119 / 159
Common Methods Logistic Regression
Phân loại ảnh
θj brickface sky foliage cement window path grass
θ10 −0.0905 0.0828 −0.1482 0.03 −0.0013 0.0564 0.0709
θ11 0.3326 −0.0878 −0.445 0.1565 −0.0414 0.1107 −0.0257
θ12 −0.0122 0.0536 −0.1626 0.1011 0.0288 0.0924 −0.1011
θ13 −0.592 0.2826 0.163 −0.1677 0.0087 −0.034 0.3394
θ14 1.2693 −0.5118 −0.8904 0.3797 −0.1203 0.163 −0.2896
θ15 0.2351 −0.0876 −0.0431 0.2133 0.0903 0.108 −0.516
θ16 −1.5044 0.5994 0.9336 −0.593 0.03 −0.271 0.8055
θ17 −0.0026 0.0501 0.1919 −0.1542 −0.1771 −0.0146 0.1066
θ18 0.0036 −0.0181 0.6181 −0.0386 −0.4281 −0.1235 −0.0134
θ19 0.0435 0.1154 −1.1184 −0.0238 0.3079 0.3985 0.277
Độ chính xác của mô hình:
Trên tập huấn luyện: 96.66%
Trên tập kiểm tra: 93.09%
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 120 / 159
Common Methods Logistic Regression
Phân loại hoa Iris
L-BFGS, không sử dụng hiệu chỉnh tham số, độ chính xác của mô
hình trên tập kiểm tra là 100% và trên tập huấn luyện là 98.46%
Các tham số được ước lượng như sau:
Lớp θ0 θ1 θ2 θ3 θ4
setosa 3.281 5.633 16.834 −26.748 −12.396
versicolor 17.056 −1.582 −5.558 9.068 −1.777
virginica −20.336 −4.051 −11.275 17.680 14.172
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 121 / 159
Common Methods Logistic Regression
Phân loại hoa Iris
Khi sử dụng hiệu chỉnh tham số thì số bước lặp và độ chính xác của
mô hình ứng với các tham số λ được cho trong bảng sau:
λ Số bước KT HL
1.0 30 100% 97.69%
2.0 17 100% 96.92%
3.0 19 100% 97.69%
4.0 16 100% 96.92%
5.0 14 100% 96.15%
6.0 20 100% 96.15%
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 122 / 159
Common Methods Logistic Regression
Phân loại hoa Iris
Ta thấy mô hình có hiệu chỉnh đạt độ chính xác cao nhất là 97.69%
khi λ = 3.0.
Các tham số của mô hình khi đó là:
Lớp θ0 θ1 θ2 θ3 θ4
setosa 0.236 0.546 1.279 −1.813 −0.847
versicolor 0.244 0.560 1.279 −1.813 −0.847
virginica −0.507 −0.954 −1.083 1.810 1.337
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 123 / 159
Common Methods Logistic Regression
Phân loại hoa Iris
Ta thấy khi dùng phương pháp hiệu chỉnh L2, các tham số của mô
hình có giá trị tuyệt đối bé hơn nhiều giá trị tuyệt đối của các tham
số trong mô hình không hiệu chỉnh; đồng thời các tham số phân bố
xung quanh giá trị 0, phù hợp với khảo sát lí thuyết.5.
Số bước lặp của thuật toán tối ưu L-BFGS cũng phụ thuộc vào số
hạng hiệu chỉnh λ.
5
Với các tham số θ nhỏ, việc hiệu chỉnh cũng giúp giảm thiểu khả năng tràn số khi
cài đặt mô hình entropy cực đại.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 124 / 159
Common Methods Logistic Regression
So sánh độ chính xác
Độ chính xác của một số mô hình phân loại trên tập dữ liệu Iris:
Mô hình KT HL
Chuẩn một chiều (dùng riêng σj ) 100.00% 95.38%
Chuẩn một chiều (dùng riêng σj ) 85.00% 87.69%
GDA 100.00% 97.69%
MLR L-BFGS 100.00% 98.46%
MLR L-BFGS, L2 100.00% 97.69%
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 125 / 159
Common Methods Logistic Regression
So sánh độ chính xác
Ta thấy mô hình MLR cho kết quả tốt nhất trên cả tập kiểm tra và
tập huấn luyện.
Các đặc trưng trong tập dữ liệu là kích thước của các phần tử tự
nhiên (lá và cánh hoa) nên thường tuân theo phân phối chuẩn.
Mô hình GDA với giả định dữ liệu phân phối chuẩn tỏ ra mô hình hoá
dữ liệu tốt.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 126 / 159
Common Methods Logistic Regression
Lá đài, cánh hoa và phân phối chuẩn
4 5 6 7 8
0.0
0.1
0.2
0.3
0.4
Sepal Length
Density
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 127 / 159
Common Methods Logistic Regression
Lá đài, cánh hoa và phân phối chuẩn
2.0 2.5 3.0 3.5 4.0 4.5
0.0
0.2
0.4
0.6
0.8
1.0
Sepal Width
Density
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 128 / 159
Common Methods Logistic Regression
Lá đài, cánh hoa và phân phối chuẩn
0 2 4 6 8
0.00
0.05
0.10
0.15
0.20
0.25
Petal Length
Density
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 129 / 159
Common Methods Logistic Regression
Lá đài, cánh hoa và phân phối chuẩn
0 1 2 3
0.0
0.1
0.2
0.3
0.4
0.5
Petal Width
Density
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 130 / 159
Common Methods Logistic Regression
Chất lượng rượu vang
Không sử dụng hiệu chỉnh:
Red Wine White Wine
Độ chính xác huấn luyện 60.85% 54.35%
J(0) 1.791759 1.945910
J(θ∗) 0.921343 1.093946
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 131 / 159
Common Methods Logistic Regression
Nhận dạng chữ viết tay
Hiệu chỉnh dạng L2 với hệ số hiệu chỉnh λ = 0.1
Nếu dùng mô hình logistic hai lớp:
Xây dựng 10 bộ phân loại nhị phân cho 10 lớp
Độ chính xác trên tập huấn luyện: 94.98%
MLR: 96.72%
J(0) = 2.302585, J(θ∗
) = 0.147061
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 132 / 159
Common Methods Artificial Neural Networks
Content
1 Introduction
2 Datasets
3 Common Methods
Decision Trees
Naive Bayes Models
Binary-Valued Features
Real-Valued Features
Logistic Regression
Binary Model
Multinomial Model
Artificial Neural Networks
4 Summary
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 133 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron nhân tạo
Mô hình toán học mô phỏng mạng nơ-ron sinh học – một nhóm các
nơ-ron liên kết với nhau bằng các synapses.
Ứng dụng thành công cho nhiều bài toán phân loại và dự báo:
nhận dạng tiếng nói
phân tích ảnh
điều khiển tương thích
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 134 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron đơn giản
+1
x3
x2
x1
hθ,b(x)
Mạng nơ-ron này chỉ gồm một khối tính toán có ba đơn vị dữ liệu vào là
x1, x2, x3 và một số hạng tự do +1; đơn vị dữ liệu ra là
hθ,b(x) = f
3
X
i=1
θi xi + b
!
,
trong đó f : R → R là một hàm kích hoạt nào đó.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 135 / 159
Common Methods Artificial Neural Networks
Hàm kích hoạt – Hàm sigmoid (logistic)
f (z) =
1
1 + exp(−z)
0
0.5
1
-4 -2 0 2 4
f
(z)
z
Hàm logistic
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 136 / 159
Common Methods Artificial Neural Networks
Hàm kích hoạt – Hàm tangent hyperbolic
f (z) = tanh(z) =
ez − e−z
ez + e−z
.
-1
-0.5
0
0.5
1
-2 -1 0 1 2
f
(z)
z
Hàm tanh
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 137 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron ba lớp
Lớp 1
+1
x3
x2
x1
Lớp 2
+1
Lớp 3
hθ,b(x)
θ
(2)
1
θ
(2)
2
θ
(2)
3
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 138 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron ba lớp
Ta biểu diễn mỗi đơn vị bằng một hình tròn. Các dữ liệu vào cũng
được biểu diễn bởi hình tròn.
Các hình tròn có nhãn +1 biểu diễn các đơn vị chệch, tương ứng với
các số hạng tự do. Lớp bên trái gọi là lớp vào, lớp bên phải là lớp ra.
Trong ví dụ này, lớp ra chỉ gồm 1 đơn vị.
Lớp giữa được gọi là lớp ẩn vì các giá trị của nó không quan sát được.
Ta nói mạng nơ-ron này có 3 đơn vị vào (không tính đơn vị chệch), 3
đơn vị ẩn và một đơn vị ra.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 139 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron n lớp
Gọi n là số lớp của mạng (n = 3 trong ví dụ trên).
Kí hiệu Ll là lớp thứ l của mạng; L1 là lớp vào và Ln là lớp ra.
Mạng nơ-ron ở trên có các tham số là (θ, b) = (θ(1), b(1), θ(2), b(2))
trong đó θ
(l)
ij biểu diễn tham số gắn với cung nối từ đơn vị j của lớp l
tới đơn vị i của lớp l + 1:
Lớp l Lớp l + 1
j i
θ
(l)
ij
b
(l)
i là độ chệch của đơn vị i trong lớp l.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 140 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron n lớp
Trong ví dụ trên, ta có
θ(1)
=



θ
(1)
11 θ
(1)
12 θ
(1)
13
θ
(1)
21 θ
(1)
22 θ
(1)
23
θ
(1)
31 θ
(1)
32 θ
(1)
33


 θ(2)
=

θ
(2)
11 θ
(2)
12 θ
(2)
13

b(1)
=



b
(1)
1
b
(1)
2
b
(1)
3


 b(2)
=

b
(2)
1

.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 141 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron n lớp
Ta gọi a
(l)
i là kích hoạt (có ý nghĩa là giá trị ra) của đơn vị i trong
lớp l.
Với l = 1 thì a
(1)
i = xi .
Mạng nơ-ron tính toán một giá trị ra theo lược đồ sau:
a
(1)
i = xi , ∀i = 1, 2, 3;
a
(2)
1 = f

θ
(1)
11 a
(1)
1 + θ
(1)
12 a
(1)
2 + θ
(1)
13 a
(1)
3 + b
(1)
1

a
(2)
2 = f

θ
(1)
21 a
(1)
1 + θ
(1)
22 a
(1)
2 + θ
(1)
23 a
(1)
3 + b
(1)
2

a
(2)
3 = f

θ
(1)
31 a
(1)
1 + θ
(1)
32 a
(1)
2 + θ
(1)
33 a
(1)
3 + b
(1)
3

a
(3)
1 = f

θ
(2)
11 a
(2)
1 + θ
(2)
12 a
(2)
2 + θ
(2)
13 a
(2)
3 + b
(2)
1

.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 142 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron n lớp
Kí hiệu z
(l+1)
i =
P3
j=1 θ
(l)
ij a
(l)
j + b
(l)
i , khi đó a
(l)
i = f (z
(l)
i ).
Nếu ta mở rộng hàm f cho các tham số véc-tơ dạng
f ((z1, z2, z3)) = (f (z1), f (z2), f (z3))
thì ta có thể biểu diễn các công thức tính kích hoạt dưới dạng ma
trận ngắn gọn:
z(2)
= θ(1)
a(1)
+ b(1)
a(2)
= f

z(2)

z(3)
= θ(2)
a(2)
+ b(2)
hθ,b(x) = a(3)
= f

z(3)

.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 143 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron n lớp
Trong mạng nơ-ron tổng quát với n lớp, ta có thể sử dụng lược đồ
tính toán tiến tương tự như trên để tính giá trị ra của mạng.
Trước tiên tính các kích hoạt trong lớp thứ 2, sau đó tính các kích
hoạt trong lớp thứ 3. . . cho tới khi tính được hθ,b(x) = f z(n)

.
Các kích hoạt của lớp thứ l + 1 được tính từ các kích hoạt của lớp
thứ l như sau:
z(l+1)
= θ(l)
a(l)
+ b(l)
a(l+1)
= f (z(l)
).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 144 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron n lớp
Lớp 1
+1
x3
x2
x1
Lớp 2
+1
Lớp 3
+1
Lớp 4
hθ,b(x)
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 145 / 159
Common Methods Artificial Neural Networks
Mạng nơ-ron n lớp
Chú ý rằng mạng nơ-ron có thể có nhiều đơn vị ra.
Để huấn luyện mô hình mạng này, ta cần có tập dữ liệu huấn luyện
{(xi , yi )} trong đó yi ∈ R2
.
Mô hình này được sử dụng khi ta cần dự báo giá trị nhiều chiều, ví
dụ trong chẩn đoán y tế, xi biểu diễn các thuộc tính, đặc điểm của
bệnh nhân, yi là các giá trị biểu diễn có hay không các bệnh khác
nhau nào đó
yi = (0, 1) biểu diễn bệnh nhân không mắc bệnh thứ nhất nhưng mắc
bệnh thứ hai.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 146 / 159
Common Methods Artificial Neural Networks
Hàm tổn thất
Giả sử tập dữ liệu huấn luyện gồm N mẫu
{(x1, y1), (x2, y2), . . . , (xN, yN )}.
Ta có thể huấn luyện mạng nơ-ron bằng thuật toán giảm gradient
loạt.
Với mỗi mẫu dữ liệu (x, y) ta gọi hàm tổn thất tương ứng là
J(x, y; θ, b).
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 147 / 159
Common Methods Artificial Neural Networks
Hàm tổn thất
Hàm tổn thất trên toàn bộ tập dữ liệu là
J(θ, b) =
1
N
N
X
i=1
J(xi , yi ; θ, b) +
λ
2N
n−1
X
l=1
sl
X
i=1
sl+1
X
j=1

θ
(l)
ji
2
| {z }
số hạng hiệu chỉnh
trong đó sl là số đơn vị ở lớp thứ l.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 148 / 159
Common Methods Artificial Neural Networks
Hàm tổn thất
Hai dạng hàm tổn thất thường dùng:
1 Hàm sai số bình phương:
J(x, y; θ, b) =
1
2
ky − hθ,b(x)k2
.
2 Hàm cross-entropy:
J(x, y; θ, b) = − [y log(hθ,b(x)) + (1 − y) log(1 − hθ,b(x))] ,
trong đó y ∈ {0, 1}.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 149 / 159
Common Methods Artificial Neural Networks
Thuật toán giảm gradient
Để huấn luyện mô hình, ta cần tìm các tham số θ, b tối tiểu hóa hàm
chi phí:
J(θ, b) → min .
Để giải bài toán này ta cần sử dụng các thuật toán tối ưu.
Thuật toán đơn giản nhất là thuật toán giảm gradient.
Vì J(θ, b) không phải là hàm lồi nên giá trị tối ưu cục bộ tìm được có
thể không phải là tối ưu toàn cục.
Tuy nhiên trong thực tế, thuật toán giảm gradient thường tìm được
mô hình tốt nếu giá trị khởi đầu của các tham số được chọn một
cách thích hợp.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 150 / 159
Common Methods Artificial Neural Networks
Thuật toán giảm gradient
Trong mỗi bước lặp, thuật toán giảm gradient cập nhật các tham số θ, b
như sau:
θ
(l)
ij = θ
(l)
ij − α
∂
∂θ
(l)
ij
J(θ, b)
b
(l)
i = b
(l)
i − α
∂
∂b
(l)
i
J(θ, b),
trong đó α là tốc độ học.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 151 / 159
Common Methods Artificial Neural Networks
Thuật toán giảm gradient
Ta có
∂
∂θ
(l)
ij
J(θ, b) =
1
N


N
X
i=1
∂
∂θ
(l)
ij
J(xi , yi ; θ, b) + λθ
(l)
ij


∂
∂b
(l)
i
J(θ, b) =
1
N
N
X
i=1
∂
∂b
(l)
i
J(xi , yi ; θ, b).
Ở đây, ta cần tính các đạo hàm riêng:
∂
∂θ
(l)
ij
J(xi , yi ; θ, b),
∂
∂b
(l)
i
J(xi , yi ; θ, b)
Thuật toán lan truyền ngược là một thuật toán hiệu quả để tính các đạo
hàm riêng này. Ta không trình bày thuật toán này ở đây.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 152 / 159
Common Methods Artificial Neural Networks
Nhận dạng chữ viết tay
Mô hình Tiền xử lí Lỗi (%)
Tuyến tính (mạng nơ-ron 1 lớp) không 12.0
Tuyến tính (mạng nơ-ron 1 lớp) giảm độ nghiêng 8.4
Mạng nơ-ron 2 lớp, 300 đơn vị ẩn không 4.7
Mạng nơ-ron 2 lớp, 300 đơn vị ẩn giảm độ nghiêng 1.6
Mạng nơ-ron 2 lớp, 1000 đơn vị ẩn không 4.5
Mạng nơ-ron 6 lớp, 784-2500-2000-
1500-1000-500-10
không 0.35
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 153 / 159
Common Methods Artificial Neural Networks
Nhận dạng tiếng nói
Gần đây, mạng nơ-ron sâu (DNNs) gồm nhiều lớp ẩn, được huấn
luyện bằng một số thuật toán hiện đại đã cho kết quả tốt hơn những
kết quả tốt nhất đạt được bởi GMMs.
So sánh tỉ lệ lỗi trên các tập dữ liệu lớn giữa hai mô hình
GMM-HMM và DNN-HMM:
Task Training (h) DNN GMM
Switchboard (Test set 1) 309 18.5 27.4
Switchboard (Test set 2) 309 16.1 23.6
English Broadcast News 50 17.5 18.8
Bing Voice Search 24 30.4 36.2
Google Voice Input 5,870 12.3
Youtube 1,400 47.6 52.3
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 154 / 159
Common Methods Artificial Neural Networks
Recurrent Neural Networks
RNNs process input sequence of arbitrarily length via the recursive
application of a transition function on a hidden state vector.
It takes as input a list of input vectors x1, x2, . . . , xn and an initial
state vector s0, and returns a list of state vectors s1, s2, . . . , sn as well
as a list of output vectors y0, y1, . . . , yn.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 155 / 159
Common Methods Artificial Neural Networks
Recurrent Neural Networks
We have a recursively defined function f (·) that takes as input a state
vector st and an input vector xt+1 and produces a new state vector
st+1.
An additional function g(·) is used to map a state vector st to an
output vector yt. That is
st+1 = f (st, xt+1),
yt = g(st)
The functions f , g are the same accross the sequence positions. The
parameter vector θ is also shared across all time steps.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 156 / 159
Common Methods Artificial Neural Networks
Recurrent Neural Networks
st−1 f , g st
xt
yt
~
θ
s0 f , g s1
x1
y1
f , g s2
x2
y2
· · ·
~
θ
The left figure shows the recursive definition.
The right figure shows the unrolled version.
The parameter vector θ is shared across all time steps.
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 157 / 159
Summary
Summary
Một số mô hình xác suất thống kê cho phân loại dữ liệu
Một số ví dụ thực tế: phân loại ảnh, phân loại văn bản, phân loại dữ
liệu số
Tầm quan trọng của các kiến thức toán học, xác suất thống kê và
khoa học máy tính trong khoa học dữ liệu và trí tuệ nhân tạo
Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 158 / 159

More Related Content

Similar to vna-LHPhuong(A6)-2.pdf

qdoc.tips_huong-dan-su-dung-wekapdf.pdf
qdoc.tips_huong-dan-su-dung-wekapdf.pdfqdoc.tips_huong-dan-su-dung-wekapdf.pdf
qdoc.tips_huong-dan-su-dung-wekapdf.pdfminhtd9a
 
Chuong3_Maungaunhienvabtuocluong.pdf
Chuong3_Maungaunhienvabtuocluong.pdfChuong3_Maungaunhienvabtuocluong.pdf
Chuong3_Maungaunhienvabtuocluong.pdfHaiNguyen858754
 
Phoebe - A framework of estimating fetus weight and age
Phoebe - A framework of estimating fetus weight and agePhoebe - A framework of estimating fetus weight and age
Phoebe - A framework of estimating fetus weight and ageLoc Nguyen
 
8.phuong phap chon mau, co mau
8.phuong phap chon mau, co mau8.phuong phap chon mau, co mau
8.phuong phap chon mau, co mauthao thu
 
Bảng hòa tấu dữ liệu xã hội.pdf
Bảng hòa tấu dữ liệu xã hội.pdfBảng hòa tấu dữ liệu xã hội.pdf
Bảng hòa tấu dữ liệu xã hội.pdfNinhNguyen893437
 
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNGBÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNGTai Tran
 
Ung dung excel trong phan tich hoi quy va tuong quan
Ung dung excel trong phan tich hoi quy va tuong quanUng dung excel trong phan tich hoi quy va tuong quan
Ung dung excel trong phan tich hoi quy va tuong quanNghịch Ngợm Rồng Con
 
Excel_SV2022_Ngan.pdf
Excel_SV2022_Ngan.pdfExcel_SV2022_Ngan.pdf
Excel_SV2022_Ngan.pdfTiepDinh3
 
Kỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
Kỹ thuật lập trình - PGS.TS. Phạm Thế BảoKỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
Kỹ thuật lập trình - PGS.TS. Phạm Thế BảoNguyen Van Nghiem
 
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu nataliej4
 
TRNG_DI_HC_NHA_TRANG.pdf
TRNG_DI_HC_NHA_TRANG.pdfTRNG_DI_HC_NHA_TRANG.pdf
TRNG_DI_HC_NHA_TRANG.pdfPHNGUYNNGC9
 
Slide bài giảng Cơ sở dữ liệu suy diễn.pptx
Slide bài giảng Cơ sở dữ liệu suy diễn.pptxSlide bài giảng Cơ sở dữ liệu suy diễn.pptx
Slide bài giảng Cơ sở dữ liệu suy diễn.pptxPhamThiThuThuy1
 
Bai 1 tong quan ve ctdl&amp;gt
Bai 1   tong quan ve ctdl&amp;gtBai 1   tong quan ve ctdl&amp;gt
Bai 1 tong quan ve ctdl&amp;gtTrangThu251076
 

Similar to vna-LHPhuong(A6)-2.pdf (20)

Đề tài: Thuật toán phân cụm dữ liệu mờ, HAY
Đề tài: Thuật toán phân cụm dữ liệu mờ, HAYĐề tài: Thuật toán phân cụm dữ liệu mờ, HAY
Đề tài: Thuật toán phân cụm dữ liệu mờ, HAY
 
Bai 4 Phanlop
Bai 4 PhanlopBai 4 Phanlop
Bai 4 Phanlop
 
Bai 4 Phan Lop
Bai 4 Phan LopBai 4 Phan Lop
Bai 4 Phan Lop
 
Lawoflargenumber
LawoflargenumberLawoflargenumber
Lawoflargenumber
 
Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám
Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thámPhân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám
Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám
 
qdoc.tips_huong-dan-su-dung-wekapdf.pdf
qdoc.tips_huong-dan-su-dung-wekapdf.pdfqdoc.tips_huong-dan-su-dung-wekapdf.pdf
qdoc.tips_huong-dan-su-dung-wekapdf.pdf
 
Toan roi rac.pptx
Toan roi rac.pptxToan roi rac.pptx
Toan roi rac.pptx
 
Chuong3_Maungaunhienvabtuocluong.pdf
Chuong3_Maungaunhienvabtuocluong.pdfChuong3_Maungaunhienvabtuocluong.pdf
Chuong3_Maungaunhienvabtuocluong.pdf
 
Phoebe - A framework of estimating fetus weight and age
Phoebe - A framework of estimating fetus weight and agePhoebe - A framework of estimating fetus weight and age
Phoebe - A framework of estimating fetus weight and age
 
8.phuong phap chon mau, co mau
8.phuong phap chon mau, co mau8.phuong phap chon mau, co mau
8.phuong phap chon mau, co mau
 
Bảng hòa tấu dữ liệu xã hội.pdf
Bảng hòa tấu dữ liệu xã hội.pdfBảng hòa tấu dữ liệu xã hội.pdf
Bảng hòa tấu dữ liệu xã hội.pdf
 
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNGBÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
 
Ung dung excel trong phan tich hoi quy va tuong quan
Ung dung excel trong phan tich hoi quy va tuong quanUng dung excel trong phan tich hoi quy va tuong quan
Ung dung excel trong phan tich hoi quy va tuong quan
 
Excel_SV2022_Ngan.pdf
Excel_SV2022_Ngan.pdfExcel_SV2022_Ngan.pdf
Excel_SV2022_Ngan.pdf
 
Kỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
Kỹ thuật lập trình - PGS.TS. Phạm Thế BảoKỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
Kỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
 
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
 
4231858-210704071444.pdf
4231858-210704071444.pdf4231858-210704071444.pdf
4231858-210704071444.pdf
 
TRNG_DI_HC_NHA_TRANG.pdf
TRNG_DI_HC_NHA_TRANG.pdfTRNG_DI_HC_NHA_TRANG.pdf
TRNG_DI_HC_NHA_TRANG.pdf
 
Slide bài giảng Cơ sở dữ liệu suy diễn.pptx
Slide bài giảng Cơ sở dữ liệu suy diễn.pptxSlide bài giảng Cơ sở dữ liệu suy diễn.pptx
Slide bài giảng Cơ sở dữ liệu suy diễn.pptx
 
Bai 1 tong quan ve ctdl&amp;gt
Bai 1   tong quan ve ctdl&amp;gtBai 1   tong quan ve ctdl&amp;gt
Bai 1 tong quan ve ctdl&amp;gt
 

vna-LHPhuong(A6)-2.pdf

  • 1. Statistical Classification Lê Hồng Phương Data Science Laboratory <phuonglh@hus.edu.vn> December 3, 2018 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 1 / 159 Content 1 Introduction 2 Datasets 3 Common Methods Decision Trees Naive Bayes Models Binary-Valued Features Real-Valued Features Logistic Regression Binary Model Multinomial Model Artificial Neural Networks 4 Summary Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 2 / 159 Introduction Bài toán phân loại Kí hiệu mỗi đối tượng cần phân loại là x. Ta cần phân loại tự động x vào một trong K loại khác nhau, đánh số từ 1 tới K. x =⇒ y = f (x) ∈ {1, 2, . . . , K} . Mỗi đối tượng (còn gọi là mẫu dữ liệu vào) x được mô tả dưới dạng một danh sách đặc trưng (thuộc tính). Ví dụ: Nếu x là một người thì ta có thể dùng danh sách tên, tuổi, thâm niên công tác (tính theo năm), mức thu nhập tháng, v.v. x1 = (Nghêu, 20, 2, 10.5) x2 = (Hến, 30, 8, 15.3) Giả sử ngân hàng muốn phân loại mỗi khách hàng x thành một trong các loại: 1 = khách bình thường, 2 = khách hàng bậc trung, 3 = khách hàng VIP, etc. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 3 / 159 Introduction Ví dụ: Phân loại tự động bình luận của khách hàng VNA staff need further training. Sabre web check-in runs very slow and sometime not responding. I would like to improve the processing speed of the baggage. if that is still delay similar i am not sure, i may try other airline. your website is just shit. yêu cầu dịch vụ ẩm thực phong phú hơn, giải trí đa dạng hơn. thủ tục hơi lâu. phần kiểm tra an ninh nên cho hội viên vàng đi lối ưu tiên. Online demo: http://vlsp.org.vn:8080/vitk/opm/index.xhtml Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 4 / 159
  • 2. Introduction Học có hướng dẫn Ta muốn xây dựng một chương trình máy tính phân loại tự động, với mỗi x, chương trình dự báo tự động y. Mỗi phương pháp phân loại tương ứng với một hàm toán học y = f (x). Hàm f là hàm có tham số θ, ta kí hiệu fθ(x) hoặc f (x; θ). Giả sử ta có một tập dữ liệu huấn luyện: D = {(x1, y1), (x2, y2), . . . , (xN , yN)} Ta dùng tập dữ liệu D để tìm giá trị tham số θ phù hợp nhất. Mục tiêu: dự báo chính xác nhất cho các dữ liệu x mới, không thuộc D. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 5 / 159 Introduction Phân loại xác suất Với cách tiếp cận phân loại xác suất, ta tính phân phối xác suất có điều kiện của mỗi loại y khi đã biết x, tức là tính P(y = k| x), ∀k = 1, 2, . . . , K. Chú ý rằng PK k=1 P(y = k| x) = 1. Phân phối xác suất P(y = k| x) được gọi là phân phối hậu nghiệm. Còn phân phối P(y = k) gọi là phân phối tiên nghiệm (trước khi biết dữ liệu). Khi đã tính được phân phối hậu nghiệm thì việc phân loại x là dễ dàng: tìm loại k sao cho P(y = k| x) là lớn nhất: ŷ = arg max k P(y = k| x). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 6 / 159 Introduction Mô hình phân biệt Trong mô hình phân biệt, ta xây dựng một hàm trực tiếp mô phỏng phân phối hậu nghiệm P(y = k| x) Ví dụ: P(y = 1| x; θ) = fθ(x) = 1 1 + exp(−θ · x) Đây là dạng mô hình hồi quy logistic. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 7 / 159 Introduction Mô hình sinh Mô hình sinh mô phỏng phân phối đồng thời của x và y: P(x, y; θ). Theo quy tắc Bayes: P(x, y; θ) = P(x |y; θ) × P(y; θ). Như vậy, trong mô hình sinh, ta cần tính phân phối P(x |y) và phân phối tiên nghiệm P(y). Từ đó mới tính phân phối hậu nghiệm P(y| x; θ) = P(x |y; θ)P(y; θ) P(x; θ) . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 8 / 159
  • 3. Introduction Đánh giá mô hình Giả sử ta có mô hình fθ phân loại mỗi đối tượng x vào loại ŷ = fθ(x). Ta sử dụng một tập dữ liệu đánh giá (dữ liệu kiểm tra): D∗ = {(x1, y1), (x2, y2), . . . , (xM, yM )} Một độ đo đơn giản và hay dùng để đánh giá mô hình tốt hay xấu là độ chính xác – đếm tỉ lệ phân loại đúng: accuracy = PM i=1 δ(ŷi ≡ yi ) M , trong đó δ(·) là hàm chỉ số: δ(true) = 1, δ(false) = 0. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 9 / 159 Datasets Các tập dữ liệu ví dụ Trong bài giảng này, ta sẽ dùng 6 tập dữ liệu minh hoạ sau đây: 1 Spam Emails 2 Breast Cancer 3 Iris Flowers 4 Wine Quality 5 Image Classification 6 Hand-written Digits Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 10 / 159 Datasets Phân loại thư rác Tập dữ liệu Spambase1 cung cấp 4601 mẫu thư điện tử tiếng Anh dạng thư rác và không phải thư rác. Tập dữ liệu này thường được dùng để đánh giá hiệu quả của các thuật toán lọc thư rác tự động. Một số tính chất của tập dữ liệu này: Tính chất của dữ liệu: đa chiều Kích thước mẫu: 4601 Kiểu của đặc trưng: số nguyên và số thực Số đặc trưng: 57 1 http://archive.ics.uci.edu/ml/datasets/Spambase Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 11 / 159 Datasets Phân loại thư rác Danh sách các đặc trưng của tập dữ liệu này như sau: 48 số thực trong đoạn [0, 100] thuộc kiểu word_freq_WORD là phần trăm từ trong thư là WORD, tức là 100*(số lần từ WORD xuất hiện trong thư) / tổng số từ trong thư. Mỗi “từ” là bất kì một chuỗi kí tự nào, có thể là từ theo nghĩa thông thường hoặc một kí hiệu (token). Một số từ thuộc 48 từ được xét: make, address, all, 3d, our, money, technology, conference. 6 số thực trong đoạn [0, 100] thuộc kiểu char_freq_WORD là phần trăm kí tự trong thư là CHAR, tức là 100*(số lần kí tự CHAR xuất hiện trong thư) / tổng số kí tự trong thư. Sáu kí tự được xét là ;, (, [, !, $ và #. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 12 / 159
  • 4. Datasets Phân loại thư rác 1 số thực trong đoạn [1, . . . ] thuộc kiểu capital_run_length_average là độ dài trung bình của các chuỗi chứa toàn các kí tự hoa trong thư. 1 số nguyên trong đoạn [1, . . . ] thuộc kiểu capital_run_length_longest là độ dài của chuỗi dài nhất chứa toàn các kí tự hoa. 1 số nguyên trong đoạn [1, . . . ] thuộc kiểu capital_run_length_total là tổng độ dài của các chuỗi chứa toàn các kí tự hoa, tức là tổng số kí tự hoa trong thư. Nếu thư là thư rác thì nó được đánh dấu thuộc lớp 1, không phải thư rác thì thuộc lớp 0. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 13 / 159 Datasets Chẩn đoán ung thư Bộ dữ liệu về bệnh nhân ung thư vú của Đại học Wisconsin–Madison, Hoa Kỳ.2. Để dự báo một bệnh nhân có mắc phải bệnh ung thư vú hay không, người ta lấy mẫu sinh thiết (FNA–Fine Needle Aspiration) của khối u và phân tích mẫu này. Lấy một lát cắt của mẫu để soi dưới kính hiển vi, quét và ghi lại mẫu dưới dạng các khung ảnh số của các nhân tế bào. Sau khi đã cô lập các nhân tế bào, ta tiến hành tính toán 10 đặc tính của nhân, đo kích thước, hình dạng, kết cấu của chúng. Với mỗi đặc trưng này, ta tính toán giá trị trung bình, độ lệch chuẩn, các giá trị cực trị. 2 Wisconsin Diagnostic Breast Cancer (WDBC), http://www.cs.wisc.edu/~olvi/uwmp/cancer.html Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 14 / 159 Datasets Chẩn đoán ung thư Có 30 đặc trưng giá trị thực cho mỗi mẫu. Tập huấn luyện có 569 mẫu dữ liệu, trong đó có 357 mẫu u lành tính, 212 mẫu u ác tính. Với mỗi nhân tế bào, người ta tính 10 đặc trưng sau: STT. Đặc trưng Giải thích 0. radius trung bình các khoảng cách từ trung tâm tới các điểm trên chu vi 1. texture kết cấu, là độ lệch chuẩn của các giá trị thang xám 2. perimeter chu vi 3. area diện tích 4. smoothness độ trơn, là độ biến đổi cục bộ theo các độ dài bán kính 5. compactness độ đặc, tính bởi perimeter2 / area - 1.0 6. concavity độ lõm 7. concave points số phần lõm của các đường viền 8. symmetry độ đối xứng 9. fractal dimension số chiều fractal Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 15 / 159 Datasets Chẩn đoán ung thư Mỗi mẫu cần chẩn đoán có 30 đặc trưng: Đặc trưng thứ nhất là trung bình của radius Đặc trưng thứ 11 là độ lệch chuẩn của radius Đặc trưng thứ 21 là radius lớn nhất, được tính bởi giá trị trung bình của 3 giá trị lớn nhất. Hai mẫu ví dụ được gán các lớp tương ứng là ác tính (M–malignant) và lành tính (B–benign). 1 M, 17.99, 10.38, 122.8, 1001, 0.1184, 0.2776, 0.3001, 0.1471, 0.2419, 0.07871, 1.095, 0.9053, 8.589, 153.4, 0.006399, 0.04904, 0.05373, 0.01587, 0.03003, 0.006193, 25.38, 17.33, 184.6, 2019, 0.1622, 0.6656, 0.7119, 0.2654, 0.4601, 0.1189 2 B, 7.76, 24.54, 47.92, 181, 0.05263, 0.04362, 0, 0, 0.1587, 0.05884, 0.3857, 1.428, 2.548, 19.15, 0.007189, 0.00466, 0, 0, 0.02676, 0.002783, 9.456, 30.37, 59.16, 268.6, 0.08996, 0.06444, 0, 0, 0.2871, 0.07039 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 16 / 159
  • 5. Datasets Hoa Iris Tập dữ liệu về hoa Iris3 nổi tiếng trong lĩnh vực nhận dạng. Xuất hiện trong bài báo của Ronald Fisher năm 1936, ngày nay vẫn được dùng thường xuyên. Tập huấn luyện: 130 mẫu, tập kiểm tra: 20 mẫu Đặc trưng Lớp độ dài của lá đài Setosa độ rộng của lá đài Versicolour độ dài của cánh hoa Virginica độ rộng của cánh hoa 3 http://archive.ics.uci.edu/ml/datasets/Iris Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 17 / 159 Datasets Chất lượng rượu vang Two datasets related to red and white vinho verde wine samples, from the north of Portugal. The goal is to model wine quality based on physicochemical tests. http://archive.ics.uci.edu/ml/datasets/Wine+Quality Number of instances: red wine = 1599; white wine = 4898; D = 11. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 18 / 159 Datasets Phân loại ảnh Tập ảnh được cung cấp bởi nhóm nghiên cứu thị giác máy tính của Đại học Massachusetts, Hoa Kỳ. Tập dữ liệu gồm 210 ảnh dùng để huấn luyện mô hình và 2100 ảnh dùng để kiểm tra độ chính xác của mô hình. Mỗi ảnh được phân vào một trong 7 lớp sau: mặt gạch (brickface), bầu trời (sky), lá cây (foliage), xi-măng (cement), cửa sổ (window), đường đi (path) và cỏ (grass). Mỗi lớp có 30 mẫu huấn luyện và 300 mẫu kiểm tra. Các mẫu ảnh được trích ra từ 7 bức ảnh ngoài trời và được phân đoạn bằng tay để tạo phân loại cho từng điểm ảnh. Mỗi mẫu ảnh là một vùng điểm ảnh kích thước 3 × 3. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 19 / 159 Datasets Phân loại ảnh Mỗi mẫu có 19 đặc trưng là các số thực: 1 region-centroid-col: chỉ số cột của điểm ảnh trung tâm của vùng; 2 region-centroid-row: chỉ số hàng của điểm ảnh trung tâm của vùng; 3 region-pixel-count: số điểm ảnh của vùng, ở đây bằng 9; 4 short-line-density-5: kết quả của một thuật toán trích đoạn thẳng, là số đoạn thẳng độ dài 5 (hướng bất kì) với độ tương phản thấp, nhỏ hơn hoặc bằng 5, đi qua vùng ảnh; 5 short-line-density-2: giống như short-line-density-5 nhưng đếm số đoạn thẳng có độ tương phản cao, lớn hơn hoặc bằng 5; 6 vedge-mean: đo độ tương phản của các điểm ảnh nằm kề nhau theo chiều ngang trong vùng. Có 6 điểm ảnh, giá trị trung bình và độ lệch chuẩn cho trước. Đặc trưng này được sử dụng để phát hiện cạnh dọc. 7 vegde-sd: xem đặc trưng 6; Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 20 / 159
  • 6. Datasets Phân loại ảnh 8 hedge-mean: đo độ tương phản của các điểm ảnh kề nhau theo chiều dọc. Được sử dụng để phát hiện đoạn nằm ngang; 9 hedge-sd: xem đặc trưng 8; 10 intensity-mean: giá trị trung bình trong vùng của (R + G + B)/3; 11 rawred-mean: giá trị trung bình trong vùng của giá trị R; 12 rawblue-mean: giá trị trung bình trong vùng của giá trị G; 13 rawgreen-mean: giá trị trung bình trong vùng của giá trị G; 14 exred-mean: đo màu đỏ thừa: (2R − (G + B)); 15 exblue-mean: đo màu xanh da trời thừa : (2B − (G + R)); 16 exgreen-mean: đo màu xanh lá cây thừa: (2G − (R + B)); 17 value-mean: biến đổi phi tuyến 3 − d của RGB. 18 saturation-mean: xem đặc trưng 17; 19 hue-mean: xem đặc trưng 17. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 21 / 159 Datasets Nhận dạng chữ viết tay Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 22 / 159 Datasets Nhận dạng chữ viết tay The set contains 5000 training examples. This is a subset of the MNIST hand-written digit dataset: http://yann.lecun.com/exdb/mnist/ Each training example is a 20x20 pixels grayscale image of the digit. Each pixel is represented by a floating point number indicating the grayscale intensity at that location. The 20x20 grid of pixel is unrolled into a 400-dimensional vector. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 23 / 159 Common Methods Decision Trees Content 1 Introduction 2 Datasets 3 Common Methods Decision Trees Naive Bayes Models Binary-Valued Features Real-Valued Features Logistic Regression Binary Model Multinomial Model Artificial Neural Networks 4 Summary Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 24 / 159
  • 7. Common Methods Decision Trees Decision Trees Cây quyết định ánh xạ mỗi x ∈ RD thành y bằng các quyết định nhị phân: Mỗi nút trên cây có một luật phân tách. Mỗi nút lá gắn với một giá trị ra (loại y). Mỗi luật phân tách có dạng h(x) = δ(xj > t), với mỗi thuộc tính j của x và t ∈ R. x1 > 1.7 y = 1 x2 > 2.8 y = 2 y = 3 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 25 / 159 Common Methods Decision Trees Decision Trees 1.5 2 2.5 3 2 3 4 5 6 sepal length/sepal width petal length/petal width Phân loại hoa Iris với các độ đo về lá đài và cánh hoa: x ∈ R2 , y ∈ {1, 2, 3} x1 = sepal length/width x2 = petal length/width Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 26 / 159 Common Methods Decision Trees Decision Trees 1.5 2 2.5 3 2 3 4 5 6 sepal length/sepal width petal length/petal width Phân loại hoa Iris với các độ đo về lá đài và cánh hoa: x ∈ R2 , y ∈ {1, 2, 3} x1 = sepal length/width x2 = petal length/width x1 > 1.7 y = 1 y = 3 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 27 / 159 Common Methods Decision Trees Decision Trees 1.5 2 2.5 3 2 3 4 5 6 sepal length/sepal width petal length/petal width Phân loại hoa Iris với các độ đo về lá đài và cánh hoa: x ∈ R2 , y ∈ {1, 2, 3} x1 = sepal length/width x2 = petal length/width x1 > 1.7 y = 1 x2 > 2.8 y = 2 y = 3 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 28 / 159
  • 8. Common Methods Decision Trees Xây dựng cây quyết định Phương pháp cơ bản để xây dựng cây quyết định: thuật toán tham từ trên xuống (top-down greedy algorithm): Xuất phát từ một nút lá chứa toàn bộ dữ liệu Lặp các bước sau: Chọn một nút lá để chia tách tốt nhất (giảm độ không chắc chắn nhiều nhất) Tìm luật quyết định trên một trong các thuộc tính Kiểm tra điều kiện dừng Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 29 / 159 Common Methods Decision Trees Xây dựng cây quyết định Mỗi khi phân tách một vùng Rm nào đó, ta cần đo xem độ tốt (hoặc tồi) hiện tại của vùng và khả năng cải thiện nó khi vùng đó được chia tách. Với mỗi x ∈ Rm, gọi pk là tỉ lệ các mẫu được gán nhãn k trong tập dữ liệu. Ba độ đo chất lượng hay dùng: 1 Sai số phân loại: 1 − maxk pk 2 Chỉ số Gini: 1 − P k p2 k 3 Entropy: − P k pk log2 pk Các độ đo này đều là lớn nhất khi pk phân phối đều trên K lớp ở trong Rm. Các độ đo này là nhỏ nhất khi pk = 1 với một k nào đó (Rm chỉ chứa một lớp) Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 30 / 159 Common Methods Decision Trees Học cây quyết định Hai thuật toán học cây quyết định điển hình: CART (Classification and Regression Trees): Dùng chỉ số Gini làm độ đo ID3 (Iterative Dichotomiser 3): Dùng hàm Entropy làm độ đo Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 31 / 159 Common Methods Decision Trees Học cây quyết định - CART 1.5 2 2.5 3 2 3 4 5 6 sepal length/sepal width petal length/petal width x1 > 1.7 y = 1 y = 3 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 32 / 159
  • 9. Common Methods Decision Trees Học cây quyết định - CART Tìm R1 và R2 để chọn cách tách. R1 : y = 1 các lá đã được phân loại hoàn toàn. R2 : y = 3 các lá có chỉ số Gini: u(R2) = 1 − 1 101 2 − 50 101 2 − 50 101 2 = 0.50975 Độ tăng của chỉ số Gini khi tách Rm thành hai vùng R− m và R+ m : u(Rm) − pR− m × u(R− m ) + pR+ m × u(R+ m ) pR− m là tỉ lệ dữ liệu trong Rm được tách thành R− m . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 33 / 159 Common Methods Decision Trees Học cây quyết định - CART Thử tách R2 bằng các luật dạng δ(x1 t) 1.6 1.8 2 2.2 2.4 2.6 2.8 3 0 0.005 0.01 0.015 0.02 t reduction in uncertainty Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 34 / 159 Common Methods Decision Trees Học cây quyết định - CART Thử tách R2 bằng các luật dạng δ(x2 t) 2 2.5 3 3.5 4 4.5 0 0.05 0.1 0.15 0.2 t reduction in uncertainty Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 35 / 159 Common Methods Decision Trees Tỉa cây Khi nào thì ta nên dừng tách các nút? Phương pháp giảm độ chắc chắn không phải là cách tốt nhất. Trong thực tế, người ta dùng thuật toán tỉa bớt (pruning). Phát triển cây tới kích thước lớn, sau đó sử dụng một thuật toán để co cây lại dần.4 4 Ta không trình bày thuật toán này ở trong bài giảng. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 36 / 159
  • 10. Common Methods Decision Trees Quá khớp Sai số trên tập huấn luyện tiến dần về 0 khi kích thước cây lớn dần. Sai số trên tập kiểm tra giảm dần, nhưng sau đó lại tăng dần vì hiện tượng quá khớp (overfitting). number of nodes classification error training error test error Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 37 / 159 Common Methods Naive Bayes Models Content 1 Introduction 2 Datasets 3 Common Methods Decision Trees Naive Bayes Models Binary-Valued Features Real-Valued Features Logistic Regression Binary Model Multinomial Model Artificial Neural Networks 4 Summary Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 38 / 159 Common Methods Naive Bayes Models Đặc trưng có giá trị nhị phân Assumption: All features are binary (xj ∈ {0, 1}) and conditionally independent given its class y. We have P(x, y; θ) = P(x |y; θ)P(y; θ) = D Y j=1 P(xj |y; θ)P(y; θ). Parameters of the model: θk = P(y = k), ∀k = 1, 2, . . . , K θj|k = P(xj = 1|y = k), ∀j = 1, 2, . . . , D; ∀k = 1, 2, . . . , K Note that θK = 1 − PK−1 k=1 θk, the model has (K − 1) + DK parameters. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 39 / 159 Common Methods Naive Bayes Models Ước lượng hợp lí cực đại The likelihood of a dataset of N samples (x1, y1), . . . , (xN , yN) is L(θ) = N Y i=1 P(xi , yi ) = N Y i=1   D Y j=1 P(xij |yi ; θ)P(yi ; θ)   = N Y i=1   D Y j=1 βj|yi θyi   , where βj|k = ( θj|k, if xj = 1 1 − θj|k, if xj = 0. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 40 / 159
  • 11. Common Methods Naive Bayes Models Ước lượng hợp lí cực đại Maximum likelihood estimation: θ̂k = PN i=1 δ(yi = k) N , θ̂j|k = PN i=1 δ(xij = 1, yi = k) PN i=1 δ(yi = k) , where δ(·) is the identity function. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 41 / 159 Common Methods Naive Bayes Models Quy tắc phân loại Given an object x, its class is determined as y := k̂ = arg max k=1,2,...,K P(y = k| x) = arg max k=1,2,...,K D Y j=1 βj|kθk If the loga function is used, we have a linear classifier: y := k̂ = arg max k=1,...,K   D X j=1 log βj|k + log θk   . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 42 / 159 Common Methods Naive Bayes Models Làm trơn We need to smooth the model to take into account the case that θj|k = 0. If θj|k = 0, ∀k = 1, 2, . . . , K then P(x) = K X k=1  θk D Y j=1 θj|k   = 0. So we have P(y = k| x) = 0 0 , ∀k = 1, 2, . . . , K. ⇒ we cannot construct a classification rule for x. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 43 / 159 Common Methods Naive Bayes Models Làm trơn Laplace smoothing: θ̂j|k = PN i=1 δ(xij = 1, yi = k) + α PN i=1 δ(yi = k) + Dα , where α is a smoothing term (predefined or estimated by cross-validation). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 44 / 159
  • 12. Common Methods Naive Bayes Models Sportive Activity In order to predict whether a person will play an outdoor sportive activity or not, the following weather information is used: ngày nắng hay mưa nhiệt độ nóng hay mát độ ẩm cao hay bình thường trời có gió hay không Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 45 / 159 Common Methods Naive Bayes Models Sportive Activity Note that all attributes take binary values. Each object has 4 attributes (D = 4): x1 ∈ {nắng, mưa} ≡ {1, 0} x2 ∈ {nóng, mát} ≡ {1, 0} x3 ∈ {cao, bình thường} ≡ {1, 0} x4 ∈ {đúng, sai} ≡ {1, 0} Each object is classified into one class y ∈ {có, không} (K = 2). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 46 / 159 Common Methods Naive Bayes Models Sportive Activity The training data is as follows (N = 8): Ngoài trời Nhiệt độ Độ ẩm Có gió Chơi x1 x2 x3 x4 y nắng nóng cao sai không nắng nóng cao đúng không mưa nóng cao sai có mưa mát cao đúng có mưa mát bình thường sai có mưa mát bình thường đúng không nắng mát bình thường sai có mưa nóng cao đúng không Estimate the parameters of a NB model and predict the chance of sportive activity of a day if it is defined as: x = (trời nắng, mát, độ ẩm cao, sai) Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 47 / 159 Common Methods Naive Bayes Models Sportive Activity θ̂1|có = P8 i=1 δ(xi1 = nắng, yi = có) P8 i=1 δ(yi = có) = 1 4 = 0.25 θ̂1|không = P8 i=1 δ(xi1 = nắng, yi = không) P8 i=1 δ(yi = không) = 2 4 = 0.5 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 48 / 159
  • 13. Common Methods Naive Bayes Models Sportive Activity θ̂1|có = P8 i=1 δ(xi1 = nắng, yi = có) P8 i=1 δ(yi = có) = 1 4 = 0.25 θ̂1|không = P8 i=1 δ(xi1 = nắng, yi = không) P8 i=1 δ(yi = không) = 2 4 = 0.5 θ̂2|có = P8 i=1 δ(xi2 = nóng, yi = có) P8 i=1 δ(yi = có) = 1 4 = 0.25 θ̂2|không = P8 i=1 δ(xi2 = nóng, yi = không) P8 i=1 δ(yi = không) = 3 4 = 0.75 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 48 / 159 Common Methods Naive Bayes Models Sportive Activity θ̂3|có = P8 i=1 δ(xi3 = cao, yi = có) P8 i=1 δ(yi = có) = 2 4 = 0.5 θ̂3|không = P8 i=1 δ(xi3 = cao, yi = không) P8 i=1 δ(yi = không) = 3 4 = 0.75 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 49 / 159 Common Methods Naive Bayes Models Sportive Activity θ̂3|có = P8 i=1 δ(xi3 = cao, yi = có) P8 i=1 δ(yi = có) = 2 4 = 0.5 θ̂3|không = P8 i=1 δ(xi3 = cao, yi = không) P8 i=1 δ(yi = không) = 3 4 = 0.75 θ̂4|có = P8 i=1 δ(xi4 = đúng, yi = có) P8 i=1 δ(yi = có) = 1 4 = 0.25 θ̂4|không = P8 i=1 δ(xi4 = đúng, yi = không) P8 i=1 δ(yi = không) = 3 4 = 0.75 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 49 / 159 Common Methods Naive Bayes Models Sportive Activity Estimated values of θj|k are as follows: θj|k có không nắng 0.25 0.5 nóng 0.25 0.75 cao 0.5 0.75 đúng 0.25 0.75 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 50 / 159
  • 14. Common Methods Naive Bayes Models Sportive Activity Given a new day x =(nắng, mát, cao, sai): P(y = có| x) = [0.25 × (1 − 0.25) × 0.5 × (1 − 0.25)]1 2 P(x) = 0.0703125 2P(x) P(y = không| x) = [0.5 × (1 − 0.75) × 0.75 × (1 − 0.75)]1 2 P(x) = 0.0234375 2P(x) . For this x, we predict its y = “có” since P(y = có| x) P(y = không| x). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 51 / 159 Common Methods Naive Bayes Models Exercise: Fitting a Naive Bayes Spam Filter Consider a Naive Bayes model for spam email classification: Vocabulary: ’secret’, ’offer’, ’low’, ’price’, ’valued’, ’customer’, ’today’, ’dollar’, ’million’, ’sports’, ’is’, ’for’, ’play’, ’healthy’, ’pizza’. Example spam messages: “million dollar offer”, “secret offer today”, “secret is secret” Example normal messages: “low price for valued customer”, “play secret sports today”, “sports is healthy”, “low price pizza”. Give the MLEs for θspam, θsecret|spam, θsecret|non-spam, θsports|non-spam, θdollar|spam. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 52 / 159 Common Methods Naive Bayes Models Recap: Normal Distribution Normal distribution is one of the most important distributions in probability. One of the reason is the central limit theorem: The sum of a large number of independent random variables has a distribution that is approximately normal. This explains the remarkable fact that the empirical frequencies of so many natural populations exhibit bell-shaped curves. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 53 / 159 Common Methods Naive Bayes Models Standard Normal Distribution We say that a random variable Z is a standard normal variable with mean 0 and variance 1, denoted as Z ∼ N(0, 1) if the density of Z is given by f (z) = c e− z2 2 , z ∈ R, where c is the normalizing constant. z f (z) f (z) = c e− z2 2 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 54 / 159
  • 15. Common Methods Naive Bayes Models Standard Normal Distribution Some remarks on the function f (z): It is an even (symmetric) function. It decreases very rapidly when z increases. To find c, we solve the equation: Z ∞ −∞ f (z) dz = 1 and get c = 1/ √ 2π. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 55 / 159 Common Methods Naive Bayes Models Standard Normal Distribution 0 0.5 1.0 1.5 −0.5 −1.0 −1.5 −2.0 0.25 0.50 0.75 z f (z) f (z) = 1 √ 2π e− z2 2 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 56 / 159 Common Methods Naive Bayes Models Standard Normal Distribution If Z is a standard normal variable then E(Z) = 1 √ 2π Z ∞ −∞ ze− z2 2 dz = 0. and var(Z) = E(Z2 ) − [E(Z)]2 = E(Z2 ). We have E(Z2 ) = 1 √ 2π Z ∞ −∞ z2 e− z2 2 dz = 1. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 57 / 159 Common Methods Naive Bayes Models Standard Normal Distribution Let Φ denote the distribution function of the standard normal variable, then Φ(z) = 1 √ 2π Z z −∞ e− t2 2 dt. 0 1 −1 −2 0.5 1.0 z Φ(z) Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 58 / 159
  • 16. Common Methods Naive Bayes Models Standard Normal Distribution By symmetry, we have Φ(−z) = 1 − Φ(z). If Z ∼ N(0, 1) then for all (a, b): P(a ≤ Z ≤ b) = Φ(b) − Φ(a). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 59 / 159 Common Methods Naive Bayes Models Normal Distribution A random variable X is normally distributed with parameters (µ, σ2), denoted as N(µ, σ2) if its density function is given by f (x) = 1 √ 2πσ2 exp − (x − µ)2 2σ2 , −∞ x ∞. Let Z = X−µ σ , we have Z ∞ −∞ f (x) dx = Z ∞ −∞ f (z) dz = 1 since Z is the standard normal random variable. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 60 / 159 Common Methods Naive Bayes Models Normal Distribution Because X = µ + σZ and due to the linearity of expectation, we have E(X) = µ + σ E(Z) = µ and var(X) = σ2 var(Z) = σ2. 0 1 −1 −2 0.25 0.50 0.75 1.00 y σ = 0.5, µ = 0 σ = 1.0, µ = 0 σ = 0.5, µ = 0.5 f (x) = 1 σ √ 2π e− (x−µ)2 2σ2 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 61 / 159 Common Methods Naive Bayes Models Normal Distribution Some properties If X ∼ N(µ, σ2) and Y = aX + b then Y ∼ N(aµ + b, a2σ2). If X ∼ N(µ, σ2) then the distribution function of X can be computed via the standard normal distribution: FX (a) = P(X ≤ a) = P X − µ σ ≤ a − µ σ = P Z ≤ a − µ σ = Φ a − µ σ . If X ∼ N(µ, σ2) then for all intervals (a, b), we have P(a ≤ X ≤ b) = P a − µ σ ≤ X − µ σ ≤ b − µ σ = Φ b − µ σ − Φ a − µ σ . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 62 / 159
  • 17. Common Methods Naive Bayes Models Gaussian Naive Bayes Model If xj ∈ R we can suppose that xj |y = k is distributed normally with mean µjk and variance σ2 jk. We have P(xj |y = k) = 1 q 2πσ2 jk exp − (xj − µjk)2 2σ2 jk ! . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 63 / 159 Common Methods Naive Bayes Models Gaussian Naive Bayes Model Parameters of the model: θk = P(y = k), ∀k = 1, 2, . . . , K θj|k = P(xj |y = k), ∀k = 1, 2, . . . , K; ∀j = 1, 2, . . . , D. In other words, for each class k, we have priors θk and D pairs of parameters for D normal distributions θj|k := (µjk, σ2 jk). The number of parameters of the model is (K − 1) + 2DK. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 64 / 159 Common Methods Naive Bayes Models Maximum Likelihood Estimation We have a training set {(x1, y1), . . . , (xN, yN )}. The conditional likelihood of each class k on this set is L(θ|k) = N Y i=1 P(x i |yi = k) = N Y i=1   D Y j=1 P(xij |yi )   . The log-likelihood is ℓ(θ|k) = N X i=1 D X j=1 log P(xij |yi ). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 65 / 159 Common Methods Naive Bayes Models Maximum Likelihood Estimation Since log P(xij|yi = k) = log 1 q 2πσ2 jk − (xij − µjk)2 2σ2 jk , we have ℓ(θ|k) = N X i=1 D X j=1  log 1 q 2πσ2 jk − (xij − µjk)2 2σ2 jk   . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 66 / 159
  • 18. Common Methods Naive Bayes Models Maximum Likelihood Estimation Therefore ∂ℓ ∂µjk = Nk X i=1 1 σ2 jk (xij − µjk) = 1 σ2 jk Nk X i=1 xij − Nk µjk ! . Thus, the maximum likelihood estimate of µjk is µ̂jk = 1 Nk Nk X i=1 xij , where yi = k Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 67 / 159 Common Methods Naive Bayes Models Maximum Likelihood Estimation Let tjk = σ2 jk, we have ∂ℓ ∂tjk = Nk X i=1 ∂ℓ ∂tjk log 1 p 2πtjk − (xij − µjk)2 2tjk ! = Nk X i=1 − 1 2tjk + (xij − µjk)2 2t2 jk ! = 1 2t2 jk −Nktjk + Nk X i=1 (xij − µjk)2 ! . So, the maximum likelihood estimate of σ2 jk is σ̂2 jk = 1 Nk Nk X i=1 (xij − µ̂jk)2 . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 68 / 159 Common Methods Naive Bayes Models Classification Once we have estimators of parameters, we may predict the class ŷ of a data point x = (x1, x2, . . . , xD) as follows: ŷ = arg max k=1,2,...,K log P(y = k| x), where log P(y = k| x) ∝ log [P(y = k)P(x |y = k)] ∝ log  P(y = k) D Y j=1 P(xj |y = k)   ∝ log P(y = k) + D X j=1 log P(xj |y = k). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 69 / 159 Common Methods Naive Bayes Models Classification That is, ŷ = arg max k=1,2,...,K  log θ̂k + D X j=1  log 1 q 2πσ̂2 jk − (xj − µ̂jk)2 2σ̂2 jk     Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 70 / 159
  • 19. Common Methods Naive Bayes Models Example: Breast Cancer Nếu sử dụng 10 đặc trưng đầu tiên và dùng chung σj : j µM µB σ 0. 17.46283 12.146524 3.524049 1. 21.604906 17.914762 4.301036 2. 115.365377 78.075406 24.298981 3. 978.376415 462.790196 351.914129 4. 0.102898 0.092478 0.014064 5. 0.145188 0.080085 0.052813 6. 0.160775 0.046058 0.07972 7. 0.08799 0.025717 0.038803 8. 0.192909 0.174186 0.027414 9. 0.06268 0.062867 0.00706 Độ chính xác phân loại trên tập huấn luyện 92.79%. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 71 / 159 Common Methods Naive Bayes Models Example: Breast Cancer Nếu sử dụng 10 đặc trưng đầu tiên và dùng σj cho từng lớp: j µM µB σM σB 0. 17.46283 12.146524 3.203971 1.780512 1. 21.604906 17.914762 3.77947 3.995125 2. 115.365377 78.075406 21.854653 11.807438 3. 978.376415 462.790196 367.937978 134.287118 4. 0.102898 0.092478 0.012608 0.013446 5. 0.145188 0.080085 0.053987 0.03375 6. 0.160775 0.046058 0.075019 0.043442 7. 0.08799 0.025717 0.034374 0.015909 8. 0.192909 0.174186 0.027638 0.024807 9. 0.06268 0.062867 0.007573 0.006747 Độ chính xác phân loại trên tập huấn luyện 91.38%. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 72 / 159 Common Methods Naive Bayes Models Example: Breast Cancer Sử dụng toàn bộ 30 đặc trưng và σj không phụ thuộc vào lớp thì thì ta thấy mô hình cho kết quả chính xác 92.97% trên tập dữ liệu huấn luyện. Nếu sử dụng toàn bộ 30 đặc trưng và σj phụ thuộc vào lớp thì độ chính xác trên tập huấn luyện là 94.02%. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 73 / 159 Common Methods Naive Bayes Models Example: Iris Flowers Ước lượng các xác suất tiên nghiệm: Lớp log(θ̂) setosa −1.106 versicolor −1.083 virginica −1.106 Ước lượng trung bình và phương sai của mỗi đặc trưng: Lớp µ̂1 σ̂1 µ̂2 σ̂2 µ̂3 σ̂3 µ̂4 σ̂4 setosa 5.013 0.354 3.402 0.390 1.462 0.152 0.241 0.109 versicolor 5.902 0.520 2.759 0.311 4.229 0.483 1.313 0.204 virginica 6.560 0.638 2.969 0.334 5.532 0.566 2.016 0.282 Độ chính xác của mô hình: Trên tập kiểm tra: 100% (20/20) Trên tập huấn luyện: 95.38% (124/130) Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 74 / 159
  • 20. Common Methods Naive Bayes Models Example: Iris Flowers Nếu mô hình được huấn luyện với σj không phụ thuộc vào lớp, thì ta có các ước lượng của σj ứng với các đặc trưng như sau: σ̂1 = 0.815 σ̂2 = 0.436 σ̂3 = 1.752 σ̂4 = 0.759 Độ chính xác của mô hình này giảm đi so với mô hình trước: Trên tập kiểm tra: 85.00% (17/20) Trên tập huấn luyện: 87.69% (114/130) Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 75 / 159 Common Methods Logistic Regression Content 1 Introduction 2 Datasets 3 Common Methods Decision Trees Naive Bayes Models Binary-Valued Features Real-Valued Features Logistic Regression Binary Model Multinomial Model Artificial Neural Networks 4 Summary Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 76 / 159 Common Methods Logistic Regression Mô hình hồi quy logistic hai lớp Xét bài toán phân loại nhị phân, mỗi đối tượng x cần được phân vào một trong hai lớp y ∈ {0, 1}. Ta chọn hàm dự báo hθ(x) như sau: hθ(x) = g(θT x) = 1 1 + exp(−θT x) , (1) trong đó g(z) = 1 1 + exp(−z) được gọi là hàm logistic hoặc hàm sigmoid. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 77 / 159 Common Methods Logistic Regression Hàm sigmoid g(z) = 1 1+exp(−z) −4 −2 0 2 4 0.0 0.2 0.4 0.6 0.8 1.0 z g(z) Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 78 / 159
  • 21. Common Methods Logistic Regression Hàm sigmoid g(z) = 1 1+exp(−z) Nhận xét: g(z) → 1 khi z → ∞ g(z) → 0 khi z → −∞. g(z) và hθ(x) luôn nằm trong đoạn [0, 1]. Đạo hàm của hàm logistic: g′ (z) = g(z)(1 − g(z)). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 79 / 159 Common Methods Logistic Regression Mô hình hồi quy logistic Mô hình hồi quy logistic: P(y = 1| x; θ) = hθ(x) (2) P(y = 0| x; θ) = 1 − hθ(x) trong đó θ ∈ RD+1 là véc-tơ tham số của mô hình. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 80 / 159 Common Methods Logistic Regression Mô hình hồi quy logistic Giả sử đã biết véc-tơ tham số θ, ta sử dụng mô hình để phân loại như sau: Xếp đối tượng x vào lớp 1 nếu P(y = 1| x; θ̂) P(y = 0| x; θ̂) ⇔ hθ̂(x) 1/2 ⇔ θ̂T x 0 . Ngược lại thì x được xếp vào lớp 0. Quy tắc phân loại dựa vào một tổ hợp tuyến tính của xj và θj nên mô hình hồi quy logistic thuộc dạng mô hình phân loại tuyến tính. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 81 / 159 Common Methods Logistic Regression Huấn luyện mô hình Ta có thể viết gọn xác suất của lớp y dưới dạng P(y| x; θ) = (hθ(x))y (1 − hθ(x))1−y . Giả sử rằng tập dữ liệu huấn luyện được sinh độc lập nhau, khi đó hợp lí của dữ liệu với tham số θ là L(θ) = N Y i=1 P(yi | x i ; θ) = N Y i=1 (hθ(x i ))yi (1 − hθ(x i ))1−yi . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 82 / 159
  • 22. Common Methods Logistic Regression Huấn luyện mô hình Log của hợp lí ℓ(θ) = log L(θ) = N X i=1 [yi log hθ(x i ) + (1 − yi ) log(1 − hθ(x i ))]. (3) Sử dụng phương pháp hợp lí cực đại để ước lượng θ, ta cần giải bài toán tối ưu: θ̂ = arg min θ [−ℓ(θ) + λR(θ)], (4) trong đó R(θ) là hàm hiệu chỉnh. Tham số λ ≥ 0 dùng để điều khiển tính cân bằng của mô hình trong việc phù hợp với dữ liệu quan sát và việc hiệu chỉnh tham số. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 83 / 159 Common Methods Logistic Regression Các dạng hiệu chỉnh tham số Nếu R(θ) = 0 thì đây là mô hình hồi quy logistic thường, không có hiệu chỉnh. Nếu R(θ) = kθk1 = PD j=1 |θj | thì ta có mô hình hồi quy logistic hiệu chỉnh dạng L1. Nếu R(θ) = kθk2 = PD j=1 θ2 j thì ta có mô hình hồi quy logistic hiệu chỉnh dạng L2. Nếu R(θ) = PD j=1 log e θj +e −θj 2 thì ta có mô hình hồi quy logistic hiệu chỉnh dạng hyperbolic-L1. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 84 / 159 Common Methods Logistic Regression Các thuật toán lặp giải bài toán tối ưu Ta cần chọn θ làm cực tiểu hoá hàm mục tiêu J(θ) = −ℓ(θ) + λR(θ). Hai thuật toán lặp để tìm θ: Thuật toán giảm gradient (ngẫu nhiên) Thuật toán Newton-Raphson Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 85 / 159 Common Methods Logistic Regression Chẩn đoán ung thư Sử dụng bộ dữ liệu ung thư vú đã giới thiệu trong các bài giảng trước. Ta xây dựng các mô hình hồi quy logistic với các thông số khác nhau như sau: Sử dụng thuật toán Newton hoặc giảm gradient để ước lượng tham số; Chỉ sử dụng 10 đặc trưng đầu tiên hoặc sử dụng toàn bộ 30 đặc trưng; Sử dụng kĩ thuật hiệu chỉnh tham số dạng L2 hoặc không. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 86 / 159
  • 23. Common Methods Logistic Regression Chẩn đoán ung thư Nếu dùng 10 đặc trưng, đánh số các đặc trưng từ 1 tới 10, và không hiệu chỉnh thì các giá trị tham số là j θj j θj 1. 2.9479 6. −2.4326 2. 0.3777 7. −7.4069 3. 0.0457 8. −70.1621 4. −0.0475 9. −15.1245 5. −74.4356 10. 96.4245 Thuật toán cần 8 bước lặp. Độ chính xác của mô hình trên tập dữ liệu huấn luyện là 94.72%. Nếu sử dụng hiệu chỉnh L2 với các tham số hiệu chỉnh λ ∈ {10−6, 10−3, 10−1} thì mô hình cũng cho độ chính xác tương tự. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 87 / 159 Common Methods Logistic Regression Chẩn đoán ung thư Nếu dùng 30 đặc trưng thì độ chính xác là 100%, không phụ thuộc vào sử dụng hiệu chỉnh hay không. Các tham số của mô hình là j θj j θj j θj 1. 605.1425 11. −296.5463 21. −6.9645 2. −12.0425 12. 27.1708 22. −160.7775 3. −16.4656 13. 118.2308 23. 1.121 4. −4.6211 14. −10.9851 24. −6.9656 5. −5028.0381 15. 8792.1322 25. 768.7252 6. 5545.4834 16. −9211.308 26. 965.8915 7. −2733.9444 17. −31633.8908 27. −475.9354 8. −3316.2043 18. 7888.106 28. −724.1528 9. 2026.5113 19. 75268.2862 29. −5942.4999 10. −6346.2382 20. 9147.0358 30. −2070.1442 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 88 / 159 Common Methods Logistic Regression Lọc thư rác Log của các xác suất tiên nghiệm θ̂k, k = 1, 2 của các lớp: Lớp log(θ̂) spam −0.931 non-spam −0.500 Ta thấy hai đặc trưng cuối cùng là hai số nguyên lớn, lớn hơn rất nhiều giá trị của các đặc trưng thực của mô hình. Do đó khi xây dựng mô hình, ta thử nghiệm với 2 tập đặc trưng: dùng toàn bộ 57 đặc trưng hoặc dùng 55 đặc trưng đầu tiên. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 89 / 159 Common Methods Logistic Regression Lọc thư rác Thuật toán hội tụ sau 12 bước lặp với sai số của log-hợp lí ǫ = 10−6. Nếu có sử dụng tham số tự do (intercept) θ0 thì độ chính xác của mô hình là 86.11% với 57 đặc trưng và là 86.87% với 55 đặc trưng. Nếu không sử dụng tham số tự do θ0 thì độ chính xác của mô hình là 92.26% với 57 đặc trưng và là 91.26% với 55 đặc trưng. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 90 / 159
  • 24. Common Methods Logistic Regression Microchip Quality Predict whether microchips from a fabrication plant passes quality assurance (QA). During QA, each microchip goes through various tests to ensure it is functioning correctly. We have test results for some microchips on two different tests. From these two tests, we would like to determine whether the microchip should be accepted or rejected. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 91 / 159 Common Methods Logistic Regression Microchip Quality – Scatter Plot -1 -0.5 0 0.5 1 1.5 -1 -0.5 0 0.5 1 1.5 Microchip Test 1 Microchip Test 2 y = 1 y = 0 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 92 / 159 Common Methods Logistic Regression Microchip Quality – Data It is obvious that our dataset cannot be separated into positive and negative examples by a straight-line through the plot. Since logistic regression is only able to find a linear decision boundary, a straightforward application of logistic regrssion will not perfom well on this dataset. Solution? Use feature mapping technique. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 93 / 159 Common Methods Logistic Regression Feature Mapping One way to fit the data better is to create more features from each data point. For each data point x = (x1, x2), we map the features into all polynomial terms of x1 and x2 up to the sixth power: x1 x2 =⇒                 1 x1 x2 x2 1 x1x2 x2 2 x3 1 · · · x1x5 2 x6 2                 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 94 / 159
  • 25. Common Methods Logistic Regression Feature Mapping A vector of two features has been transformed to a 28-dimensional vector. A logistic regression classifier trained on this higher-dimension feature vector will have a more complex decision boundary and will appear nonlinear when drawn in our 2-dimensional plot. Note that while the feature mapping allows us to build a more powerful classifier, it is also more susceptible to overfitting. Regularization technique helps us to prevent overfitting problem. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 95 / 159 Common Methods Logistic Regression Microchip Quality – Decision Boundary Training data with decision boundary (λ = 1) -1 -0.5 0 0.5 1 1.5 -1 -0.5 0 0.5 1 1.5 Microchip Test 1 Microchip Test 2 lambda = 1 y = 1 y = 0 Decision boundary Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 96 / 159 Common Methods Logistic Regression Microchip Quality – Decision Boundary No regularization (λ = 0) – overfitting -1 -0.5 0 0.5 1 1.5 -1 -0.5 0 0.5 1 1.5 Microchip Test 1 Microchip Test 2 lambda = 0 y = 1 y = 0 Decision boundary Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 97 / 159 Common Methods Logistic Regression Microchip Quality – Decision Boundary Too much regularization (λ = 100) -1 -0.5 0 0.5 1 1.5 -1 -0.5 0 0.5 1 1.5 Microchip Test 1 Microchip Test 2 lambda = 100 y = 1 y = 0 Decision boundary Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 98 / 159
  • 26. Common Methods Logistic Regression Mô hình hồi quy logistic đa lớp Khi bài toán phân loại có nhiều lớp, ta có thể mở rộng mô hình hồi quy logistic nhị phân ở trên cho trường hợp đa lớp. Mô hình hồi quy logistic đa lớp còn được gọi là mô hình entropy cực đại (maximum entropy–maxent), một dạng của mô hình log–tuyến tính. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 99 / 159 Common Methods Logistic Regression Mô hình hồi quy logistic đa lớp Mô hình entropy cực đại được phát minh nhiều lần, trong nhiều lĩnh vực khác nhau: Trong lí thuyết xác suất, dưới các tên mô hình entropy cực đại, mô hình log–tuyến tính, trường ngẫu nhiên Markov và họ hàm mũ; Trong thống kê toán học dưới tên hồi quy logistic; Trong cơ học thống kê và vật lí, dưới các tên phân phối Gibbs, phân phối Boltzmann; Trong các mạng nơ-ron dưới tên máy Boltzmann và hàm kích hoạt softmax. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 100 / 159 Common Methods Logistic Regression Mô hình hồi quy logistic đa lớp Xác suất để đối tượng x thuộc lớp k ∈ {1, 2, . . . , K} được mô hình bởi: P(y = k| x; θk) = 1 Z exp(θT k x), (5) trong đó Z(x) là số hạng chuẩn hoá để đảm bảo phân phối xác suất: Z(x) = K X k=1 P(y = k| x; θk) = K X k=1 exp(θT k x). (6) Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 101 / 159 Common Methods Logistic Regression Mô hình hồi quy logistic đa lớp Tham số θk = (θk0, θk1, . . . , θkD)T là một véc-tơ tham số D + 1 chiều ứng với lớp k. Mỗi lớp k có một véc-tơ tham số θk ứng với D + 1 đặc trưng (đặc trưng thứ 0 được cố định là đơn vị). Ta có ma trận tham số của mô hình:     θ10 θ11 · · · θ1D θ20 θ21 · · · θ2D · · · · · · · · · · · · θK0 θK1 · · · θKD     . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 102 / 159
  • 27. Common Methods Logistic Regression Mô hình hồi quy logistic đa lớp Vì điều kiện chuẩn hoá K X k=1 P(y = k| x; θk) = 1, nên ta chỉ cần ước lượng (K − 1) véc-tơ tham số θk. Do đó, véc-tơ tham số θ của mô hình có (K − 1) ∗ (D + 1) chiều. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 103 / 159 Common Methods Logistic Regression Ước lượng tham số Công thức tính xác suất để đối tượng x thuộc lớp y trong mô hình entropy cực đại: P(y| x; θ) = exp PD j=0 θyj xj PK k=1 exp PD j=0 θkj xj . (7) Trung bình của log-hợp lí của tập dữ liệu huấn luyện là: ℓ(θ) = 1 N N X i=1 log P(yi | x i ; θ). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 104 / 159 Common Methods Logistic Regression Ước lượng tham số Để ước lượng các tham số của mô hình, ta cần tìm θ∗ cực tiểu hoá hàm mục tiêu sau: J(θ) = −ℓ(θ) + λR(θ), (8) trong đó R(θ) là số hạng hiệu chỉnh dùng để tránh hiện tượng quá khớp và tăng độ chính xác của mô hình. Mục tiêu của việc hiệu chỉnh là để làm trơn mô hình, phạt các tham số lớn. Tham số λ ≥ 0 dùng để điều khiển tính cân bằng của mô hình trong việc phù hợp với dữ liệu quan sát và việc hiệu chỉnh. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 105 / 159 Common Methods Logistic Regression Hiệu chỉnh dạng L1 Nếu sử dụng hiệu chỉnh dạng L1 thì hàm mục tiêu là J1(θ) = −ℓ(θ) + λ D X j=1 |θj |. (9) Chú ý rằng hàm mục tiêu J1 không phải là hàm lồi nên nghiệm tối ưu cục bộ có thể không phải là nghiệm tối ưu toàn cục. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 106 / 159
  • 28. Common Methods Logistic Regression Hiệu chỉnh dạng L2 Hiệu chỉnh dạng L2 là một hàm toàn phương, hàm mục tiêu là: J2(θ) = −ℓ(θ) + λ 2 D X j=1 θ2 j . (10) Dễ thấy hàm mục tiêu J2 là hàm lồi nên ta có thể dùng các thuật toán tối ưu lồi để tìm tham số tối ưu θ∗ của mô hình. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 107 / 159 Common Methods Logistic Regression Ước lượng tham số Ta có ℓ(θ) = 1 N N X i=1 log P(yi | x i ; θ) = 1 N N X i=1 ( θT yi x i − log K X k=1 exp(θT k x i ) !) . Từ đó ∂ℓ(θ) ∂θkj = 1 N N X i=1 ( ∂ ∂θkj (θT yi x i ) − ∂ ∂θkj log K X k=1 exp(θT k x i ) !) = 1 N N X i=1 ( δ(yi = k) x ij − 1 PK k=1 exp(θT k xi ) ∂ ∂θkj K X k=1 exp(θT k x i ) !) . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 108 / 159 Common Methods Logistic Regression Ước lượng tham số Do ∂ ∂θkj K X k=1 exp(θT k x i ) ! = exp(θT k x i ) x ij , nên ∂ ∂θkj ℓ(θ) = 1 N N X i=1 ( δ(yi = k) x ij − exp(θT k xi ) PK k=1 exp(θT k xi ) x ij ) = 1 N N X i=1 δ(yi = k) x ij − 1 N N X i=1 P(y = k| x i ; θ) x ij . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 109 / 159 Common Methods Logistic Regression Ước lượng tham số ∂ ∂θkj ℓ(θ) = 1 N N X i=1 δ(yi = k) x ij − 1 N N X i=1 P(y = k| x i ; θ) x ij Nhận xét: Đại lượng 1 N PN i=1 δ(yi = k) xij là kì vọng mẫu của đặc trưng thứ j trên mẫu huấn luyện ứng với lớp k; Đại lượng 1 N PN i=1 P(y = k| xi ; θ) xij là kì vọng của đặc trưng thứ j ứng với mô hình P(y = k| x; θ). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 110 / 159
  • 29. Common Methods Logistic Regression Ước lượng tham số Với mô hình entropy cực đại hiệu chỉnh dạng L2 thì đạo hàm riêng của hàm mục tiêu J2(θ) ứng với tham số θkj là ∂J2(θ) ∂θkj = − 1 N N X i=1 δ(yi = k) x ij − 1 N N X i=1 P(y = k| x i ; θ) x ij ! + λθkj . Để ước lượng véc-tơ tham số θ, ta cần giải hệ phương trình ∂ ∂θkj J2(θ) = 0, ∀j = 0, 1, 2, . . . , D. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 111 / 159 Common Methods Logistic Regression Ước lượng tham số Có nhiều thuật toán được dùng để ước lượng tham số của mô hình entropy cực đại. Hai phương pháp chính: phương pháp thang lặp phương pháp tối ưu Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 112 / 159 Common Methods Logistic Regression Ước lượng tham số: Phương pháp thang lặp Thuật toán GIS (Generalized Iterative Scaling) Thuật toán IIS (Improved Iterative Scaling) Thuật toán SCGIS (Sequential Conditional Generalized Iterative Scaling) Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 113 / 159 Common Methods Logistic Regression Ước lượng tham số: Phương pháp tối ưu Phương pháp gradient bậc một: phương pháp giảm gradient, phương pháp gradient liên hợp; Phương pháp gradient bậc hai: phương pháp Newton và các phương pháp tựa-Newton: thuật toán BFGS thuật toán L-BFGS thuật toán OWL-QN (Orthant-wise Limited-memory Quasi-Newton) thuật toán Newton cụt Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 114 / 159
  • 30. Common Methods Logistic Regression Ước lượng tham số: Một số nhận xét Các thuật toán tối ưu có tốc độ và hiệu quả cao hơn các thuật toán thang lặp. Phương pháp thang lặp cập nhật mỗi thành phần θj của θ tại một thời điểm, nên chi phí tại mỗi bước lặp là nhỏ nhưng số bước lặp là lớn. Ngược lại, phương pháp (tựa) Newton có chi phí cao tại mỗi bước lặp vì phải tính đúng (xấp xỉ) Hessian của hàm mục tiêu nhưng có tốc độ hội tụ nhanh. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 115 / 159 Common Methods Logistic Regression Ước lượng tham số: Một số nhận xét Trong nhiều trường hợp, các phương pháp L-BFGS và gradient liên hợp là tốt hơn giảm gradient ngẫu nhiên trong nhiều trường hợp. Nếu số lượng tham số là tương đối nhỏ thì L-BFGS cho kết quả tốt, còn với các bài toán có số chiều lớn thì phương pháp gradient liên hợp thường cho kết quả tốt. Các phương pháp gradient liên hợp và L-BFGS cũng có thể tận dụng được các thuật toán tính toán song song tốt hơn. Mô hình entropy cực đại hiệu chỉnh dạng L2 thường cho kết quả cao hơn một chút mô hình entropy cực đại hiệu chỉnh dạng L1. Tuy nhiên, dạng chuẩn hoá L1 có độ hiệu quả gần tương tự mà lại có tốc độ huấn luyện nhanh hơn nhiều so với dạng hiệu chỉnh L2. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 116 / 159 Common Methods Logistic Regression Ước lượng tham số: Một số nhận xét Với dạng hiệu chỉnh L2, đạo hàm của các số hạng hiệu chỉnh λθj → 0 khi θj → 0. Tác động của số hạng hiệu chỉnh giảm dần nếu θj nhỏ. Từ đó, dạng hiệu chỉnh L2 làm các tham số thường là nhỏ, xấp xỉ 0, nhưng không bằng 0. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 117 / 159 Common Methods Logistic Regression Ước lượng tham số: Một số nhận xét Với dạng hiệu chỉnh L1, đạo hàm của các số hạng hiệu chỉnh là λsign(θj ) ∈ {−λ, λ} trừ khi θj = 0. Tác động của các số hạng hiệu chỉnh là không đổi, không phụ thuộc vào mức độ lớn nhỏ của θj . Do đó, dạng chuẩn hoá L1 sinh mô hình thưa, theo nghĩa sẽ cho kết quả ước lượng trong đó có nhiều tham số θj = 0. Vì vậy, dạng hiệu chỉnh L1 còn được dùng làm phương pháp chọn các đặc trưng. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 118 / 159
  • 31. Common Methods Logistic Regression Phân loại ảnh θj brickface sky foliage cement window path grass θ0 0.0282 −0.0635 0.1531 −0.0025 0.1958 −0.2794 −0.0318 θ1 −0.0197 −0.0125 0.0068 0.0137 0.0154 0.0037 −0.0073 θ2 −0.0007 −0.039 −0.0613 −0.0045 −0.0718 0.1286 0.0488 θ3 0.2541 −0.5715 1.3779 −0.0226 1.7625 −2.5145 −0.2858 θ4 −0.0047 −0.0007 −0.0076 0.029 0.0179 0.0013 0.0006 θ5 −0.0002 −0.0015 0.0037 −0.0062 −0.0051 0.0095 0 θ6 −0.1484 −0.3321 0.3887 0.1627 0.1284 −0.234 0.0347 θ7 −0.0497 −0.327 0.2637 0.0627 0.1015 −0.1441 0.0928 θ8 0.0118 −0.2038 0.3646 0.0244 −0.3072 0.0579 0.0522 θ9 −0.1309 −0.1823 0.0351 0.0579 0.122 0.0833 0.0149 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 119 / 159 Common Methods Logistic Regression Phân loại ảnh θj brickface sky foliage cement window path grass θ10 −0.0905 0.0828 −0.1482 0.03 −0.0013 0.0564 0.0709 θ11 0.3326 −0.0878 −0.445 0.1565 −0.0414 0.1107 −0.0257 θ12 −0.0122 0.0536 −0.1626 0.1011 0.0288 0.0924 −0.1011 θ13 −0.592 0.2826 0.163 −0.1677 0.0087 −0.034 0.3394 θ14 1.2693 −0.5118 −0.8904 0.3797 −0.1203 0.163 −0.2896 θ15 0.2351 −0.0876 −0.0431 0.2133 0.0903 0.108 −0.516 θ16 −1.5044 0.5994 0.9336 −0.593 0.03 −0.271 0.8055 θ17 −0.0026 0.0501 0.1919 −0.1542 −0.1771 −0.0146 0.1066 θ18 0.0036 −0.0181 0.6181 −0.0386 −0.4281 −0.1235 −0.0134 θ19 0.0435 0.1154 −1.1184 −0.0238 0.3079 0.3985 0.277 Độ chính xác của mô hình: Trên tập huấn luyện: 96.66% Trên tập kiểm tra: 93.09% Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 120 / 159 Common Methods Logistic Regression Phân loại hoa Iris L-BFGS, không sử dụng hiệu chỉnh tham số, độ chính xác của mô hình trên tập kiểm tra là 100% và trên tập huấn luyện là 98.46% Các tham số được ước lượng như sau: Lớp θ0 θ1 θ2 θ3 θ4 setosa 3.281 5.633 16.834 −26.748 −12.396 versicolor 17.056 −1.582 −5.558 9.068 −1.777 virginica −20.336 −4.051 −11.275 17.680 14.172 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 121 / 159 Common Methods Logistic Regression Phân loại hoa Iris Khi sử dụng hiệu chỉnh tham số thì số bước lặp và độ chính xác của mô hình ứng với các tham số λ được cho trong bảng sau: λ Số bước KT HL 1.0 30 100% 97.69% 2.0 17 100% 96.92% 3.0 19 100% 97.69% 4.0 16 100% 96.92% 5.0 14 100% 96.15% 6.0 20 100% 96.15% Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 122 / 159
  • 32. Common Methods Logistic Regression Phân loại hoa Iris Ta thấy mô hình có hiệu chỉnh đạt độ chính xác cao nhất là 97.69% khi λ = 3.0. Các tham số của mô hình khi đó là: Lớp θ0 θ1 θ2 θ3 θ4 setosa 0.236 0.546 1.279 −1.813 −0.847 versicolor 0.244 0.560 1.279 −1.813 −0.847 virginica −0.507 −0.954 −1.083 1.810 1.337 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 123 / 159 Common Methods Logistic Regression Phân loại hoa Iris Ta thấy khi dùng phương pháp hiệu chỉnh L2, các tham số của mô hình có giá trị tuyệt đối bé hơn nhiều giá trị tuyệt đối của các tham số trong mô hình không hiệu chỉnh; đồng thời các tham số phân bố xung quanh giá trị 0, phù hợp với khảo sát lí thuyết.5. Số bước lặp của thuật toán tối ưu L-BFGS cũng phụ thuộc vào số hạng hiệu chỉnh λ. 5 Với các tham số θ nhỏ, việc hiệu chỉnh cũng giúp giảm thiểu khả năng tràn số khi cài đặt mô hình entropy cực đại. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 124 / 159 Common Methods Logistic Regression So sánh độ chính xác Độ chính xác của một số mô hình phân loại trên tập dữ liệu Iris: Mô hình KT HL Chuẩn một chiều (dùng riêng σj ) 100.00% 95.38% Chuẩn một chiều (dùng riêng σj ) 85.00% 87.69% GDA 100.00% 97.69% MLR L-BFGS 100.00% 98.46% MLR L-BFGS, L2 100.00% 97.69% Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 125 / 159 Common Methods Logistic Regression So sánh độ chính xác Ta thấy mô hình MLR cho kết quả tốt nhất trên cả tập kiểm tra và tập huấn luyện. Các đặc trưng trong tập dữ liệu là kích thước của các phần tử tự nhiên (lá và cánh hoa) nên thường tuân theo phân phối chuẩn. Mô hình GDA với giả định dữ liệu phân phối chuẩn tỏ ra mô hình hoá dữ liệu tốt. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 126 / 159
  • 33. Common Methods Logistic Regression Lá đài, cánh hoa và phân phối chuẩn 4 5 6 7 8 0.0 0.1 0.2 0.3 0.4 Sepal Length Density Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 127 / 159 Common Methods Logistic Regression Lá đài, cánh hoa và phân phối chuẩn 2.0 2.5 3.0 3.5 4.0 4.5 0.0 0.2 0.4 0.6 0.8 1.0 Sepal Width Density Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 128 / 159 Common Methods Logistic Regression Lá đài, cánh hoa và phân phối chuẩn 0 2 4 6 8 0.00 0.05 0.10 0.15 0.20 0.25 Petal Length Density Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 129 / 159 Common Methods Logistic Regression Lá đài, cánh hoa và phân phối chuẩn 0 1 2 3 0.0 0.1 0.2 0.3 0.4 0.5 Petal Width Density Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 130 / 159
  • 34. Common Methods Logistic Regression Chất lượng rượu vang Không sử dụng hiệu chỉnh: Red Wine White Wine Độ chính xác huấn luyện 60.85% 54.35% J(0) 1.791759 1.945910 J(θ∗) 0.921343 1.093946 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 131 / 159 Common Methods Logistic Regression Nhận dạng chữ viết tay Hiệu chỉnh dạng L2 với hệ số hiệu chỉnh λ = 0.1 Nếu dùng mô hình logistic hai lớp: Xây dựng 10 bộ phân loại nhị phân cho 10 lớp Độ chính xác trên tập huấn luyện: 94.98% MLR: 96.72% J(0) = 2.302585, J(θ∗ ) = 0.147061 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 132 / 159 Common Methods Artificial Neural Networks Content 1 Introduction 2 Datasets 3 Common Methods Decision Trees Naive Bayes Models Binary-Valued Features Real-Valued Features Logistic Regression Binary Model Multinomial Model Artificial Neural Networks 4 Summary Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 133 / 159 Common Methods Artificial Neural Networks Mạng nơ-ron nhân tạo Mô hình toán học mô phỏng mạng nơ-ron sinh học – một nhóm các nơ-ron liên kết với nhau bằng các synapses. Ứng dụng thành công cho nhiều bài toán phân loại và dự báo: nhận dạng tiếng nói phân tích ảnh điều khiển tương thích Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 134 / 159
  • 35. Common Methods Artificial Neural Networks Mạng nơ-ron đơn giản +1 x3 x2 x1 hθ,b(x) Mạng nơ-ron này chỉ gồm một khối tính toán có ba đơn vị dữ liệu vào là x1, x2, x3 và một số hạng tự do +1; đơn vị dữ liệu ra là hθ,b(x) = f 3 X i=1 θi xi + b ! , trong đó f : R → R là một hàm kích hoạt nào đó. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 135 / 159 Common Methods Artificial Neural Networks Hàm kích hoạt – Hàm sigmoid (logistic) f (z) = 1 1 + exp(−z) 0 0.5 1 -4 -2 0 2 4 f (z) z Hàm logistic Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 136 / 159 Common Methods Artificial Neural Networks Hàm kích hoạt – Hàm tangent hyperbolic f (z) = tanh(z) = ez − e−z ez + e−z . -1 -0.5 0 0.5 1 -2 -1 0 1 2 f (z) z Hàm tanh Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 137 / 159 Common Methods Artificial Neural Networks Mạng nơ-ron ba lớp Lớp 1 +1 x3 x2 x1 Lớp 2 +1 Lớp 3 hθ,b(x) θ (2) 1 θ (2) 2 θ (2) 3 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 138 / 159
  • 36. Common Methods Artificial Neural Networks Mạng nơ-ron ba lớp Ta biểu diễn mỗi đơn vị bằng một hình tròn. Các dữ liệu vào cũng được biểu diễn bởi hình tròn. Các hình tròn có nhãn +1 biểu diễn các đơn vị chệch, tương ứng với các số hạng tự do. Lớp bên trái gọi là lớp vào, lớp bên phải là lớp ra. Trong ví dụ này, lớp ra chỉ gồm 1 đơn vị. Lớp giữa được gọi là lớp ẩn vì các giá trị của nó không quan sát được. Ta nói mạng nơ-ron này có 3 đơn vị vào (không tính đơn vị chệch), 3 đơn vị ẩn và một đơn vị ra. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 139 / 159 Common Methods Artificial Neural Networks Mạng nơ-ron n lớp Gọi n là số lớp của mạng (n = 3 trong ví dụ trên). Kí hiệu Ll là lớp thứ l của mạng; L1 là lớp vào và Ln là lớp ra. Mạng nơ-ron ở trên có các tham số là (θ, b) = (θ(1), b(1), θ(2), b(2)) trong đó θ (l) ij biểu diễn tham số gắn với cung nối từ đơn vị j của lớp l tới đơn vị i của lớp l + 1: Lớp l Lớp l + 1 j i θ (l) ij b (l) i là độ chệch của đơn vị i trong lớp l. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 140 / 159 Common Methods Artificial Neural Networks Mạng nơ-ron n lớp Trong ví dụ trên, ta có θ(1) =    θ (1) 11 θ (1) 12 θ (1) 13 θ (1) 21 θ (1) 22 θ (1) 23 θ (1) 31 θ (1) 32 θ (1) 33    θ(2) = θ (2) 11 θ (2) 12 θ (2) 13 b(1) =    b (1) 1 b (1) 2 b (1) 3    b(2) = b (2) 1 . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 141 / 159 Common Methods Artificial Neural Networks Mạng nơ-ron n lớp Ta gọi a (l) i là kích hoạt (có ý nghĩa là giá trị ra) của đơn vị i trong lớp l. Với l = 1 thì a (1) i = xi . Mạng nơ-ron tính toán một giá trị ra theo lược đồ sau: a (1) i = xi , ∀i = 1, 2, 3; a (2) 1 = f θ (1) 11 a (1) 1 + θ (1) 12 a (1) 2 + θ (1) 13 a (1) 3 + b (1) 1 a (2) 2 = f θ (1) 21 a (1) 1 + θ (1) 22 a (1) 2 + θ (1) 23 a (1) 3 + b (1) 2 a (2) 3 = f θ (1) 31 a (1) 1 + θ (1) 32 a (1) 2 + θ (1) 33 a (1) 3 + b (1) 3 a (3) 1 = f θ (2) 11 a (2) 1 + θ (2) 12 a (2) 2 + θ (2) 13 a (2) 3 + b (2) 1 . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 142 / 159
  • 37. Common Methods Artificial Neural Networks Mạng nơ-ron n lớp Kí hiệu z (l+1) i = P3 j=1 θ (l) ij a (l) j + b (l) i , khi đó a (l) i = f (z (l) i ). Nếu ta mở rộng hàm f cho các tham số véc-tơ dạng f ((z1, z2, z3)) = (f (z1), f (z2), f (z3)) thì ta có thể biểu diễn các công thức tính kích hoạt dưới dạng ma trận ngắn gọn: z(2) = θ(1) a(1) + b(1) a(2) = f z(2) z(3) = θ(2) a(2) + b(2) hθ,b(x) = a(3) = f z(3) . Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 143 / 159 Common Methods Artificial Neural Networks Mạng nơ-ron n lớp Trong mạng nơ-ron tổng quát với n lớp, ta có thể sử dụng lược đồ tính toán tiến tương tự như trên để tính giá trị ra của mạng. Trước tiên tính các kích hoạt trong lớp thứ 2, sau đó tính các kích hoạt trong lớp thứ 3. . . cho tới khi tính được hθ,b(x) = f z(n) . Các kích hoạt của lớp thứ l + 1 được tính từ các kích hoạt của lớp thứ l như sau: z(l+1) = θ(l) a(l) + b(l) a(l+1) = f (z(l) ). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 144 / 159 Common Methods Artificial Neural Networks Mạng nơ-ron n lớp Lớp 1 +1 x3 x2 x1 Lớp 2 +1 Lớp 3 +1 Lớp 4 hθ,b(x) Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 145 / 159 Common Methods Artificial Neural Networks Mạng nơ-ron n lớp Chú ý rằng mạng nơ-ron có thể có nhiều đơn vị ra. Để huấn luyện mô hình mạng này, ta cần có tập dữ liệu huấn luyện {(xi , yi )} trong đó yi ∈ R2 . Mô hình này được sử dụng khi ta cần dự báo giá trị nhiều chiều, ví dụ trong chẩn đoán y tế, xi biểu diễn các thuộc tính, đặc điểm của bệnh nhân, yi là các giá trị biểu diễn có hay không các bệnh khác nhau nào đó yi = (0, 1) biểu diễn bệnh nhân không mắc bệnh thứ nhất nhưng mắc bệnh thứ hai. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 146 / 159
  • 38. Common Methods Artificial Neural Networks Hàm tổn thất Giả sử tập dữ liệu huấn luyện gồm N mẫu {(x1, y1), (x2, y2), . . . , (xN, yN )}. Ta có thể huấn luyện mạng nơ-ron bằng thuật toán giảm gradient loạt. Với mỗi mẫu dữ liệu (x, y) ta gọi hàm tổn thất tương ứng là J(x, y; θ, b). Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 147 / 159 Common Methods Artificial Neural Networks Hàm tổn thất Hàm tổn thất trên toàn bộ tập dữ liệu là J(θ, b) = 1 N N X i=1 J(xi , yi ; θ, b) + λ 2N n−1 X l=1 sl X i=1 sl+1 X j=1 θ (l) ji 2 | {z } số hạng hiệu chỉnh trong đó sl là số đơn vị ở lớp thứ l. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 148 / 159 Common Methods Artificial Neural Networks Hàm tổn thất Hai dạng hàm tổn thất thường dùng: 1 Hàm sai số bình phương: J(x, y; θ, b) = 1 2 ky − hθ,b(x)k2 . 2 Hàm cross-entropy: J(x, y; θ, b) = − [y log(hθ,b(x)) + (1 − y) log(1 − hθ,b(x))] , trong đó y ∈ {0, 1}. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 149 / 159 Common Methods Artificial Neural Networks Thuật toán giảm gradient Để huấn luyện mô hình, ta cần tìm các tham số θ, b tối tiểu hóa hàm chi phí: J(θ, b) → min . Để giải bài toán này ta cần sử dụng các thuật toán tối ưu. Thuật toán đơn giản nhất là thuật toán giảm gradient. Vì J(θ, b) không phải là hàm lồi nên giá trị tối ưu cục bộ tìm được có thể không phải là tối ưu toàn cục. Tuy nhiên trong thực tế, thuật toán giảm gradient thường tìm được mô hình tốt nếu giá trị khởi đầu của các tham số được chọn một cách thích hợp. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 150 / 159
  • 39. Common Methods Artificial Neural Networks Thuật toán giảm gradient Trong mỗi bước lặp, thuật toán giảm gradient cập nhật các tham số θ, b như sau: θ (l) ij = θ (l) ij − α ∂ ∂θ (l) ij J(θ, b) b (l) i = b (l) i − α ∂ ∂b (l) i J(θ, b), trong đó α là tốc độ học. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 151 / 159 Common Methods Artificial Neural Networks Thuật toán giảm gradient Ta có ∂ ∂θ (l) ij J(θ, b) = 1 N   N X i=1 ∂ ∂θ (l) ij J(xi , yi ; θ, b) + λθ (l) ij   ∂ ∂b (l) i J(θ, b) = 1 N N X i=1 ∂ ∂b (l) i J(xi , yi ; θ, b). Ở đây, ta cần tính các đạo hàm riêng: ∂ ∂θ (l) ij J(xi , yi ; θ, b), ∂ ∂b (l) i J(xi , yi ; θ, b) Thuật toán lan truyền ngược là một thuật toán hiệu quả để tính các đạo hàm riêng này. Ta không trình bày thuật toán này ở đây. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 152 / 159 Common Methods Artificial Neural Networks Nhận dạng chữ viết tay Mô hình Tiền xử lí Lỗi (%) Tuyến tính (mạng nơ-ron 1 lớp) không 12.0 Tuyến tính (mạng nơ-ron 1 lớp) giảm độ nghiêng 8.4 Mạng nơ-ron 2 lớp, 300 đơn vị ẩn không 4.7 Mạng nơ-ron 2 lớp, 300 đơn vị ẩn giảm độ nghiêng 1.6 Mạng nơ-ron 2 lớp, 1000 đơn vị ẩn không 4.5 Mạng nơ-ron 6 lớp, 784-2500-2000- 1500-1000-500-10 không 0.35 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 153 / 159 Common Methods Artificial Neural Networks Nhận dạng tiếng nói Gần đây, mạng nơ-ron sâu (DNNs) gồm nhiều lớp ẩn, được huấn luyện bằng một số thuật toán hiện đại đã cho kết quả tốt hơn những kết quả tốt nhất đạt được bởi GMMs. So sánh tỉ lệ lỗi trên các tập dữ liệu lớn giữa hai mô hình GMM-HMM và DNN-HMM: Task Training (h) DNN GMM Switchboard (Test set 1) 309 18.5 27.4 Switchboard (Test set 2) 309 16.1 23.6 English Broadcast News 50 17.5 18.8 Bing Voice Search 24 30.4 36.2 Google Voice Input 5,870 12.3 Youtube 1,400 47.6 52.3 Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 154 / 159
  • 40. Common Methods Artificial Neural Networks Recurrent Neural Networks RNNs process input sequence of arbitrarily length via the recursive application of a transition function on a hidden state vector. It takes as input a list of input vectors x1, x2, . . . , xn and an initial state vector s0, and returns a list of state vectors s1, s2, . . . , sn as well as a list of output vectors y0, y1, . . . , yn. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 155 / 159 Common Methods Artificial Neural Networks Recurrent Neural Networks We have a recursively defined function f (·) that takes as input a state vector st and an input vector xt+1 and produces a new state vector st+1. An additional function g(·) is used to map a state vector st to an output vector yt. That is st+1 = f (st, xt+1), yt = g(st) The functions f , g are the same accross the sequence positions. The parameter vector θ is also shared across all time steps. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 156 / 159 Common Methods Artificial Neural Networks Recurrent Neural Networks st−1 f , g st xt yt ~ θ s0 f , g s1 x1 y1 f , g s2 x2 y2 · · · ~ θ The left figure shows the recursive definition. The right figure shows the unrolled version. The parameter vector θ is shared across all time steps. Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 157 / 159 Summary Summary Một số mô hình xác suất thống kê cho phân loại dữ liệu Một số ví dụ thực tế: phân loại ảnh, phân loại văn bản, phân loại dữ liệu số Tầm quan trọng của các kiến thức toán học, xác suất thống kê và khoa học máy tính trong khoa học dữ liệu và trí tuệ nhân tạo Lê Hồng Phương, Data Science Laboratory Statistical Classification December 3, 2018 158 / 159