40
Statistical Classification Lê Hồng Phương Data Science Laboratory <[email protected]> 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. x 1 =(Nghêu, 20, 2, 10.5) x 2 =(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

Content Introductionvai.org.vn/docs/Daotao/PtichDlieu/Thu5/SangThu5.pdf · 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

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Statistical Classification

Lê Hồng PhươngData Science Laboratory<[email protected]>

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 MethodsDecision TreesNaive Bayes Models

Binary-Valued FeaturesReal-Valued Features

Logistic RegressionBinary ModelMultinomial 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 xvà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ạngmộ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êncô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 trongcá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ớimỗi x, chương trình dự báo tự động y . Mỗi phương pháp phân loạitươ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ụctiê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∑K

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ếtdữ 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:

y = arg maxk

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ỏngphâ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ânphố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 y = 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 =

∑Mi=1 δ(yi ≡ 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 Anhdạ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ácthuậ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ềuKích thước mẫu: 4601Kiểu của đặc trưng: số nguyên và số thựcSố đặc trưng: 57

1http://archive.ics.uci.edu/ml/datasets/SpambaseLê 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ôngthườ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ầntrăm kí tự trong thư là CHAR, tức là 100*(số lần kí tự CHAR xuấthiệ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_averagelà độ 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ểucapital_run_length_longest là độ dài của chuỗi dài nhất chứa toàncác kí tự hoa.

1 số nguyên trong đoạn [1, . . . ] thuộc kiểu capital_run_length_totallà 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ácthì 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 uvà 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ẫudướ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ínhcủ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ị.

2Wisconsin 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ị thangxá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àibán kính

5. compactness độ đặc, tính bởi perimeter2 / area - 1.06. 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ìnhcủ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

3http://archive.ics.uci.edu/ml/datasets/IrisLê 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, fromthe 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 ảnhdù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 theochiều ngang trong vùng. Có 6 điểm ảnh, giá trị trung bình và độ lệchchuẩ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ềudọ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 thegrayscale 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 MethodsDecision TreesNaive Bayes Models

Binary-Valued FeaturesReal-Valued Features

Logistic RegressionBinary ModelMultinomial 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 32

3

4

5

6

sepal length/sepal width

peta

l len

gth/

peta

l wid

th

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 32

3

4

5

6

sepal length/sepal width

peta

l len

gth/

peta

l wid

th

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 32

3

4

5

6

sepal length/sepal width

peta

l len

gth/

peta

l wid

th

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ênxuố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ắnnhiề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ặctồi) hiện tại của vùng và khả năng cải thiện nó khi vùng đó được chiatá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ậpdữ liệu.

Ba độ đo chất lượng hay dùng:1 Sai số phân loại: 1 −maxk pk2 Chỉ số Gini: 1 −∑k p

2k

3 Entropy: −∑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ứamộ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 32

3

4

5

6

sepal length/sepal width

peta

l len

gth/

peta

l wid

th

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 30

0.005

0.01

0.015

0.02

t

redu

ctio

n in

unc

erta

inty

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.50

0.05

0.1

0.15

0.2

t

redu

ctio

n in

unc

erta

inty

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ểncây tới kích thước lớn, sau đó sử dụng một thuật toán để co cây lạidần.4

4Ta 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ệntượng quá khớp (overfitting).

number of nodes

clas

sific

atio

n er

ror

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 MethodsDecision TreesNaive Bayes Models

Binary-Valued FeaturesReal-Valued Features

Logistic RegressionBinary ModelMultinomial 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 conditionallyindependent given its class y .

We have

P(x, y ; θ) = P(x |y ; θ)P(y ; θ)

=D∏

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 −∑K−1k=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∏

i=1

P(xi , yi) =N∏

i=1

D∏

j=1

P(xij |yi ; θ)P(yi ; θ)

=N∏

i=1

D∏

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 =

∑Ni=1 δ(yi = k)

N,

θj |k =

∑Ni=1 δ(xij = 1, yi = k)∑N

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 = argmaxk=1,2,...,K

P(y = k | x)

= argmaxk=1,2,...,K

D∏

j=1

βj |kθk

If the loga function is used, we have a linear classifier:

y := k = argmaxk=1,...,K

D∑

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∑

k=1

θk

D∏

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 =

∑Ni=1 δ(xij = 1, yi = k) + α∑N

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 activityor 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ơix1 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 sportiveactivity 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ó =

∑8i=1 δ(xi1 = nắng, yi = có)∑8

i=1 δ(yi = có)=

1

4= 0.25

θ1|không =

∑8i=1 δ(xi1 = nắng, yi = không)∑8

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ó =

∑8i=1 δ(xi1 = nắng, yi = có)∑8

i=1 δ(yi = có)=

1

4= 0.25

θ1|không =

∑8i=1 δ(xi1 = nắng, yi = không)∑8

i=1 δ(yi = không)=

2

4= 0.5

θ2|có =

∑8i=1 δ(xi2 = nóng, yi = có)∑8

i=1 δ(yi = có)=

1

4= 0.25

θ2|không =

∑8i=1 δ(xi2 = nóng, yi = không)∑8

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ó =

∑8i=1 δ(xi3 = cao, yi = có)∑8

i=1 δ(yi = có)=

2

4= 0.5

θ3|không =

∑8i=1 δ(xi3 = cao, yi = không)∑8

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ó =

∑8i=1 δ(xi3 = cao, yi = có)∑8

i=1 δ(yi = có)=

2

4= 0.5

θ3|không =

∑8i=1 δ(xi3 = cao, yi = không)∑8

i=1 δ(yi = không)=

3

4= 0.75

θ4|có =

∑8i=1 δ(xi4 = đúng, yi = có)∑8

i=1 δ(yi = có)=

1

4= 0.25

θ4|không =

∑8i=1 δ(xi4 = đúng, yi = không)∑8

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.5nóng 0.25 0.75cao 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)]12P(x)

