Machine Learning co ban Vũ Hữu Tiệp Machine Learning cơ bản machinelearningcoban com Vũ Hữu Tiệp Machine Learning cơ bản Machine Learning co ban Vũ Hữu Tiệp Machine Learning cơ bản machinelearningcoban com Vũ Hữu Tiệp Machine Learning cơ bản Machine Learning co ban Vũ Hữu Tiệp Machine Learning cơ bản machinelearningcoban com Vũ Hữu Tiệp Machine Learning cơ bản Order ebook tại https machinelearningcoban comebook Blog https machinelea.
Vũ Hữu Tiệp Machine Learning machinelearningcoban.com Vũ Hữu Tiệp Machine Learning Order ebook https:// machinelearningcoban.com/ ebook/ Blog: https:// machinelearningcoban.com Facebook Page: https:// www.facebook.com/ machinelearningbasicvn/ Facebook Group: https:// www.facebook.com/ groups/ machinelearningcoban/ Interactive Learning: https:fundaml.com Last update: May 23, 2018 i 0.1 Bảng ký hiệu Các ký hiệu sử dụng sách liệt kê Bảng 0.1 Bảng 0.1: Bảng ký hiệu Ký hiệu Ý nghĩa x, y, N, k x, y X, Y R N C Rm Rm×n Sn Sn + Sn ++ ∈ ∃ ∀ in nghiêng, thường hoa, số vô hướng in đậm, chữ thường, vector in đậm, chữ hoa, ma trận tập hợp số thực tập hợp số tự nhiên tập hợp số phức tập hợp vector thực có m phần tử tập hợp ma trận thực có m hàng, n cột tập hợp ma trận vuông đối xứng bậc n tập hợp ma trận nửa xác định dương bậc n tập hợp ma trận xác định dương bậc n phần tử thuộc tập hợp tồn ký hiệu là/bởi Ví dụ a f (x) nghĩa “ký hiệu f (x) a” phần tử thứ i (tính từ 1) vector x hàm xác định dấu Bằng x ≥ 0, -1 x < ex logarit tự nhiên số thực dương x phần tử hàng thứ i, cột thứ j ma trận A chuyển vị ma trận A chuyển vị liên hợp (Hermitian) ma trận phức A nghịch đảo ma trận vuông A, tồn giả nghịch đảo ma trận không thiết vuông A chuyển vị nghịch đảo ma trận A, tồn p norm vector x Frobenius norm ma trận A đường chéo ma trận A trace ma trận A định thức ma trận vuông A hạng ma trận A otherwise – trường hợp lại xi sgn(x) exp(x) log(x) aij AT AH A−1 A† A−T x p A F diag(A) trace(A) det(A) rank(A) o.w ∂f đạo hàm hàm số f theo x ∈ R ∂x ∇x f gradient (đạo hàm) hàm số f theo x (x vector ma trận) ∇2x f đạo hàm bậc hai hàm số f theo x, gọi Hessian Hadamard product (elemenwise product) Phép nhân phần tử hai vector ma trận kích thước ∝ tỉ lệ với v.v vân vân Machine Learning https:// machinelearningcoban.com Mục lục 0.1 Bảng ký hiệu i Phần I Kiến thức toán cho machine learning Ôn tập Đại số tuyến tính 1.1 Lưu ý ký hiệu 1.2 Chuyển vị Hermitian 1.3 Phép nhân hai ma trận 1.4 Ma trận đơn vị ma trận nghịch đảo 1.5 Một vài ma trận đặc biệt khác 1.6 Định thức 1.7 Tổ hợp tuyến tính, khơng gian sinh 1.8 Hạng ma trận 11 1.9 Hệ trực chuẩn, ma trận trực giao 12 1.10 Biễu diễn vector hệ sở khác 13 1.11 Trị riêng vector riêng 14 1.12 Chéo hoá ma trận 15 1.13 Ma trận xác định dương 16 Mục lục 1.14 Chuẩn vector ma trận 18 Giải tích ma trận 22 2.1 Đạo hàm hàm trả số vô hướng 22 2.2 Đạo hàm hàm trả vector 23 2.3 Tính chất quan trọng đạo hàm 24 2.4 Đạo hàm hàm số thường gặp 25 2.5 Bảng đạo hàm thường gặp 28 2.6 Kiểm tra đạo hàm 28 Ôn tập Xác Suất 32 3.1 Xác Suất 32 3.2 Một vài phân phối thường gặp 39 Maximum Likelihood Maximum A Posteriori 44 4.1 Giới thiệu 44 4.2 Maximum likelihood estimation 45 4.3 Maximum a Posteriori 50 4.4 Tóm tắt 54 Tài liệu tham khảo 55 Index 56 Machine Learning https:// machinelearningcoban.com Phần I Kiến thức toán cho machine learning Chương Ơn tập Đại số tuyến tính 1.1 Lưu ý ký hiệu Trong viết tôi, số vô hướng biểu diễn chữ viết dạng in nghiêng, viết hoa, ví dụ x1 , N, y, k Các vector biểu diễn chữ thường in đậm, ví dụ y, x1 Nếu khơng giải thích thêm, vector mặc định hiểu vector cột Các ma trận biểu diễn chữ viết hoa in đậm, ví dụ X, Y, W Đối với vector, x = [x1 , x2 , , xn ] hiểu vector hàng, x = [x1 ; x2 ; ; xn ] hiểu vector cột Chú ý khác dấu phẩy (,) dấu chấm phẩy (;) Đây ký hiệu Matlab sử dụng Nếu khơng giải thích thêm, chữ viết thường in đậm hiểu vector cột Tương tự, ma trận, X = [x1 , x2 , , xn ] hiểu vector cột xj đặt cạnh theo thứ tự từ trái qua phải để tạo ma trận X Trong X = [x1 ; x2 ; ; xm ] hiểu vector xi đặt chồng lên theo thứ tự từ xuống dể tạo ma trận X Các vector ngầm hiểu có kích thước phù hợp để xếp cạnh xếp chồng lên Phần tử hàng thứ i, cột thứ j ký hiệu xij Cho ma trận W, khơng giải thích thêm, hiểu wi vector cột thứ i ma trận Chú ý tương ứng ký tự viết hoa viết thường 1.2 Chuyển vị Hermitian Một toán tử quan trọng ma trận hay vector toán tử chuyển vị (transpose) Cho A ∈ Rm×n , ta nói B ∈ Rn×m chuyển vị A bij = aji , ∀1 ≤ i ≤ n, ≤ j ≤ m Một cách ngắn gọn, chuyển vị ma trận ma trận nhận từ ma trận cũ thông qua phép phản xạ gương qua đường chéo ma trận ban đầu Tốn tử chuyển CHƯƠNG ÔN TẬP ĐẠI SỐ TUYẾN TÍNH vị thường ký hiểu chữ T , t ký tự Trong sách này, sử dụng chữ T Ví dụ, chuyển vị vector x ký hiệu xT ; chuyển vị ma trận A ký hiệu AT Cụ thể: x1 a11 a12 a1n a11 a21 am1 x2 a21 a22 a2n a12 a22 am2 T x = ⇒ xT = x1 x2 xm ; A = ⇒ A = xm am1 am2 amn a1n a2n amn Nếu A ∈ Rm×n AT ∈ Rn×m Nếu AT = A, ta nói A ma trận đối xứng (symmetric matrix ) Trong trường hợp vector hay ma trận có phần tử số phức, việc lấy chuyển vị thường kèm với việc lấy liên hợp phức Tức việc đổi vị trí phần tử, ta cịn lấy liên hợp phức phần tử Tên gọi phép tốn chuyển vị lấy liên hợp cịn gọi chuyển vị liên hợp (conjugate transpose), thường ký hiệu chữ H thay cho chữ T Chuyển vị liên hợp ma trận A ký hiệu AH (cũng đọc A Hermitian) Cho A ∈ Cm×n , ta nói B ∈ Cn×m chuyển vị liên hợp A bij = aji , ∀1 ≤ i ≤ n, ≤ j ≤ m, a liên hiệp phức a Ví dụ: A= + 2i i − 4i − 2i ⇒ AH = + 4i −i + 3i ;x = ⇒ xH = − 3i −2i 2i (1.1) Nếu A, x ma trận vector thực AH = AT , xH = xT Nếu chuyển vị liên hợp ma trận phức với nó, AH = A, ta nói ma trận Hermitian 1.3 Phép nhân hai ma trận Cho hai ma trận A ∈ Rm×n , B ∈ Rn×p , tích hai ma trận ký hiệu C = AB ∈ Rm×p phần tử hàng thứ i, cột thứ j ma trận kết tính bởi: n cij = k=1 aik bkj , ∀1 ≤ i ≤ m, ≤ j ≤ p (1.2) Để nhân hai ma trận, số cột ma trận thứ phải số hàng ma trận thứ hai Trong ví dụ trên, chúng n Một vài tính chất phép nhân hai ma trận (giả sử kích thước ma trận phù hợp để phép nhân ma trận tồn tại): Machine Learning https:// machinelearningcoban.com CHƯƠNG ÔN TẬP ĐẠI SỐ TUYẾN TÍNH Phép nhân ma trận khơng có tính chất giao hốn Thơng thường (khơng phải ln ln), AB = BA Thậm chí, nhiều trường hợp, phép tính khơng tồn kích thước ma trận lệch Phép nhân ma trận có tính chất kết hợp: ABC = (AB)C = A(BC) Phép nhân ma trận có tính chất phân phối phép cộng: A(B + C) = AB + AC Chuyển vị tích tích chuyển vị theo thứ tự ngược lại Điều tương tự xảy với Hermitian tích: (AB)T = BT AT ; (AB)H = BH AH (1.3) Theo định nghĩa trên, cách coi vector trường hợp đặc biệt ma trận, tích vơ hướng hai vector (inner product) x, y ∈ Rn định nghĩa là: n xT y = y T x = xi y i (1.4) i=1 Chú ý, xH y = (yH x)H = yH x Chúng chúng số thực Nếu tích vơ hướng hai vector khác khơng khơng, hai vector vng góc với xH x ≥ 0, ∀x ∈ Cn tích số phức với liên hiệp ln số khơng âm Phép nhân ma trận A ∈ Rm×n với vector x ∈ Rn vector b ∈ Rm : Ax = b, với bi = A:,i x (1.5) với A:,i vector hàng thứ i A Ngoài ra, phép nhân khác gọi Hadamard (hay element-wise) hay sử dụng Machine Learning Tích Hadamard hai ma trận kích thước A, B ∈ Rm×n , ký hiệu C = A B ∈ Rm×n , đó: cij = aij bij (1.6) 1.4 Ma trận đơn vị ma trận nghịch đảo 1.4.1 Ma trận đơn vị Đường chéo ma trận tập hợp điểm có số hàng cột Cách định nghĩa định nghĩa cho ma trận không vuông Cụ thể, A ∈ Rm×n đường chéo A bao gồm {a11 , a22 , , app }, p = min{m, n} Một ma trận đơn vị bậc n ma trận đặc biệt Rn×n với phần tử đường chéo 1, phần tử cịn lại Ma trận đơn vị thường ký hiệu I Machine Learning https:// machinelearningcoban.com CHƯƠNG ÔN TẬP XÁC SUẤT 42 3.2.4 Phân phối chuẩn nhiều chiều Phân phối trường hợp tổng quát phân phối chuẩn biến ngẫu nhiên nhiều chiều, giả sử D chiều Có hai tham số mơ tả phân phối này: vector kỳ vọng µ ∈ RD ma trận hiệp phương sai Σ ∈ SD ma trận đối xứng xác định dương Hàm mật độ xác suất có dạng p(x) = (2π)D/2 |Σ|1/2 exp (x − µ)T Σ−1 (x − µ) (3.46) với |Σ| định thức ma trận hiệp phương sai Σ Phân phối thường viết gọn lại dạng p(x) = Normx [µ, Σ], N (µ, Σ) Ví dụ hàm mật độ xác suất phân phối chuẩn hai chiều (bivariate normal distribution) mơ tả mặt cong cho Hình 3.3b Nếu cắt mặt theo mặt phẳng song song với mặt đáy, ta thu hình ellipse đồng tâm 3.2.5 Phân phối Beta Phân phối Beta (Beta distribution) phân phối liên tục định nghĩa biến ngẫu nhiên λ ∈ [0, 1] Phân phối Beta distribution dùng để mô tả tham số cho distribution khác Cụ thể, phân phối phù hợp với việc mô tả biến động tham số λ phân phối Bernoulli Phân phối Beta mô tả hai tham số dương α, β Hàm mật độ xác suất p(λ) = Γ (α + β) α−1 λ (1 − λ)β−1 Γ (α)Γ (β) (3.47) với Γ (.) hàm số gamma, định nghĩa ∞ tz−1 exp(−t)dt Γ (z) = (3.48) Trên thực tế, việc tính giá trị hàm số gamma khơng thực quan trọng mang tính chuẩn hố để tổng xác suất Dạng gọn phân phối Beta: p(λ) = Betaλ [α, β] Hình 3.4 minh hoạ hàm mật độ xác suất phân phối Beta với cặp giá trị (α, β) khác • Trong Hình 3.4a, α = β Đồ thị hàm mật độ xác suất đối xứng qua đường thẳng λ = 0.5 Khi α = β = 1, thay vào (3.47) ta thấy p(λ) = với λ Trong trường Machine Learning https:// machinelearningcoban.com 43 CHƯƠNG ÔN TẬP XÁC SUẤT (b) (a) (c) Hình 3.4: Ví dụ hàm mật độ xác suất phân phối Beta (a) α = β, đồ thị hàm số đối xứng (b) α < β, đồ thị hàm số lệch sang trái, chứng tỏ xác suất λ nhỏ lớn (c) α > β, đồ thị hàm số lệch sang phải, chứng tỏ xác suất λ lớn lớn hợp này, phân phối Beta trở thành phân phối (uniform distribution) Khi α = β > 1, hàm số đạt giá trị cao gần trung tâm, tức khả cao λ nhận giá trị xung quanh điểm 0.5 Khi α = β < 1, hàm số đạt giá trị cao điểm gần • Trong Hình 3.4b, α < β, ta thấy đồ thị có xu hướng lệch sang bên trái Các giá trị (α, β) nên sử dụng ta dự đoán λ số nhỏ 0.5 • Trong Hình 3.4c, α > β, điều ngược lại xảy với hàm sồ đạt giá trị cao điểm gần 3.2.6 Phân phối Dirichlet Phân phối Dirichlet trưởng hợp tổng quát phân phối Beta dùng để mô tả tham số phân phối Categorical Nhắc lại phân phối Categorical trường hợp tổng quát phân phối Bernoulli Phân phối Dirichlet định nghĩa K biến liên tục λ1 , , λK λk khơng âm có tổng Bởi vậy, phù hợp để mơ tả tham số phân phối Categorical Có K tham số dương để mô tả phân phối Dirichlet: α1 , , αK Hàm mật độ xác suất phân phối Dirichlet p(λ1 , , λK ) = Γ( K k=1 K k=1 αk ) Γ (αk ) K λαk k −1 (3.49) k=1 Cách biểu diễn ngắn gọn: p(λ1 , , λK ) = Dirλ1 , ,λK [α1 , , αK ] Machine Learning https:// machinelearningcoban.com Chương Maximum Likelihood Maximum A Posteriori 4.1 Giới thiệu Có nhiều mơ hình machine learning xây dựng dựa mơ hình thống kê (statistical models) Các mơ hình thống kê thường dựa phân phối xác suất đề cập Chương Với phân phối Bernoulli, tham số biến λ Với phân phối chuẩn nhiều chiều, tham số mean vector µ ma trận hiệp phương sai Σ Với mơ hình thơng kê bất kỳ, ký hiệu θ tập hợp tất tham số mơ hình Learning q trình ước lượng (estimate) tham số θ cho mơ hình tìm khớp với phân phối liệu Quá trình cịn gọi ước lượng tham số (parameter estimation) Có hai cách ước lượng tham số thường dùng mơ hình machine learning thống kê Cách thứ dựa liệu biết tập huấn luyện, gọi maximum likelihood estimation hay ML estimation MLE Cách thứ hai dựa tập huấn luyện mà dựa thông tin biết trước tham số Những thông tin có cảm quan người xây dựng mơ hình Cảm quan rõ ràng, hợp lý khả thu tham số tốt cao Chẳng hạn, thông tin biết trước λ Bernoulli distribution việc số đoạn [0, 1] Với toán tung đồng xu, với λ xác suất có mặt head, ta dự đoán giá trị nên số gần với 0.5 Cách ước lượng tham số thứ hai gọi maximum a posteriori estimation hay MAP estimation Trong chương này, tìm hiểu ý tưởng cách giải tốn ước lượng tham số mơ hình theo MLE MAP Estimation 45 CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI 4.2 Maximum likelihood estimation 4.2.1 Ý tưởng Giả sử có điểm liệu x1 , x2 , , xN Giả sử thêm ta biết điểm liệu tuân theo phân phối mơ tả tham số θ Maximum likelihood estimation việc tìm tham số θ cho xác suất sau đạt giá trị lớn nhất: θ = max p(x1 , , xN |θ) (4.1) θ Biểu thức (4.1) có ý nghĩa việc có lý? Giả sử ta biết dạng mơ hình, mơ hình mơ tả tham số θ Như vậy, p(x1 |θ) xác suất xảy kiện x1 biết mơ hình mơ tả tham số θ (đây xác suất có điều kiện) Và p(x1 , , xN |θ) xác suất để toàn kiện x1 , x2 , , xN đồng thời xảy ra, xác suất đồng thời gọi likelihood Ở đây, likelihood hàm mục tiêu Bởi việc xảy ra, tức liệu huấn luyện thân chúng thế, xác suất đồng thời cần phải cao tốt Việc giống việc biết kết quả, ta cần tìm nguyên nhân cho xác suất xảy kết cao tốt MLE việc tìm tham số θ cho Likelihood lớn Trong mơ hình ta có toán tối ưu với hàm mục tiêu p(x1 , , xN |θ) Lúc ta không tối thiểu hàm mục tiêu mà cần tối đa nó, ta muốn xác suất xảy việc lớn 4.2.2 Giả sử độc lập log-likelihood Việc giải trực tiếp toán (4.1) thường phức tạp việc tìm mơ hình xác suất đồng thời cho toàn liệu khả thi Một cách tiếp cận phổ biến giả sử đơn giản điểm liệu xn độc lập với Nói cách khác, ta xấp xỉ likelihood (4.1) N p(x1 , , xN |θ) ≈ n=1 p(xn |θ) (4.2) (Nhắc lại hai kiện x, y độc lập xác suất đồng thời chúng tích xác suất kiện: p(x, y) = p(x)p(y) Và xác suất có điều kiện: p(x, y|z) = p(x|z)p(y|z).) Lúc đó, tốn (4.1) giải cách giải toán tối ưu sau: N θ = max θ n=1 p(xn |θ) (3) (4.3) Việc tối ưu tích thường phức tạp việc tối ưu tổng, việc tối đa hàm mục tiêu thường chuyển việc tối đa log hàm mục tiêu: N θ = max θ Machine Learning n=1 log (p(xn |θ)) (4.4) https:// machinelearningcoban.com CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI 46 Ôn lại chút hai tính chất hàm logarit: (i) log tích tổng log, (ii) log hàm đồng biến, biểu thức dương lớn log lớn nhất, ngược lại 4.2.3 Ví dụ Ví dụ 1: phân phối Bernoulli Bài tốn: giả sử tung đồng xu N lần nhận n mặt head Ước lượng xác suất tung đồng xu nhận mặt head Lời giải: Một cách trực quan, ta ước lượng xác suất λ = ước lượng giá trị sử dụng MLE n N Chúng ta Giả sử λ xác suất để nhận mặt head Đặt x1 , x2 , , xN đầu nhận được, có n giá trị tương ứng với mặt head m = N − n giá trị tương ứng với mặt tail Ta suy N i=1 N xi = n, N − i=1 xi = N − n = m (4.5) Vì xác suất biến ngẫu nhiên nhị phân rời rạc, ta nhận thấy việc nhận mặt head hay tail tung đồng xu tuân theo phân phối Bernoulli: p(xi |λ) = λxi (1 − λ)1−xi (4.6) Khi tham số mơ hình λ ước lượng việc giải toán tối ưu sau đây, với giả sử kết lần tung đồng xu độc lập với nhau: N λ = argmax [p(x1 , x2 , , xN |λ)] = argmax λ λ i=1 p(xi |λ) (4.7) N = argmax λ i=1 λxi (1 − λ)1−xi = argmax λ = argmax [λn (1 − λ)m ] λ N i=1 (1 − λ)N − N i=1 xi (4.8) = argmax [n log(λ) + m log(1 − λ)] (4.9) λ xi λ (4.9), ta lấy log hàm mục tiêu Tới đây, toán tối ưu (4.9) giải cách lấy đạo hàm hàm mục tiêu Tức λ nghiệm phương trình n m n m n n − =0⇔ = ⇔λ= = λ 1−λ λ 1−λ n+m N (4.10) Vậy kết ta ước lượng ban đâu có sở Machine Learning https:// machinelearningcoban.com 47 CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI Ví dụ 2: Categorical distribution Một ví dụ khác phức tạp chút Bài toán: giả sử tung viên xúc xắc sáu mặt có xác suất rơi vào mặt khơng Giả sử N lần tung, số lượng xuất mặt thứ nhất, thứ hai, , thứ sáu n1 , n2 , , n6 lần với ni = N Tính xác suất rơi vào mặt lần tung i=1 Giả sử thêm ni > 0, ∀i = 1, , Lời giải: Bài tốn phức tạp toán chút, ta dự đốn ước lượng tốt xác suất rơi vào mặt thứ i λi = nNi Mã hoá quan sát đầu thứ i vector chiều xi ∈ {0, 1}6 phần tử trừ phần tử tương ứng với mặt quan sát Nhận thấy N j j i=1 xi = nj , ∀j = 1, 2, , 6, xi thành phần thứ j vector xi Có thể thấy xác suất rơi vào mặt tuân theo phân phối categorical với tham số λj > 0, j = 1, 2, , Ta dùng λ để thể cho sáu tham số Với tham số λ, xác suất để kiện xi xảy p(xi |λ) = xj λj i (4.11) j=1 Khi đó, với giả sử độc lập lần tung xúc xắc, ước lượng tham số λ dựa việc tối đa log-likelihood ta có: N λ = argmax λ i=1 N p(xi |λ) = argmax = argmax λ λj N i=1 xji xj λj i λ 6 (4.12) i=1 j=1 n λj j = argmax j=1 λ (4.13) j=1 = argmax λ nj log(λj ) (4.14) j=1 Khác với tốn (4.9) chút, khơng qn điều kiện tốn tối ưu có ràng buộc sau max λ Machine Learning λj = Ta có nj log(λj ) thoả mãn: j=1 j=1 λj = (4.15) j=1 https:// machinelearningcoban.com CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI 48 Bài toán tối ưu giải phương pháp nhân tử Lagrange (xem Phụ lục ??) Lagrangian toán L(λ, µ) = j=1 nj log(λj ) + µ(1 − λj ) (4.16) j=1 Nghiệm toán nghiệm hệ đạo hàm L(.) theo biến nj ∂L(λ, µ) = −µ ∂λj λj ∂L(λ, µ) =1− ∂µ Từ (4.17) ta có λj = nj µ = 0, ∀j = 1, 2, , (4.17) λj = (4.18) j=1 Thay vào (4.18), j=1 Từ ta có ước lượng λj = nj , N nj =1⇒µ= µ nj = N (4.19) j=1 ∀j = 1, 2, , Qua hai ví dụ ta thấy MLE cho hết hợp lý Ví dụ 3: Univariate normal distribution Bài tốn: Khi thực phép đo, giả sử khó để đo xác độ dài vật Thay vào đó, người ta thường đo vật nhiều lần suy kết quả, với giả thiết phép đo độc lập với kết phép đo phân phối chuẩn Ước lượng chiều dài vật dựa kết đo Lời giải:Vì biết kết phép đo tuân theo phân phối chuẩn, ta cố gắng xây dựng phân phối chuẩn Chiều dài vật coi giá trị mà hàm mật độ xác suất đạt giá trị cao nhất, tức khả rơi vào khoảng giá trị xung quanh lớn Trong phân phối chuẩn, ta biết hàm mật độ xác suất đạt giá trị lớn kỳ vọng phân phối Chú ý kỳ vọng phân phối kỳ vọng liệu quan sát khơng xác nhau, gần Nếu ước lượng kỳ vọng phân phối cách làm sử dụng MLE, ta thấy kỳ vọng liệu đánh giá tốt cho kỳ vọng phân phối Thật vậy, giả sử kích thước quan sát x1 , x2 , , xN Ta cần tìm phân phối chuẩn, mô tả giá trị kỳ vọng µ phương sai σ , cho giá trị x1 , x2 , , xN likely Ta biết rằng, hàm mật độ xác suất xi môt phân phối chuẩn có kỳ vọng µ phương sai σ p(xi |µ, σ ) = √ Machine Learning 2πσ exp − (xi − µ)2 2σ (4.20) https:// machinelearningcoban.com 49 CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI Vậy, để đánh giá µ σ, ta sử dụng MLE với giả thiết kết phép đo độc lập: N µ, σ = argmax µ,σ i=1 p(xi |µ, σ ) (4.21) exp − (2πσ )N/2 = argmax µ,σ N i=1 (xi − 2σ N i=1 (xi − 2σ = argmax −N log(σ) − µ,σ µ)2 µ)2 J(µ, σ) (4.22) (4.23) Ta lấy log hàm bên dấu ngoặc vuông (4.22) để (4.23), phần số có chứa 2π bỏ khơng ảnh hưởng tới kết Để tìm µ σ, ta giải hệ phương trình đạo hàm J(µ, σ) theo biến khơng: N ∂J = ∂µ σ i=1 (xi − µ) = ∂J N =− + ∂σ σ σ ⇒µ= N i=1 xi N (4.24) N i=1 (xi − µ)2 = , σ = N i=1 (xi N − µ)2 (4.25) (4.26) Kết thu khơng có bất ngờ Ví dụ 4: Multivariate normal distribution Bài toán: Giả sử tập liệu ta thu giá trị nhiều chiều x1 , , xN tuân theo phân phối chuẩn Hãy đánh giá tham số, vector kỳ vọng µ ma trận hiệp phương sai Σ phân phối dựa MLE, giả sử x1 , , xN độc lập Lời giải: Việc chứng minh cơng thức N i=1 µ= xi (4.27) N Σ= N N i=1 (x − µ)(x − µ)T (4.28) xin dành lại cho bạn đọc tập nhỏ Dưới vài gợi ý: • Hàm mật độ xác suất phân phối chuẩn nhiều chiều p(x|µ, Σ) = (2π)D/2 Σ 1/2 exp − (x − µ)T Σ−1 (x − µ) (4.29) Chú ý ma trận hiệp phương sai Σ xác định dương nên có nghịch đảo Machine Learning https:// machinelearningcoban.com CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI 50 • Một vài đạo hàm theo ma trận: T ∇Σ log |Σ| = (Σ−1 )T −1 −T ∇Σ (xi − µ) Σ (xi − µ) = −Σ Σ−T (chuyển vị nghịch đảo) T −T (xi − µ)(xi − µ) Σ (4.30) (4.31) (Xem thêm Matrix Calculus, mục D.2.1 D.2.4 https:// goo.gl/ JKg631 ) 4.3 Maximum a Posteriori 4.3.1 Ý tưởng Quay lại với ví dụ tung đồng xu Nếu tung đồng xu 5000 lần nhận 1000 lần head, ta đánh giá xác suất head 1/5 việc đánh giá đáng tin số mẫu lớn Nếu tung lần nhận mặt head, theo MLE, xác suất để có mặt head đánh giá 1/5 Tuy nhiên với kết quả, ước lượng không đáng tin, nhiều khả việc đánh giá bị overfitting Khi tập huấn luyện nhỏ (low-training) cần phải quan tâm tới vài giả thiết tham số Trong ví dụ này, giả thiết xác suất nhận mặt head phải gần 1/2 Maximum A Posteriori (MAP) đời nhằm giải vấn đề Trong MAP, giới thiệu giả thiết biết trước, gọi prior, tham số θ Từ giả thiết này, suy khoảng giá trị phân bố tham số Ngược với MLE, MAP, đánh giá tham số xác suất có điều kiện liệu: (4.32) θ = argmax p(θ|x1 , , xN ) θ posterior Biểu thức p(θ|x1 , , xN ) gọi xác suất posterior θ Chính mà việc ước lượng θ theo (4.32) gọi Maximum A Posteriori Thông thường, hàm tối ưu (4.32) khó xác định dạng cách trực tiếp Chúng ta thường biết điều ngược lại, tức biết tham số, ta tính hàm mật độ xác suất liệu Vì vậy, để giải bải toán MAP, ta thường sử dụng quy tắc Bayes Bài toán MAP thường biến đổi thành prior likelihood p(x1 , , xN |θ) p(θ) θ = argmax p(θ|x1 , , xN ) = argmax p(x1 , , xN ) θ θ (4.33) evidence = argmax [p(x1 , , xN |θ)p(θ)] (4.34) θ N = argmax θ Machine Learning i=1 p(xi |θ)p(θ) (4.35) https:// machinelearningcoban.com 51 CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI Đẳng thức (4.33) xảy theo quy tắc Bayes Đẳng thức (4.34) xảy mẫu số (4.33) khơng phụ thuộc vào tham số θ Đẳng thức (4.35) xảy giả thiết độc lập xi Chú ý giả thiết độc lập thường xuyên sử dụng Như vậy, điểm khác biệt lớn hai toán tối ưu MLE MAP việc hàm mục tiêu MAP có thêm p(θ), tức phân phối θ Phân phối thông tin ta biết trước θ gọi prior Ta kết luận posterior tỉ lệ thuận với tích likelihood prior Vậy chọn prior nào? làm quen với khái niệm mới: conjugate prior 4.3.2 Conjugate prior Nếu phân phối xác suất posterior p(θ|x1 , , xN ) có dạng (same family) với phân phối xác suất p(θ), prior posterior gọi conjugate distributions, p(θ) gọi conjugate prior cho hàm likelihood p(x1 , , xN |θ) Nghiệm tốn MAP MLE có cấu trúc giống Một vài cặp conjugate distributions : • Nếu likelihood function Gaussian (phân phối chuẩn), prior cho vector kỳ vọng Gaussian, phân phối posterior Gaussian Ta nói Gaussian conjugate với (hay cịn gọi self-conjugate) • Nếu likelihood function Gaussian prior cho phương sai phân phối gamma2 , phân phối posterior Gaussian Ta nói phân phối gamma conjugate prior cho phương sai Gassian Chú ý phương sai coi biến giúp đo độ xác mơ hình Phương sai nhỏ độ xác cao • Phân phối Beta conjuate phân phối Bernoulli • Phân phối Dirichlet conjugate phân phối categorical 4.3.3 Hyperparameters Xét ví dụ nhỏ với phân phối Bernoulli với hàm mật độ xác suất: p(x|λ) = λx (1 − λ)1−x (4.36) conjugate nó, phân phối Beta, có hàm phân mật độ xác suất: p(λ) = Γ (α + β) α−1 λ (1 − λ)β−1 Γ (α)Γ (β) (4.37) Bỏ qua thừa số số mang mục đích chuẩn hố cho tích phân hàm mật độ xác suất một, ta nhận thấy phần cịn lại phân phối Beta có họ (family) Đọc thêm: Conjugate prior–Wikipedia (https:// goo.gl/ E2SHbD) Gamma distribution–Wikipedia, (https:// goo.gl/ kdWd2R.) Machine Learning https:// machinelearningcoban.com CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI 52 với phân phối Bernoulli Cụ thể, sử dụng phân phối Beta làm prior cho tham số λ, bỏ qua phần thừa số số, posterior có dạng p(λ|x) ∝ p(x|λ)p(λ) ∝ λx+α−1 (1 − λ)1−x+β−1 (4.38) đó, ∝ ký hiệu tỉ lệ với Nhận thấy (4.38) có dạng phân phối Bernoulli Chính mà phân phối Beta gọi conjugate prior cho phân phối Bernoulli Trong ví dụ này, tham số λ phụ thuộc vào hai tham số khác α β Để tránh nhầm lẫn, hai tham số (α, β) gọi siêu tham số (hyperparameters) Quay trở lại ví dụ tốn tung đồng xu N lần có n lần nhận mặt head m = N −n lần nhận mặt tail Nếu sử dụng MLE, ta nhận ước lượng λ = n/M Nếu sử dụng MAP với prior Beta[α, β] kết thay đổi nào? Bài toán tối ưu MAP: λ = argmax [p(x1 , , xN |λ)p(λ)] λ N = argmax λ = argmax λ i=1 N i=1 λxi (1 − λ)1−xi xi +α−1 λ λα−1 (1 − λ)β−1 (1 − λ)N − = argmax λn+α−1 (1 − λ)m+β−1 N i=1 xi +β−1 (4.39) λ Bài toán tối ưu (4.39) tốn tối ưu (4.38) với tham số thay đổi chút Tương tự (4.38), nghiệm (4.39) suy λ= n+α−1 N +α+β−2 (4.40) Nhờ việc chọn prior phù hợp, conjugate prior, posterior likelihood có dạng giống nhau, khiến cho việc tối ưu toán MAP thuận lợi Việc lại chọn cặp hyperparameters α β Chúng ta xem lại hình dạng phân phối Beta nhận thấy α = β > 1, hàm mật độ xác suất phân phối Beta đối xứng qua điểm 0.5 đạt giá trị cao 0.5 Xét Hình 4.1, ta nhận thấy α = β > 1, mật độ xác suất xung quanh điểm 0.5 nhận giá trị cao, điều chứng tỏ λ có xu hướng gần với 0.5 Nếu ta chọn α = β = 1, ta nhận phân phối đồ thị hàm mật độ xác suất đường thẳng Lúc này, xác suất λ vị trí khoảng [0, 1] Thực Machine Learning https:// machinelearningcoban.com 53 CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI Hình 4.1: Đồ thị hàm mật độ xác suất phân phối Beta α = β nhận giá trị khác Khi hai giá trị lớn, xác suất để λ gần 0.5 cao chất, ta thay α = β = vào (4.40) ta thu λ = n/N , ước lượng thu MLE MLE trường hợp đặc biệt MAP prior phân phối n+1 Chẳng hạn N = 5, n = N +2 ví dụ MLE cho kết λ = 1/5, MAP cho kết λ = 2/7, gần với 1/2 Nếu ta chọn α = β = 2, ta thu được: λ = Nếu chọn α = β = 10 ta có λ = (1 + 9)/(5 + 18) = 10/23 Ta thấy α = β lớn ta thu λ gần 1/2 Điều dễ nhận thấy prior nhận giá trị cao 0.5 siêu tham số α = β lớn 4.3.4 MAP giúp tránh overfitting Việc chọn hyperparameter thường dựa thực nghiệm, chẳng hạn crossvalidation Việc thử nhiều tham số chọn tốt việc mà kỹ sư machine learning thường xuyên phải đối mặt Cũng giống việc chọn regularization parameter để tránh overfitting Nếu viết lại toán MAP dạng: θ = argmax p(X|θ)p(θ) θ (4.41) = argmax log p(X|θ) + log p(θ) λ likelihood Machine Learning (4.42) prior https:// machinelearningcoban.com CHƯƠNG MAXIMUM LIKELIHOOD VÀ MAXIMUM A POSTERIORI 54 ta thấy hàm mục tiêu có dạng L(θ) + λR(θ) giống regularization, với hàm log-likelihood đóng vai trị hàm mát L(θ), log prior đóng vai trị hàm R(θ) Ta nói rằng, MAP phương pháp giúp tránh overfitting mơ hình machine learning thống kê MAP đặc biệt hữu ích tập huấn luyện nhỏ 4.4 Tóm tắt • Khi sử dụng mơ hình thống kê machine learning, thường xuyên phải ước lượng tham số mơ hình θ, đại diện cho tham số phân phối xác suất Có hai phương pháp phổ biến sử dụng để ước lượng θ Maximum Likelihood Estimation (MLE) Maximum A Posterior Estimation (MAP) • Với MLE, việc xác định tham số θ thực cách tìm tham số cho xác suất tập huấn luyện, hay gọi likelihood, lớn nhất: θ = argmax p(x1 , , xN |θ) (4.43) θ • Để giải toán tối ưu này, giả thiết liệu xi độc lập thường sử dụng Và toán MLP trở thành: N θ = argmax θ i=1 p(xi |θ) (4.44) • Với MAP, tham số đánh giá cách tối đa posterior : θ = argmax p(θ|x1 , , xN ) (4.45) θ • Quy tắc Bayes giả thiết độc lập liệu thường sử dụng: N θ = argmax θ i=1 p(xi |θ)p(θ) (4.46) Hàm mục tiêu tích likelihood prior • Prior thường chọn dựa thông tin biết trước tham số, phân phối chọn thường conjugate distribution với likelihood, tức phân phối khiến việc nhân thêm prior giữ cấu trúc giống likelihood • MAP coi phương pháp giúp tránh overfitting MAP thường mang lại hiệu cao MLE với trường hợp có liệu huấn luyện Machine Learning https:// machinelearningcoban.com Tài liệu tham khảo Index back substitution, basic, 11 orthogonal, 12 orthonormal, 12 Bayes’ rule - quy tắc Bayes, 36 conditional probability - xác suất có điều kiện, 36 conjugate distributions, 51 conjugate prior, 51 determinant, diagonal matrix, eigenvalues, 14 eigenvectors, 14 expectation - kỳ vọng, 37 forward substitution, gradient–đạo hàm, 22 first-order gradient–đạo hàm bậc nhất, 22 numerical gradient, 28 second-order gradient–đạo hàm bậc hai, 22 Hermitian, hyperparameter, 52 identity matrix - ma trận đơn vị, inner product – tích vô hướng, inverse matrix - ma trận nghịch đảo, joint probability - xác suất đồng thời, 33 likelihood, 45 linear combination, linear dependece, linear independence, log-likelihood, 45 MAP, 50 marginal probability - xác suất biên, 35 marginalization, 35 matrix calculus, 22 maximum a posteriori, 50 maximum likelihood estimation, 45 MLE, 45 norm, 18 norm, 19 norm, 19 p norm, 19 Euclidean norm, 19 Frobenius norm, 20 null space, 11 orthogonal matrix, 12 orthogonality, 12 partial derivative–đạo hàm riêng, 22 pdf, xem probability density function, 32 positive definite matrix, 16 negative definite, 16 negative semidefinite, 16 positive semidefinite, 16 posterior probability, 50 prior, 50 probability density function - hàm mật độ xác suất, 32 probability distribution - phân phối xác suất, 39 Bernoulli distribution, 39 Beta distribution, 42 Categorical distribution, 40 Dirichlet distribution, 43 multivariate normal distribution, 42 univariate normal distribution, 41 random variable - biến ngẫu nhiên, 32 range space, 11 rank, 11 span, submatrix leading principal matrix, 17 leading principal minor, 17 principal minor, 17 principal submatrix, 17 symmetric matrix, triangular matrix, lower, upper, unitary matrix, 13 vector-valued function, 23 ...Vũ Hữu Tiệp Machine Learning Order ebook https:// machinelearningcoban.com/ ebook/ Blog: https:// machinelearningcoban.com Facebook Page: https:// www.facebook.com/ machinelearningbasicvn/... www.facebook.com/ groups/ machinelearningcoban/ Interactive Learning: https:fundaml.com Last update: May 23, 2018 i 0.1 Bảng ký hiệu Các ký hiệu sử dụng sách liệt kê Bảng 0.1 Bảng 0.1: Bảng ký hiệu Ký... với v.v vân vân Machine Learning https:// machinelearningcoban.com Mục lục 0.1 Bảng ký hiệu i Phần I Kiến thức tốn cho machine learning Ơn tập