Nội dung
Regression (Hồi quy)
1. Giới thiệu mô hình hồi quy 2. Hồi quy tuyến tính 3. Hồi quy phi tuyến
Nguyễn Thanh Tùng Bài giảng của DSLab Viện nghiên cứu cao cấp về Toán (VIASM) https://www.facebook.com/tungntdhtl
Các dạng giải thuật học máy
2
Mô hình Hồi quy
Do you have labeled data?
• Xét:
Yes
No
Unsupervised
Supervised
• Các phương pháp học giám sát:
Category
Quantity
Yes
No
Classification
Regression
– Học bởi các ví dụ (quan sát)-“Learn by example” – Xây dựng mô hình sử dụng tập các quan sát đã được gắn nhãn
Cluster Analysis
Dimensionality Reduction
SVM
KNN
LASSO
CART
K-means
ICA
PCA
Logistic Regression
– Y có kiểu dữ liệu liên tục
Linear Regression
What do you want to predict? Do you want to group the data?
3 4
Ví dụ về hồi quy
Ví dụ về hồi quy
Cho bảng dữ liệu thông tin nhiên liệu như sau:
VNA392=read.csv("data/VNA392_ HANSGN_2016_1.csv")
attach(VNA392)
plot(BLOCK_FUEL, FUEL_ORDER, pch=16)
Bài toán đặt ra: liệu có thể dự đoán nhiên liệu do phi công lựa chọn (FUEL_ORDER) của mỗi chuyến bay dựa vào nhiên liệu do máy tính cung cấp (BLOCK_FUEL)?
6 5
Mô hình Hồi quy
• Giải thuật học
Hàm tổn thất ˆ L(q,q) i i
– Lấy hàm ước lượng “tốt nhất” trong tập các hàm
(q -q)2
ˆ i
å
Sai số bình phương (Squared error)
• Ví dụ: Hồi quy tuyến tính
– Chọn 1 ước lượng tốt nhất từ dữ liệu học trong tập
Sai số tuyệt đối (Absolute error)
i i
å
các hàm tuyến tính
i iq -qˆ i
8 7
Đo hiệu năng bài toán hồi quy
Bài toán Hồi quy
• Hàm tổn thất (Loss function): loại hàm dùng để đo
lường sai số của mô hình
• Vd: Sai số bình phương trung bình (Mean squared
error - MSE) – Độ đo thông dụng dùng để tính độ chính xác bài toán hồi quy
– Tập trung đo các sai số lớn hơn là các sai số nhỏ
argument minimum: Cho giá trị nhỏ nhất của 1 hàm số trong miền xác định
9 10
Nội dung
Hồi quy tuyến tính
• Hồi quy tuyến tính: là phương pháp học máy có giám sát đơn giản, được sử dụng để dự đoán giá trị biến đầu ra dạng số (định lượng)
1. Giới thiệu mô hình hồi quy 2. Hồi quy tuyến tính 3. Hồi quy phi tuyến
– Nhiều phương pháp học máy là dạng tổng quát hóa
của hồi quy tuyến tính
– Là ví dụ để minh họa các khái niệm quan trọng trong bài
toán học máy có giám sát
11 12
Hồi quy tuyến tính
Hồi quy tuyến tính đơn giản
• Tại sao dùng hồi quy tuyến tính?
– Mối quan hệ tuyến tính: là sự biến đổi tuân theo quy luật
• Biến đầu ra Y và biến đầu vào X có mối quan hệ tuyến tính giữa X và Y như sau:
hàm bậc nhất
– Tìm một mô hình (phương trình) để mô tả một mối liên
quan giữa X và Y
• Các tham số của mô hình:
– Ta có thể biến đổi các biến đầu vào để tạo ra mối quan hệ
tuyến tính
– Diễn giải các mối quan hệ giữa biến đầu vào và đầu ra - sử
hệ số chặn (khi các xi=0) độ dốc
dụng cho bài toán suy diễn
14 13
Hồi quy tuyến tính đơn giản
Hồi quy tuyến tính đơn giản
y-axis
y-axis
(x2, y2)
(x2, y2)
(x1, y1)
(x1, y1)
x-axis
x-axis
0
Cho hai điểm (x1, y1) và (x2, y2)
Làm sao để "phát triển" một phương trình nối 2 điểm này?
0 • •
Tìm gradient (slope): độ dốc. Tìm hệ số chặn (intercept) (hệ số khởi đầu của y khi x=0)
Tuan V. Nguyen
Tuan V. Nguyen
15 16
Hồi quy tuyến tính đơn giản
Hồi quy tuyến tính đơn giản
hệ số chặn
y
=
=
( ) xf
x 1 bb + 0
• β0 và β1 chưa biết àTa ước tính giá trị của
độ dốc
chúng từ dữ liệu đầu vào
• Lấy
sao cho mô hình đạt “xấp xỉ tốt nhất”
(“good fit”) đối với tập huấn luyện
Figure 3.1 , ISL 2013 17 18
Các giả định
• Mối liên quan giữa X và Y là tuyến tính (linear) về tham số
Đường thẳng phù hợp nhất Cho tập dữ liệu đầu vào, ta cần tìm cách tính toán các tham số của phương trình đường thẳng
• X không có sai số ngẫu nhiên
?
?
?
• Giá trị của Y độc lập với nhau (vd, Y1 không liên quan với Y2) ;
• Sai số ngẫu nhiên (ε): phân bố chuẩn, trung bình 0, phương
sai bất biến
14 12 10 8 6 4 2 0
ε ~ N(0, s2)
0
2
4
6
8
10
19 20
Bình phương nhỏ nhất
• Thông thường, để đánh giá độ phù hợp của mô
hình từ dữ liệu quan sát ta sử dụng phương pháp bình phương nhỏ nhất (least squares)
Đường thẳng phù hợp nhất Rất hiếm để có 1 đường thẳng khớp chính xác với dữ liệu, do vậy luôn tồn tại lỗi gắn liền với đường thẳng Đường thẳng phù hợp nhất là đường giảm thiểu độ dao động của các lỗi này
• Lỗi bình phương trung bình (Mean squared error):
yˆ
(
y - i
)ˆ y i
14 12 10 8 6 4 2 0
0
2
4
6
8
10
22 21
Phần dư (lỗi)
Ước lượng tham số
) được gọi là lỗi hoặc phần dư
yˆ
• Các ước số
tính được bằng cách cực
Biểu thức (yi -
tiểu hóa MSE
yˆ
)
ei = (yi-
Đường thẳng phù hợp nhất tìm thấy khi tổng bình phương lỗi là nhỏ nhất
SS
• Hệ số chặn của đường thẳng
ˆb
=1
n
x
n
n
SSE
(
2)ˆ y
=
-
y i
å
i
1
=
xy SS SS
(
x
2)
=
-
SS
(
y
)
=
-
-
x
x i
trong đó:
và
xy
x i
)( yx i
å
å
i
1 =
i
1 =
24 23
Ước lượng tham số
Hồi quy tuyến tính đơn giản
x
y -=
Hệ số chặn của đường thẳng ˆ b 1
ˆ b 0
n
trong đó
n
iå y
iå x
y
x
== 1 i n
== 1 i n
25 26
Phương pháp đánh giá
Ví dụ
Y
X kilograms cost $
SS
,
7
533.0
=
=
=
ˆ b 1
xy SS
83.891 1612 83.
x
!"#$ =
83.37=x =y 83.153
(.) − 0.))2; "4$ =
|Y6 − :Y6|
1 '
1 N
x
83.153
553.0
83.37
91.132
-=
=
-
´
=
ˆ b 0
ˆ y b 1
⁄
( )*+ và !2 = 1 −
891 1612
83. 83.
( 6*+ , (.) − ?.)) .
∑)*+
, (.) − 0.)) ∑)*+
=xySS =xSS
17 21 35 39 50 65
132 150 160 162 149 170
phương trình tìm được là Y = 132.91 + 0.553*X
27 28
Diễn giải tham số
ˆb
là hệ số chặn của Y. Nghĩa là, điểm mà đường
0
Diễn giải tham số ˆb
của độ dốc là 0.553. Điều
1
thẳng cắt trục tung Y. Trong ví dụ này là $132.91
Trong ví dụ trước, tham số ước lượng này có nghĩa là khi thay đổi 1 kg của X, giá của Y thay đổi 0.553 $
$132.91
Đây là giá trị của Y khi X = 0
30 29
Ước tính bằng R
Phân tích bằng R
• Chúng ta muốn ước tính mối liên quan giữa
# Phân tích hồi qui tuyến tính m1=lm(FUEL_ORDER ~ BLOCK_FUEL, data = VNA392) summary(m1)
lượng nhiên liệu cung cấp bởi máy tính (Block_Fuel) và nhiên liệu do phi công lựa chọn (Fuel_order).
• Mô hình hồi qui tuyến tinh:
Fuel_order= β0 + β1 *Block_Fuel + ε
• R lm(FUEL_ORDER ~ BLOCK_FUEL, data = VNA392)
# vẽ biểu đồ plot(VNA392$BLOCK_FUEL, VNA392$FUEL_ORDER, pch=16, col="blue", xlab = "Block_fuel", ylab = "Fuel_Order") abline(m1, col="red")
32 31
m1=lm(FUEL_ORDER ~ BLOCK_FUEL, data = VNA392) summary(m1)
Diễn giải kết quả
Residuals:
Phân tích bằng R
Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) 3.680e+03 5.532e+02 6.653 1.77e-08 *** BLOCK_FUEL 7.113e-01 5.813e-02 12.235 < 2e-16 ***
Min 1Q Median 3Q Max -1057.4 -326.2 -100.2 274.8 1820.0 Coefficients:
• Nhớ rằng mô hình là:
FUEL_ORDER= β0 + β1* BLOCK_FUEL
Estimate Std. Error t value Pr(>|t|) (Intercept) 3.680e+03 5.532e+02 6.653 1.77e-08 *** BLOCK_FUEL 7.113e-01 5.813e-02 12.235 < 2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
• Phương trình:
FUEL_ORDER = 3680 + 0.711* BLOCK_FUEL
• Ý nghĩa: phi công tăng 1000 kg mỗi khi chương trình máy
tính tăng 711 kg nhiên liệu cho từng chuyến bay.
R2 (hệ số xác định): là chỉ số rất có ích trong mô hình hồi qui tuyến Enh. R2 ×100 có nghĩ là phần trăm variaPon của biến y có thể giải thích bởi biến x R2 =1: tất cả dữ liệu có mối liên hệ xác định R2 =0: Không có mối quan hệ nào giữa X và Y.
Mối tương quan này có ý nghĩa thống kê (P < 0.0001)
Residual standard error: 556.8 on 52 degrees of freedom Multiple R-squared: 0.7422, Adjusted R-squared: 0.7372 F-statistic: 149.7 on 1 and 52 DF, p-value: < 2.2e-16
34 33
Hồi quy tuyến tính đa biến
Hồi quy tuyến tính đa biến
• Hồi quy tuyến tính đa biến: mô hình có nhiều hơn 1
biến dùng để dự đoán biến đích
Figure 3.4 , ISL 2013 36 35
Hồi quy tuyến tính đa biến
Bình phương nhỏ nhất
• Tìm các ước số bằng phương pháp bình phương nhỏ
• Diễn giải hệ số βj: khi tăng Xj lên một đơn vị è Y sẽ tăng trung bình một lượng là βj
nhất
• Giải phương trình để tìm :
37 38
Hồi quy tuyến tính đa biến
Ví dụ
Cho
6
193
6
1
16
7
134
=
ˆ β
=
X
=
y
128
0
ˆ é b 0 ê ˆ b ê 1 ê ˆ b ê 2 ê ˆ b ë 3
ù ú ú ú ú ú û
943 7 42
1 é ê 1 ê ê 1 ê 1 ê ê 1 ê 1 ê ë
ù ú 3 3 ú ú ú ú ú ú ú û
2
é ê 9 ê ê 12 ê 5 ê ê 13 ê ê ë
ù ú ú ú ú ú ú ú ú û
Figure 3.4 , ISL 2013 39 40
Ví dụ
Ví dụ
74
2.59578 0.15375 -
-
0.15375 0.03965
- -
0.01962 0.00014
- -
0.13737 0.00144
T
T
1 1 1 1 1 1
=
ˆ (b =
1-) yXXX
-
0.01962
-
0.00014
0.01234
-
0.00431
2 38 4
6
3
-
0.13737
-
0.00144
-
0.00431
0.01406
é ê ê ê ê ë
ù ú ú ú ú û
=
TX
é ê ê ê ê 598 ë
ù ú 203 ú ú 277 ú û
4 42 3 3 9
1
3
.20975
1
7 9
-
é ê ê ê ê 10 17 3 16 ë
ù ú ú ú ú û
=
-
74
0.46691
é ê ê ê ê ë
ù ú 0.07573 ú ú 0.11162 ú û
203
6 26 1 38 26
35 72 153 315
=
=
XXT
yXT
.0
11162
.3
20975
.0
46691
.0
07573
ˆ -=b 2
ˆ 0 =b
ˆ 3 =b
ˆ 1 -=b
295 448
277
72
315
484
944
é ê ê ê 1 53 35 ê ë
ù ú ú ú ú û
é ê ê ê ê 598 ë
ù ú ú ú ú û
ˆ y
.3
20975
.0
07573
.0
11162
.0
=
-
-
+
x 1
x 2
x 46691 3
41 42
Hồi quy tuyến tính
• Ưu điểm:
– Mô hình đơn giản, dễ hiểu – Dễ diễn giải hệ số hồi quy – Nhận được kết quả tốt khi dữ liệu quan sát nhỏ – Nhiều cải tiến/mở rộng
m2<- lm(FUEL_ORDER ~ ., data = VNA392) pairs(VNA392)
• Nhược điểm:
– Mô hình hơi đơn giản nên khó dự đoán chính xác với dữ liệu có miền giá
trị rộng
– Khả năng ngoại suy (extrapolation) kém – Nhạy cảm với dữ liệu ngoại lai (outliers) – do dung phương pháp bình
Coefficients: (Intercept) ACAR_OUT_FUEL ACAR_OFF_FUEL ACAR_ON_FUEL ACAR_IN_FUEL BLOCK_FUEL 6.743e+02 8.724e-05 8.476e-01 1.225e-01 7.307e-03 3.569e-02
phương nhỏ nhất
43 44
Nội dung
1. Giới thiệu mô hình hồi quy 2. Hồi quy tuyến tính 3. Hồi quy phi tuyến
Q?&A!
45 46
Cây phân loại và hồi quy Classification and Regression Trees (CART)
Phương pháp kết hợp các mô hình (ensemblem models)
47 48
Xây dựng cây CART thế nào?
Mô hình liên tục từng đoạn(piecewise)
Có 2 dạng:
• Dự đoán liên tục trong mỗi vùng
1.Hồi quy
2.Phân loại (lớp)
Hastie, Trevor, et al. The elements of statistical learning. Vol. 2. No. 1. New York: Springer, 2009.
49 50
Mô hình liên tục từng đoạn
Minh họa cây CART
own_rent_family=1,3
Hồi quy
persons_in_house>=2.5
persons_under_18>=0.5
job=1,2,3,4,5,6,8,9
persons_in_house>=3.5
income>=2.5
1.241
1.908
2.461
job=1,2,3,4,5,6,8,9
residence_time>=2.
1.446
2.651
2.421
3.8
1.843
3.8
Hastie, Trevor, et al. The elements of statistical learning. Vol. 2. No. 1. New York: Springer, 2009.
51 52
Minh họa cây CART
Cây hồi quy
Phân lớp
Giá trị dự đoán lưu tại lá của cây hồi quy. Nó được >nh bằng giá trị trung bình của tất cả các mẫu (bản ghi) tại lá đó.
53 54
Cây hồi quy
Cây hồi quy
20
=
=
• Cho 2 biến đầu vào
ˆ Y 1
ˆ,10 Y 2
• Giả sử ta có 2 vùng R1 và R2 với
và 5 vùng
ta sẽ có giá trị ta có kết quả dự
1RX Î 2RX Î
• Với các giá trị của X mà dự đoán là 10, ngược lại đoán là 20.
• Tùy theo từng vùng của giá trị mới X ta sẽ có dự đoán 1 trong 5 giá trị cho Y.
55 56
Tách các biến X
Tách các biến X
1. Đầu tiên tách trên X1=t1
Ta tạo ra các phân vùng bằng cách tách lặp đi lặp lại một trong các biến X thành hai vùng
57 58
Tách các biến X
Tách các biến X
1. Đầu tiên tách
trên X1=t1
2. Nếu X1 1. Đầu tiên tách
trên X1=t1
2. Nếu X1 tách trên X2=t2 tách trên X2=t2 3. Nếu X1>t1, tách trên X1=t3 59 60 1. Đầu tiên tách
trên X1=t1
2. Nếu X1 tách trên X2=t2 3. Nếu X1>t1, • Khi ta tạo các vùng theo tách trên X1=t3 4. Nếu X1>t3,
tách X2=t4 phương pháp này, ta có thể
biểu diễn chúng dùng cấu trúc
cây. • Phương pháp này dễ diễn giải
mô hình dự đoán, dễ diễn giải
kết quả 61 62 • Dễ xử lý dữ liệu thiếu (surrogate splits)
• Mạnh trong xử lý dữ liệu chứa thông tin rác (non-informative data) • Cho phép tự động lựa chọn thuộc tính (variable • Cây không ổn định (Instability of trees)
• Thiếu Hnh trơn (Lack of smoothness)
• Khó nắm bắt độ cộng Hnh (Hard to capture selection) addiRvity) • Dễ giải thích, lý tưởng để giải thích “tại sao” đối với người ra quyết định • Xử lý được tính tương tác cao giữa các thuộc tính 63 64 Fernández-Delgado, Manuel, et al. "Do we need hundreds of classifiers to solve real world classification
problems?." The Journal of Machine Learning Research15.1 (2014): 3133-3181. Kết luận của nghiên cứu trên của nhóm Manuel là phương
pháp Random Forests hầu hết cho kết quả tốt nhất. 66 65 • Giả sử ta có 5 quả bóng gắn nhãn A,B,C,D, E và bỏ tất cả chúng vào trong 1 • Bootstrap là phương cái giỏ. • Lấy ra ngẫu nhiên 1 quả từ giỏ và ghi lại nhãn, sau đó bỏ lại quả bóng vừa bốc được vào giỏ. • Tiếp tục lấy ra ngẫu nhiên một quả bóng và lặp lại quá trình trên cho đến khi việc lấy mẫu kết thúc. Việc lấy mẫu này gọi là lấy mẫu có hoàn lại. • Kết quả của việc lấy mẫu như trên có thể như sau (giả sử kích thước mẫu là pháp lấy mẫu có hoàn lại
(sampling with
replacement)-> một
mẫu có thể xuất hiện
nhiều lần trong một lần
lấy mẫu 10): Nguồn: bis.net.vn/forums 67 68 • Là kỹ thuật rất quan trọng trong thống kê • Lấy mẫu có hoàn lại từ tập dữ liệu ban đầu để tạo ra các tập dữ liệu mới 69 70 “Bootstrap Aggregation” “Bootstrap Aggregation” + + 71 72 • Lấy mẫu tập dữ liệu huấn Giải quyết được tính thiếu ổn
định của CART luyện theo Bootstrap để tạo ra
tập hợp các dự đoán. + + 73 74 • Lấy mẫu tập dữ liệu huấn luyện theo Bootstrap để tạo ra tập hợp các dự đoán. HasCe, Trevor, et al. The elements of staCsCcal learning. Vol. 2. No. 1. New
York: Springer, 2009. … • Lấy trung bình (hoặc bình chọn theo số đông- majority vote) các bộ dự đoán Hastie, Trevor, et al. The
elements of statistical
learning. Vol. 2. No. 1. New
York: Springer, 2009. độc lập. • Bagging giảm phương sai (variance) và giữ bias. 75 76 1
7
1
1 2
8
4
8 3
10
9
5 4
8
1
10 5
2
2
5 6
5
3
5 7
10
2
9 8
10
7
6 9
5
3
3 10
9
2
7 Lấy mẫu có hoàn lại
Xây dựng bộ phân lớp trên mỗi mẫu bootstrap •
•
• Mỗi mẫu bootstrap chứa xấp xỉ 63.2% số lượng mẫu trong • tập dữ liệu ban đầu
Số lượng mẫu còn lại (36.8%) được dùng để kiểm thử 77 78 • Quá trình Bootstrapping: • Với mỗi mẫu, tìm các cây mà nó là OOB. … • Dự đoán giá trị của chúng từ các cây này. • Ước lượng lỗi dự đoán của cây (bagged trees) dùng tất cả • Mỗi cây chỉ sử dụng một tập con các mẫu huấn các dự đoán OOB. luyện (trung bình số mẫu ~2/3). • Số mẫu cho OOB khoảng ~1/3 của cây quyết định. • Tương tự như kỹ thuật kiểm tra chéo (cross-validation). 79 80 • Mô hình dựa trên cây phân loại và hồi quy (CART). • Các mô hình cây có lỗi bias thấp, tuy nhiên phương sai lại cao (high variance). • Phương pháp Bagging dùng để giảm phương sai. 81 82 • Lấy mẫu tập dữ liệu huấn luyện theo Bootstrap để tạo ra tập hợp các dự đoán. • Cây được sinh ra từ phương pháp Bagging vẫn có tương Hastie, Trevor, et al. The elements of statistical
learning. Vol. 2. No. 1. New York: Springer, 2009. quan lẫn nhau, do đó hạn chế trong việc giảm phương sai. … Random forests đưa ra thêm tính ngẫu nhiên (randomness): • Làm giảm mối tương quan giữa các cây bằng cách lấy ngẫu • Lấy trung bình (hoặc bình chọn theo số đông- nhiên các biến khi tách nút của cây. majority vote) các bộ dự đoán độc lập. • Bagging giảm phương sai (variance) và giữ bias. 83 84 Số lượng biến dùng để tách nút (khả tách) Lấy thuộc tính ngẫu nhiên Has$e, Trevor, et al. The elements of sta$s$cal
learning. Vol. 2. No. 1. New York: Springer, 2009. 85 86 Tập dữ liệu huấn luyện D Bước 1:
Tạo dữ liệu ngẫu nhiên
(mẫu bootstrap) D=(Xi, Yi), i=1..p
p: #chiều, N: #mẫu D2 .... D1 DK-1 DK T1 T2 TK-1 TK Bước 2:
Sử dụng các tập con dữ liệu
lấy mẫu ngẫu nhiên để xây
dựng cây T * Bước 3:
Kết hợp các cây Lấy ngẫu
nhiên Introduction to Data Mining – Tan, Steinbach, Kumar •Phân lớp: Bình chọn theo số đông
•Hồi quy: Lấy trung bình giá trị dự
đoán từ các cây Ti (i=1..K) 87 88 Giá trị mặc định • Số lượng biến khả tách tại mỗi nút ( ) Bài toán phân lớp = • Độ sâu của từng cây trong rừng (số lượng mẫu tối thiểu tại mỗi nút của cây-minimum node size) = Bài toán hồi quy • Số lượng cây trong rừng gói randomForest trong R dùng mtry 90 89 Giá trị mặc định Bài toán phân lớp 1 Hastie, Trevor, et al. The elements of statistical
learning. Vol. 2. No. 1. New York: Springer, 2009. Bài toán hồi quy 5 92 91 • Các mẫu Out-of-bag (OOB) Hastie, Trevor, et al. The elements of statistical
learning. Vol. 2. No. 1. New York: Springer, 2009. • Độ quan trọng của biến (Variable importance measurements) • Thêm nhiều cây không gây ra overfitting. 94 93 Dạng 1: Độ tăng lỗi dự đoán tổng thể khi các giá trị của biến được
hoán vị ngẫu nhiên giữa các mẫu. Độ giảm của lỗi dự đoán hoặc impurity từ các điểm tách nút
liên quan đến các biến đó, cuối cùng lấy trung bình trên các
cây trong rừng. 96 95 • Cả 2 dạng biểu thị gần giống nhau, tuy nhiên có sự khác biệt về xếp hạng các biến: Dạng 1 Dạng 2 library(randomForest)
rf=randomForest(FUEL_ORDER ~ ., data =
VNA392, importance=T) randomForest(formula = FUEL_ORDER ~ ., data = VNA392, importance = T) Type of random forest: regression Number of trees: 500 No. of variables tried at each split: 1 Mean of squared residuals: 89095.72 % Var explained: 92.31 Has&e, Trevor, et al. The elements of sta&s&cal learning. Vol. 2. No. 1. New York: Springer, 2009. varImpPlot(rf, pch=16) 97 98 99 100 ¨ ~ 100 tỷ nơ-ron
¨ Mỗi nơ-ron có hàng ngàn kết nối: - Thu nhận tín hiệu
- Lan truyền thông tin Bleckert A, Schwartz GW, Turner MH, Rieke F, Wong RO. Visual space is represented by nonmatching
topographies of distinct mouse retinal ganglion cell types. Curr Biol. 2014 Feb 3;24(3):310-5. 101 102 Mô hình mạng Nơ-ron nhân tạo Mạng Nơ-ron 103 104 Trong đó: v(t): Tổng tất cả các đầu vào mô tả toàn bộ thế năng tác động ở thân nơ-ron. Y(t): Tín hiệu đầu ra nơ-ron. q: Ngưỡng (là hằng số), xác định ngưỡng kích hoạt. 105 106 Hàm logistic Hastie, Trevor, et al. The
elements of statistical
learning. Vol. 2. No. 1. New
York: Springer, 2009. Has/e, Trevor, et al. The elements of sta/s/cal
learning. Vol. 2. No. 1. New York: Springer, 2009. 107 108 -0.06 -0.06 W1 2.7 W2 -8.6 -2.5 -2.5 W3 0.002 x = -0.06×2.7 + 2.5×8.6 + 1.4×0.002 = 21.34 1.4 1.4 David Corne, Heriot-Watt University David Corne, Heriot-Watt University 109 110 111 112 1.4 2.7 1.9 113 114 1.4 1.4 2.7 0.8 2.7 0.8 1.9 115 116 1.4 6.4 2.7 0.8 2.8 1.9 error 0.8 1.7 117 118 6.4 6.4 2.8 0.9 2.8 0.9 1.7 1.7 lỗi 1
-0.1 119 120 6.4 6.4 2.8 0.9 2.8 0.9 1.7 lỗi 1
-0.1 1.7 lỗi 1
-0.1 121 122 trainData=VNA392[1:40, ]
testData=VNA392[41:54, ]
model.lm <- lm(FUEL_ORDER ~ BLOCK_FUEL, data= trainData)
pred=predict(model.lm, testData)
MSE=mean((testData$FUEL_ORDER - pred)^2)
MSE
# 299666.4399
model.rf <- randomForest(FUEL_ORDER ~ BLOCK_FUEL, data= trainData, trees=2000)
pred=predict(model.rf, testData)
MSE=mean((testData$FUEL_ORDER - pred)^2)
MSE
# 293049.5744
model.nn = neuralnet (FUEL_ORDER ~ BLOCK_FUEL, data=trainData, hidden=c(3,3), >library(neuralnet)
>nn = neuralnet
(FUEL_ORDER ~
BLOCK_FUEL,
data=VNA392,
hidden=c(3,3),
threshold=0.01)
>plot(nn) threshold=0.01) pred=compute(model.nn, as.matrix(testData$FUEL_ORDER))
pred$net.result
MSE=mean((testData$FUEL_ORDER - pred$net.result)^2)
MSE
#1200793.374 123 124 125Tách các biến X
Tách các biến X
Ưu điểm của CART
Nhược điểm của CART
Random
forest
Ensemble Models
Bootstrap là gì?
Bootstrap là gì?
C, D, E, E, A, B, C, B, A, E
Bootstrap là gì?
Các phương pháp kết hợp: Bagging
Bagging là gì?
Bagging là gì?
Bagging
Bagging
Bagging
Bagging
Bagging
Original Data
Bagging (Round 1)
Bagging (Round 2)
Bagging (Round 3)
Bonus! Out-of-bag cross-validation
Các mẫu Out-of-bag (OOB)
Dự đoán mẫu OOB
Động lực để có Random forest
Phương pháp Rừng ngẫu nhiên
Random Forests (RF)
Nhắc lại: Bagging
Bagged trees vs. random forests
• Phương pháp Bagging biểu thị sự biến thiên (variability) giữa
các cây bởi việc chọn mẫu ngẫu nhiên từ dữ liệu huấn luyện.
Các biến dùng cho tách nút
Các biến dùng cho tách nút
Rừng ngẫu nhiên
Rừng ngẫu nhiên
Các tham số chính
Số lượng biến khả tách
Các tham số quan trọng của Rừng ngẫu nhiên:
Độ sâu của cây
Độ sâu của từng cây
(số lượng mẫu tối thiểu tại mỗi nút của cây)
Số lượng cây trong rừng
Các tính năng khác của RF
Độ quan trọng của biến
Độ quan trọng của biến
Dạng 2:
Ví dụ về độ quan trọng của biến
Mạng Nơ-ron nhân tạo
Neural Networks
Mạng nơ-ron nhân tạo
Mạng nơ-ron sinh học
Mô hình mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo
Cấu trúc nơ-ron nhân tạo
Xk(t): Các biến đầu vào (các đặc trưng), k=1..M.
wk: Trọng số liên kết ngoài giữa các đầu vào k với nơ-ron hiện tại.
H(.): Hàm kích hoạt.
Hàm Ridge
Hàm kích hoạt Sigmoidal
f(x)
f(x)
Dữ liệu
Lớp
Các trường
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
Huấn luyện mạng Nơ-ron
Lớp
Các trường
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
Khởi tạo các trọng số ngẫu nhiên
Huấn luyện mẫu
Lớp
Dữ liệu huấn luyện
Các trường
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
Dữ liệu huấn luyện
Các trường
Lớp
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
cung cấp đầu ra
So sánh giá trị đầu ra
Dữ liệu huấn luyện
Lớp
Các trường
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
Dữ liệu huấn luyện
Lớp
Các trường
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v..
0
1.9 error 0.8
Điều chỉnh các trọng số dựa vào đầu ra
Huấn luyện mẫu
Dữ liệu huấn luyện
Các trường
Lớp
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
Dữ liệu huấn luyện
Các trường
Lớp
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
0
cung cấp đầu ra
So sánh giá trị đầu ra
Dữ liệu huấn luyện
Lớp
Các trường
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
Dữ liệu huấn luyện
Lớp
Các trường
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
Điều chỉnh các trọng số dựa vào đầu ra
tiếp tục ….
Dữ liệu huấn luyện
Các trường
Lớp
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
Dữ liệu huấn luyện
Các trường
Lớp
1.4 2.7 1.9 0
3.8 3.4 3.2 0
6.4 2.8 1.7 1
4.1 0.1 0.2 0
v.v…
Lặp lại hàng ngàn, hang triệu lần – mỗi lần sẽ lấy tập mẫu ngẫu nhiên,
và tạo các điều chỉnh về trọng số
Các giải thuật điều chỉnh trọng số được thiết kế để tạo ra các thay
đổi mà chúng sẽ giúp giảm lỗi của mô hình
Dự đoán dữ liệu kiểm thử
Q?&A!