=0.0703125

2P(x)

P(y = không| x) = [0.5 × (1 − 0.75) × 0.75 × (1 − 0.75)]12P(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”, “playsecret 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 inprobability.

One of the reason is the central limit theorem: The sum of a largenumber of independent random variables has a distribution that isapproximately normal.

This explains the remarkable fact that the empirical frequencies of somany 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 mean0 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:

∫ ∞

−∞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π

∫ ∞

−∞ze−

z2

2 dz = 0.

andvar(Z ) = E(Z 2)− [E(Z )]2 = E(Z 2).

We have

E(Z 2) =1√2π

∫ ∞

−∞z2e−

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

−∞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πσ2exp

(−(x − µ)2

2σ2

), −∞ < x < ∞.

Let Z = X−µσ , we have

∫ ∞

−∞f (x) dx =

∫ ∞

−∞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 haveE(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.5f (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 DistributionSome 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 computedvia 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 withmean µjk and variance σ2

jk . We have

P(xj |y = k) =1√

2πσ2jk

exp

(−(xj − µjk)

2

2σ2jk

).

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 ofparameters for D normal distributions θj |k := (µjk , σ

2jk).

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 likelihoodof each class k on this set is

L(θ|k) =N∏

i=1

P(xi|yi = k) =

N∏

i=1

D∏

j=1

P(xij |yi )

.

The log-likelihood is

ℓ(θ|k) =N∑

i=1

D∑

j=1

logP(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

logP(xij |yi = k) = log1√

2πσ2jk

− (xij − µjk)2

2σ2jk

,

we have

ℓ(θ|k) =N∑

i=1

D∑

j=1

log

1√2πσ2

jk

− (xij − µjk)2

2σ2jk

.

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∑

i=1

1

σ2jk

(xij − µjk)

=1

σ2jk

(Nk∑

i=1

xij − Nkµjk

).

Thus, the maximum likelihood estimate of µjk is

µjk =1

Nk

Nk∑

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 = σ2jk , we have

∂ℓ

∂tjk=

Nk∑

i=1

∂ℓ

∂tjk

(log

1√2πtjk

− (xij − µjk)2

2tjk

)

=

Nk∑

i=1

(− 1

2tjk+

(xij − µjk)2

2t2jk

)

=1

2t2jk

(−Nktjk +

Nk∑

i=1

(xij − µjk)2

).

So, the maximum likelihood estimate of σ2jk is

σ2jk =

1

Nk

Nk∑

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 y of adata point x = (x1, x2, . . . , xD) as follows:

y = argmaxk=1,2,...,K

logP(y = k | x),

where

logP(y = k | x) ∝ log [P(y = k)P(x |y = k)]

∝ log

P(y = k)

D∏

j=1

P(xj |y = k)

∝ logP(y = k) +D∑

j=1

logP(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,

y = argmaxk=1,2,...,K

log θk +

D∑

j=1

log

1√2πσ2

jk

− (xj − µjk)2

2σ2jk

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ấnluyệ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.106versicolor −1.083virginica −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.109versicolor 5.902 0.520 2.759 0.311 4.229 0.483 1.313 0.204virginica 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ì tacó 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 MethodsDecision TreesNaive Bayes Models

Binary-Valued FeaturesReal-Valued Features

Logistic RegressionBinary ModelMultinomial 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àomộ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) = 11+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) = 11+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∏

i=1

P(yi | xi; θ)

=N∏

i=1

(hθ(xi))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∑

i=1

[yi log hθ(xi) + (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àitoán tối ưu:

θ = argminθ

[−ℓ(θ) + λ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 trongviệ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(θ) = ‖θ‖1 =∑D

j=1 |θj | thì ta có mô hình hồi quy logistic hiệu

chỉnh dạng L1.

Nếu R(θ) = ‖θ‖2 =∑D

j=1 θ2j thì ta có mô hình hồi quy logistic hiệu

chỉnh dạng L2.

Nếu R(θ) =∑D

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. Taxâ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 thamsố;

Chỉ sử dụng 10 đặc trưng đầu tiên hoặc sử dụng toàn bộ 30 đặctrư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ệuchỉ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 θj1. 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ấtnhiề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ìnhlà 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 qualityassurance (QA).

During QA, each microchip goes through various tests to ensure it isfunctioning correctly.

We have test results for some microchips on two different tests. Fromthese two tests, we would like to determine whether the microchipshould 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

Mic

roch

ip T

est 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 andnegative 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 wellon 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 eachdata point.

For each data point x = (x1, x2), we map the features into allpolynomial terms of x1 and x2 up to the sixth power:

(x1

x2

)=⇒

1x1

x2

x21

x1x2

x22

x31

· · ·x1x

52

x62

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-dimensionalvector.

A logistic regression classifier trained on this higher-dimension featurevector will have a more complex decision boundary and will appearnonlinear when drawn in our 2-dimensional plot.

Note that while the feature mapping allows us to build a morepowerful 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

Mic

roch

ip T

est 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

Mic

roch

ip T

est 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

Mic

roch

ip T

est 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ồiquy 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 entropycực đại (maximum entropy–maxent), một dạng của mô hìnhlog–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ựckhá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ânphối Boltzmann;

Trong các mạng nơ-ron dưới tên máy Boltzmann và hàm kích hoạtsoftmax.

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

Zexp(θTk 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∑

k=1

P(y = k | x; θk) =K∑

k=1

exp(θTk 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 (đặctrư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∑

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 entropycực đại:

P(y | x; θ) =exp

(∑Dj=0 θyj xj

)

∑Kk=1 exp

(∑Dj=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∑

i=1

logP(yi | xi; θ).

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 thamsố lớn.

Tham số λ ≥ 0 dùng để điều khiển tính cân bằng của mô hình trongviệ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∑

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ụcbộ 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∑

j=1

θ2j . (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∑

i=1

logP(yi | xi; θ)

=1

N

N∑

i=1

{θTyi x

i− log

(K∑

k=1

exp(θTk xi)

)}.

Từ đó

∂ℓ(θ)

∂θkj=

1

N

N∑

i=1

{∂

∂θkj(θTyi x

i)− ∂

∂θkjlog

(K∑

k=1

exp(θTk xi)

)}

=1

N

N∑

i=1

{δ(yi = k) x

ij− 1∑K

k=1 exp(θTk xi )

∂θkj

(K∑

k=1

exp(θTk xi)

)}.

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∑

k=1

exp(θTk xi)

)= exp(θTk x

i) xij,

nên

∂θkjℓ(θ) =

1

N

N∑

i=1

{δ(yi = k) x

ij− exp(θTk xi)∑K

k=1 exp(θTk xi )

xij

}

=1

N

N∑

i=1

δ(yi = k) xij− 1

N

N∑

i=1

P(y = k | xi; θ) 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∑

i=1

δ(yi = k) xij− 1

N

N∑

i=1

P(y = k | xi; θ) x

ij

Nhận xét:

Đại lượng 1N

∑Ni=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 1N

∑Ni=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êngcủa hàm mục tiêu J2(θ) ứng với tham số θkj là

∂J2(θ)

∂θkj= −

(1

N

N∑

i=1

δ(yi = k) xij− 1

N

N∑

i=1

P(y = k | xi; θ) x

ij

)+ λθkj .

Để ước lượng véc-tơ tham số θ, ta cần giải hệ phương trình

∂θkjJ2(θ) = 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ìnhentropy cực đại.

Hai phương pháp chính:

phương pháp thang lặpphươ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 IterativeScaling)

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ươngpháp gradient liên hợp;

Phương pháp gradient bậc hai : phương pháp Newton và các phươngpháp tựa-Newton:

thuật toán BFGSthuật toán L-BFGSthuậ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ánthang 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ộtthờ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ướclặ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ênhợ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ênhợ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ả caohơ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 → 0khi θ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ộcvà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ếtquả ướ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ủamô 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 thamsố 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 λ.

5Vớ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ố khicà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

Den

sity

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

Den

sity

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

Den

sity

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

Den

sity

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 MethodsDecision TreesNaive Bayes Models

Binary-Valued FeaturesReal-Valued Features

Logistic RegressionBinary ModelMultinomial 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ácnơ-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óiphâ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∑

i=1

θixi + 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ớicá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 =

∑3j=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 matrậ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íchhoạ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ớpthứ 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ủabệnh nhân, yi là các giá trị biểu diễn có hay không các bệnh khácnhau 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ắcbệ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 gradientloạ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∑

i=1

J(xi , yi ; θ, b) +λ

2N

n−1∑

l=1

sl∑

i=1

sl+1∑

j=1

(θ(l)ji

)2

︸ ︷︷ ︸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‖y − hθ,b(x)‖2.

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àmchi 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 đượcmô hình tốt nếu giá trị khởi đầu của các tham số được chọn mộtcá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ố θ, bnhư 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∑

i=1

∂θ(l)ij

J(xi , yi ; θ, b) + λθ(l)ij

∂b(l)i

J(θ, b) =1

N

N∑

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 đạohà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ấnluyện bằng một số thuật toán hiện đại đã cho kết quả tốt hơn nhữngkế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ìnhGMM-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 recursiveapplication of a transition function on a hidden state vector.

It takes as input a list of input vectors x1, x2, . . . , xn and an initialstate vector s0, and returns a list of state vectors s1, s2, . . . , sn as wellas 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 statevector st and an input vector xt+1 and produces a new state vectorst+1.

An additional function g(·) is used to map a state vector st to anoutput vector yt . That is

st+1 = f (st , xt+1),

yt = g(st)

The functions f , g are the same accross the sequence positions. Theparameter 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