ƯỜ
Ạ Ọ
TR
NG Đ I H C VINH
Ậ
Ỹ
Ệ
Ệ
VI N K THU T VÀ CÔNG NGH
Ị ĐINH TH NHUNG
Ứ
ƯƠ
Ớ
Ị
NGHIÊN C U PH
NG PHÁP PHÂN L P NH PHÂN
Ạ
Ớ
Ả
Ậ TRONG NH N D NG GI
I TÍNH QUA NH
Ạ Ọ
Ố
Ồ
Ệ
Đ ÁN T T NGHI P Đ I H C
Ệ
NGÀNH CÔNG NGH THÔNG TIN
ệ Ngh An, 05 năm 2019
ƯỜ Ạ Ọ TR NG Đ I H C VINH
Ậ Ỹ Ệ Ệ VI N K THU T VÀ CÔNG NGH
Ứ
ƯƠ
Ớ
Ị
NGHIÊN C U PH
NG PHÁP PHÂN L P NH PHÂN
Ạ
Ớ
Ả
Ậ TRONG NH N D NG GI
I TÍNH QUA NH
Ạ Ọ
Ố
Ồ
Ệ
Đ ÁN T T NGHI P Đ I H C
Ệ
NGÀNH CÔNG NGH THÔNG TIN
ự
ị
Sinh viên th c hi n:
ệ Đinh Th Nhung
Mã sinh viên: 145D4802010033
L pớ : 55k1CNTT
ướ
Gi ngả viên h
ng d n
ứ ẫ : Võ Đ c Quang
ệ Ngh An, 05/ 2019
Ờ
L I CAM ĐOAN
ứ ủ ượ ự Đ án ồ này là công trình nghiên c u c a cá nhân em, đ c th c hi n d ệ ướ ự i s
ướ ủ ẫ ố ệ ữ ế ậ h ng d n c a T ứ hs. Võ Đ c Quang. Các s li u, nh ng k t lu n nghiên
ượ ứ c u đ c trình bày trong ồ đ án này hoàn toàn trung th c. ự Em xin hoàn toàn
ề ờ ệ ị ch u trách nhi m v l i cam đoan này .
ệ Ngh An, ngày…. tháng…..năm 2019
ự ệ Sinh viên th c hi n
ị Đinh Th Nhung
Ụ Ụ M C L C
Ụ Ừ Ế
Ắ
DANH M C T VI T T T
ừ ế ắ TT T vi t t t Ý nghĩa
ệ ạ 1 AI Trí tu nhân t o
2 PLA Perceptron Learning Algorithm.
3 SVM Support Vector Machine
Ụ
Ả
Ể
DANH M C B NG BI U
ụ ề ớ Hình 1: Ví d v bài toán phân l p
Hình 2: Mô hình bài toán phân l pớ
Hình 3: Bài toán Perceptron.
Hình 4: Bài toán SVM.
ơ ồ ổ ệ ồ ạ ả ậ Hình 5: S đ t ng quan h th ng nh n d ng nh.
ạ ậ ớ ả Hình 6: Mô hình nh n d ng gi i tính qua nh.
ụ ề Hình 7: Ví d v logistic regression.
ạ ộ ữ ệ ụ ủ ả Hình 8: B ng d li u ho t đ ng c a chim cánh c t.
Hình 9: Đ th ồ ị sigmoid function.
ụ ẫ Hình 10: Các ví d m u trong AR face database.
ả ượ ằ ụ ề ế Hình 11: Ví d v k t qu tìm đ c b ng Logistic Regression
Ờ Ả Ơ L I C M N
ể ồ ố ệ ờ ầ Đ hoàn thành đ án t t nghi p, l ả ơ i đ u tiên em xin chân thành c m n
ườ ạ ầ ọ ể ầ ế đ n toàn th th y cô trong tr ệ ng Đ i H c Vinh và các th y cô trong Vi n
̀ ệ ặ ậ ỹ ệ ơ ầ K Thu t và Công Ngh , đ c bi t h n là các th y cô trong nganh công ngh ệ
ệ ố ữ ộ ườ thông tin, b môn h th ng thông tin nói riêng, nh ng ng ậ i đã t n tình
ướ ữ ứ ế ẫ ạ ỗ ổ ị h ng d n d y d và trang b cho em nh ng ki n th c b ích trong năm
ừ năm v a qua.
ệ ử ờ ả ơ ắ ầ ặ Đ c bi t em xin chân thành g i l ế i c m n sâu s c đ n th y giáo Ths. Võ
ứ ườ ậ ướ ự ế ẫ ạ ọ Đ c Quang, ng i đã t n tình h ề ỉ ả ng d n, tr c ti p ch b o và t o m i đi u
ệ ỡ ố ồ ố ệ ki n giúp đ em trong su t quá trình làm đ án t t nghi p.
ử ờ ả ơ ớ Sau cùng em xin g i l i c m n chân thành t ạ i gia đình, b n bè, anh ch ị
ế ộ ổ ọ ậ khóa trên đã đ ng viên, c vũ và đóng góp ý ki n trong quá trình h c t p,
ứ ồ ố ệ ư nghiên c u cũng nh quá trình làm đ án t t nghi p.
ệ
Ngh An, tháng 05 năm 2019
ự
ệ Sinh viên th c hi n
ị Đinh Th Nhung
ả ơ Em xin chân thành c m n!
Ở Ầ M Đ U
1. Lý do ch n đ tài
ọ ề
̀ ệ ậ ạ Ngay nay, trí tu nhân t o đang phát tri n ạ ể m nh m ấ ẽ và xâm nh p vào r t
ộ ố ư ự ộ ự ề ậ ạ ọ ị nhi u lĩnh v c trong cu c s ng nh t ậ đ ng d ch thu t, nh n d ng gi ng nói,
ậ ạ ậ ạ ữ ế ề ặ đi u khi n t ể ự ộ nh n d ng khuôn m t, nh n d ng ch vi đ ng, t tay. v.v. Nó giờ
ướ ệ ế ớ ề ườ ằ ượ đ c coi là xu h ng công ngh th gi i và nhi u ng ộ i cho r ng đó là cu c
ệ ầ ứ ạ cách m ng công nghi p l n th 4.
ự ự ọ ộ (machine learning) là m t lĩnh v c liên quan , h c máy
̃ ́ ệ ố ứ ự ệ ̣ Trong lĩnh v c AI ́ ế đ n vi c nghiên c u cac ky thuât và xây d ng các h th ng co thê “h c”t ̉ ọ ự ộ đ ng
́ ̀ ́ ế ề ấ ả ̣ ̉
́ ̀ ừ ữ ệ ư đo gi d li u, t t ́ ̀ ̀ ́ ̀ ́ ọ i quy t cac v n đ bai toan cu thê. Hay nói cách khác h c ̃ ư ̣ ̉ ử ư ̣ máy phân nao đo giúp cho máy tính có thê x ly d liêu va đ a ra quyêt đinh nh ư
ườ ộ ứ ả ể ử ụ ư con ng ứ ả i. Ví d khi đ a m t b c nh vào thì máy tính có th x lý b c nh
ả ữ xem nh đó là nam hay là n .
́ ặ ư ạ
̃ ̀ ́ ̀ ̣ ư ̃ ư ụ ớ ̣ Trong cac bài toán Machine learning có hai lo i bài toán đ c tr ng đó là bài ́ ́ toán phân l p và phân c m. Môi bai toan co nh ng đăc tr ng riêng va pham vi ap
́ ́ ́ ̀ ́ ̀ ́ ̀ ́ ự ậ ạ ̣ ̣ ̣
́ ̀ ̀ ́ ̃ ̀ ả ́ ư ̣ ̣ ̉
̀ ̃ ̀ ́ ̀ ̀ ̣ ơ ́ ư ́ ơ ̣
́ ̀ ́ ̃ ̀ ư ̣ ả ́ ơ ̉ ̣ ̣ ̣ dung vao cac loai bai toan th c tê khac nhau. Bên canh đo, bai toan nh n d ng và ̀ ́ ́ ử x lý nh la môt bai toan hâp dân va co tinh ng dung cao. Trong khuôn khô đô ́ ̀ nay, em se đi sâu vao nghiên c u bai toan phân l p va cu h n la thuât toan ̀ qua d liêu nh đâu vao,
Logistic Regession đê ap dung vao nhân dang gi i tinh ̃ ̀ ́ ̃ ́ ́ ử ả ̣ ̣ ̃ ữ ơ ư xem nh đó là nam hay là n . H n n a, đô an cung se th nghiêm đanh gia hiêu
́ ̃ ̣ ư ̣ ́ ơ ̉ ̉ ̣ ̣ ̣ ̉ qua phân l p cua thuât toan trên môt bô d liêu cu thê AR face database.
2. M c đích nghiên c u
ụ ứ
ủ ề ụ ứ ể ớ ị ư M c đích c a đ tài là nghiên c u bài toán phân l p nh phân đ khi ta đ a
ộ ứ ả ể ậ ớ m t b c nh vào thì ta có th dùng thu t toán trong bài toán phân l p nh ị
ớ ộ ứ ả ủ ể ư phân đ đ a ra gi ữ i tính c a m t b c nh là nam hay n .
3. Ph m vi th c hi n
ự ệ ạ
ộ ữ ệ ự ệ Th c hi n đánh giá trên b d li u AR face database.
ự ộ ệ 4. N i dung th c hi n
ứ ể ươ ậ ạ ớ ị ớ Đ nghiên c u ph ng pháp phân l p nh phân trong nh n d ng gi i tính
ự ệ ả ướ ầ qua nh thì ta c n th c hi n các b c sau đây:
(cid:0) ể ạ ậ ớ ị ử Tìm hi u bài toán phân l p nh phân, bài toán nh n d ng và x lý
ả ạ ậ ớ ả nh, bài toán nh n d ng gi i tính qua nh.
(cid:0) ể ể ạ ậ ậ ớ Tìm hi u thu t toán Logistic Regression đ nh n d ng gi ủ i tính c a
ỗ ứ ả m i b c nh.
(cid:0) ư ộ ữ ệ ử ệ ố Cu i cùng là đ a b d li u vào th nghi m và đánh giá.
ồ ấ 5. C u trúc đ án
ở ầ M đ u.
ươ Ch ế ơ ở ng 1: C s lý thuy t
ươ ứ ậ Ch ng 2: Nghiên c u thu t toán Logistic Regression
ươ ử ậ ạ ớ ả Ch ệ ng 3: Th nghi m nh n d ng gi ử ụ i tính qua nh s d ng b c s d ộ ơ ở ữ
ệ li u AR face data base.
ươ Ch ậ ế ng 4: K t lu n
ƯƠ
Ơ Ở
Ế
CH
NG I: C S LÝ THUY T
ọ 1. H c máy (M achine Learning)
ớ ệ 1.1 Gi i thi u
ầ ữ Nh ng năm g n đây, Trí
tu ệ nhân t o ạ (AI Artificial Intelligence) đang ̃ ̀ ̀ ́ ể ư ẽ ở ậ ̣
́ ́ ̣ ự ̉ ̣ ̣ ờ ố con ng
́ ́ ệ ố ự ủ ự ở ̃ ạ phát tri n m nh m và xâm nh p va tr thanh nh ng công nghê côt loi trên i.̀ươ Ta co thê băt găp s hiên diên cua nhiêù lĩnh v c ự cuả đ i s ng ̉ ̣ Xe t ơ khăp n i. Vi du: hành c a Google và Tesla, h th ng t tag AI
ệ ố ủ ủ ả ặ ả ợ ợ khuôn m t trong nh c a Facebook, tr lý o Siri c a Apple, h th ng g i
ệ ố ủ ủ ả ẩ ợ ý s n ph m c a Amazon, h th ng g i ý phim c a Netflix, máy ch i c ơ ờ
ủ ộ ỉ ữ vây AlphaGo c a Google DeepMind, …, ch là m t vài trong vô vàn nh ng
ứ ụ ủ ng d ng c a AI/Machine Learning.
ộ ự ọ Machine Learning là m t lĩnh v c ủ ự c a AI, nó có kh năng t ả
ữ ệ ả ượ ậ ư ầ trên d li u đ a vào mà không c n ph i đ c l p trình c th ỏ ự h c h i d a ụ ể. Machine
ấ ộ ươ ả ể ọ ỏ ữ ệ ệ learning còn cung c p m t ph ng pháp hi u qu đ h c h i d li u thay vì
ườ ể ự ọ ự d a vào con ng i đ phân tích và d đoán. Nh vàoờ h c máy, các máy tính
ể ử ả ư ớ ỗ ứ ả ứ ả ư có th x lý nh và đ a ra gi i tính cho m i b c nh xem b c nh đ a vào là
nam hay là n .ữ
́ ̣ ̣ ́ Cac loai hoc may:
ọ ươ (Supervised Learning): Là ph ữ ử ụ ng pháp s d ng nh ng
ừ ướ ể ư ữ ầ (cid:0) H c có giám sát ượ ữ ệ d li u đã đ c gán nhãn t ự c đ đ a ra các d đoán gi a đ u vào tr
ữ ệ ầ ượ ọ ữ ệ ệ và đ u ra. Các d li u này đ ấ c g i là d li u hu n luy n và chúng là
ẽ ậ ấ ầ ầ ọ ệ ặ c p các đ u vàođ u ra. H c có giám sát s xem xét các t p hu n luy n
ể ừ ể ư ự ầ ầ ớ này đ t ư ặ đó có th đ a ra d đoán đ u ra cho 1 đ u vào m i ch a g p
ờ ụ ộ ể ượ ứ ặ bao gi . Ví d m t “email”có th đ c gán nhãn “th rác” ho c “không
ư ư ể ạ th rác” và đ a vào mô hình Supervised Learing đ phân lo i.
ọ ớ ọ (cid:0) H c không giám sát (Unsupervised Learning): Khác v i h c có giám sát,
ữ ệ ử ụ ư ượ ữ ọ h c không giám sát s d ng nh ng d li u ch a đ c gán nhãn t ừ ướ c tr
ậ ươ ườ ượ ử ụ ấ ể đ suy lu n. Ph ng pháp này th ng đ ể c s d ng đ tìm c u trúc
ạ ươ ủ ậ ữ ệ c a t p d li u. Tuy nhiên l i không có ph ng pháp đánh giá đ ượ ấ c c u
ượ ữ ệ ụ ế trúc tìm ra đ ụ ư c là đúng hay sai. Ví d nh phân c m d li u, tri ấ t xu t
ấ ầ ộ ủ thành ph n chính c a m t ch t nào đó.
H c n a giám sát
(cid:0) ọ ử ủ ỹ ộ ớ ử ụ ậ ọ là m t l p c a k thu t h c máy, s d ng c d ả ữ
ư ệ ể ệ ể ấ ộ li u đã gán nhãn và ch a gán nhãn đ hu n luy n đi n hình là m t
ỏ ữ ệ ớ ượ ữ ệ ư ớ ượ l ng nh d li u có gán nhãn cùng v i l ng l n d li u ch a gán
ọ ử ứ ấ ữ ọ nhãn. H c n a giám sát đ ng gi a h c không giám sát (không có b t
ộ ữ ệ ữ ệ ề ượ kì d li u có nhãn nào) và có giám sát (toàn b d li u đ u đ c gán
ữ ệ ứ ề ậ ấ nhãn). Nhi u nhà nghiên c u nh n th y d li u không gán nhãn, khi
ượ ử ụ ế ợ ữ ệ ớ ộ đ ể ả c s d ng k t h p v i m t chút d li u có gán nhãn, có th c i
ữ ệ ể ộ ệ ể ộ thi n đáng k đ chính xác. Đ gán nhãn d li u cho m t bài toán
ườ ể ỏ ộ ọ h c máy th ạ ng đòi h i m t chuyên viên có kĩ năng đ phân lo i
ằ b ng tay ệ . ụ ấ các ví d hu n luy n
ặ ư ọ Trong h c máy thì có hai bài toán đ c tr ng:
Bài toán phân c m.ụ
Bài toán phân l p.ớ
1.2 Bài toán phân c mụ
ụ ữ Bài toán phân c m là 1 trong nh ng bài toán ủ c a lĩnh v c ự Unsupervised
ữ ệ ọ ượ ả Learning (H c không giám sát), d li u đ c mô t trong bài toán không
ượ đ c dán nhãn hay nói cách khác thì bài toán này không có đ u raầ . Trong
ườ ữ ệ ụ ẽ ậ ợ tr ừ ng h p này, thu t toán s tìm cách phân c m chia d li u thành t ng
ể ươ ự ờ ặ ữ ồ ặ nhóm có đ c đi m t ng t nhau, nh ng ư đ ng th i đ c tính gi a các nhóm
ạ ả ệ đó l i ph i càng khác bi t càng t ố . t
ữ ệ ủ ấ ứ ứ ể ẳ ạ Ví d : ụ D li u c a chúng ta có th là b t c th gì, ch ng h n nh d ư ữ
ẽ ấ ữ ụ ệ ậ li u vệ ề khách hàng: Thu t toán phân c m s r t h u ích trong vi c đánh giá
ườ ồ ừ ể ư và chia thành các nhóm ng i dùng khác nhau, r i t đó ta có th đ a ra
ế ượ ữ ừ ườ nh ng chi n l c marketing phù h p ợ trên t ng nhóm ng i dùng đó.
1.3 Bài toán phân l pớ
ụ ủ ứ ộ ộ ớ Bài toán phân l p thu c m t nhánh ng d ng chính c a lĩnh v c ự Supervised
ộ ố ượ ớ ữ ệ Learning. Và bài toán là quá trình phân l p m t đ i t ng d li u vào hay
ề ớ ướ ờ ộ ớ nhi u l p đã cho tr c nh m t mô hình phân l p (model). Mô hình này
ượ ữ ệ ộ ậ ự ự ượ ự ướ đ c xây d ng d a trên m t t p d li u đ c xây d ng tr c đó có gián
ệ ấ ọ ớ nhãn (hay còn g i là hu n luy n). Quá trình phân l p là quá trình gián nhãn
ố ượ ữ ệ cho đ i t ng d li u.
ụ ề ớ Hình 1: Ví d v bài toán phân l p
ư ậ ụ ủ ệ ầ ộ ớ ớ Nh v y, nhi m v c a bài toán phân l p là c n tìm m t mô hình phân l p
ữ ệ ể ị ượ ữ ệ ộ ớ ể đ khi có d li u m i thì có th xác đ nh đ c d li u đó thu c vào phân
ớ l p nào.
ộ ữ ệ ạ ậ ạ ạ ụ ạ ồ Ví d : Ta có b d li u traning bao g m có h t đ u, h t l c, h t lúa sau đó
ộ ữ ệ ự ể ớ ạ ậ ta xây d ng mô hình phân l p đ gán nhãn cho b d li u đó là h t đ u
ượ ạ ạ ạ đ ế c gán nhãn là A, h t lúa có gán nhãn là B, h t l c gán nhãn là C. ti p
ụ ủ ể ệ ớ ớ ư theo nhi m v c a bài toán phân l p là tìm mô hình phân l p đ khi ta đ a 1
ữ ệ ể ớ ớ ị ữ ệ d li u b che nhãn vào mô hình phân l p đ phân l p xem d li u đó
ạ ạ ộ ượ thu c vào h t nào trong 3 h t đã đ c gán nhãn.
Mô hình bài toán phân l p:ớ
Hình 2: Mô hình bài toán phân l pớ
ớ ữ ệ Trong bài toán phân l p d li u thì có các bài toán sau đây:
(cid:0) ớ ớ Bài toán phân l p đa l p (multiclass).
(cid:0) ớ ị Bài toán phân l p đa tr .
(cid:0) ớ ị Bài toán phân l p nh phân (binary).
ữ ệ ố ượ ắ ớ ị Bài toán phân l p nh phân là bài toán g n nhãn d li u cho đ i t ng vào
ữ ệ ự ệ ớ ộ m t trong hai l p khác nhau d a vào vi c d li u đó có hay không có các
ủ ộ ư ớ . ặ đ c tr ng (feature) c a b phân l p
ổ ế ộ ố ậ M t s thu t toán ph bi n:
(cid:0) ậ Thu t toán Perceptron Learning Algorithm.
(cid:0) ậ Thu t toán Support Vecto Machine
(cid:0) ậ Thu t toán Naive Bayes
(cid:0) ậ Thu t toán Logistic Regression.
ậ 1.3.1 Thu t toán Perceptron Learning Algorithm.
ề ả ủ ậ PLA là thu t toán classification n n t ng c a các model Neuron Network và
ưở ủ ậ deeplearning. Ý t ớ ng c a thu t toán đó là v i các classes khác nhau, hãy
ườ ữ ể ệ tìm các đ ng biên đ phân chia các classes này thành nh ng vùng di n tích
ệ ườ ấ ủ ả ậ ợ ơ tách bi t. Tr ng h p đ n gi n nh t c a thu t toán này là phân chia nh ị
ữ ằ ườ ế phân (binary classification) b ng nh ng đ ng biên tuy n tính. Bài toán
ượ ư ể ượ đ c phát bi u nh sau: Cho 2 class đ ộ c dán nhãn khác nhau, tìm m t
ườ ề ể ằ ẳ ộ ộ đ ủ ng th ng sao cho toàn b các đi m thu c class 1 n m v 1 phía c a
ườ ẽ ằ ề ể ằ ộ ộ đ ng th ng và toàn b các đi m thu c class 2 s n m v phía còn l ạ ớ i v i
ả ị ồ ạ ườ ư ế ẳ ơ ườ gi đ nh luôn t n t i 1 đ ng th ng nh th (không r i vào tr ợ ng h p 2
ẫ ớ ằ ồ ồ ạ ườ ấ class n m ch ng l n lên nhau d n t i không t n t i đ ng biên).
ả ử ữ ệ ợ ượ ượ Ví d : ụ Gi ậ s chúng ta có hai t p h p d li u đã đ c gán nhãn đ c minh
ạ ướ ủ ậ ho trong hình 3 bên trái d ể i đây. Hai class c a chúng ta là t p các đi m
ể ặ ậ ỏ ừ ữ ệ ủ màu xanh và t p các đi m màu đ . Bài toán đ t ra là: t ậ d li u c a hai t p
ượ ướ ể ộ ớ ự đ c gán nhãn cho tr c, hãy xây d ng m t ộ classifier (b phân l p) đ khi
ữ ệ ể ự ể ộ ớ có m t đi m d li u hình tam giác màu xám m i, ta có th d đoán đ ượ c
ủ màu (nhãn) c a nó.
Hình 3: Bài toán Perceptron.
ủ ể ỗ ớ ỗ ộ ớ Chúng ta c n tìmầ lãnh thổ c a m i class sao cho, v i m i m t đi m m i, ta
ổ ủ ế ị ỉ ầ ằ ồ ị ch c n xác đ nh xem nó n m vào lãnh th c a class nào r i quy t đ nh nó
ể ộ ủ ầ ỗ thu c class đó. Đ tìm lãnh thổc a m i class, chúng ta c n đi tìm biên gi ớ i
ữ ả ọ (boundary) gi a hai ộ ườ ng
lãnh thổ này. Hình 3 bên ph i minh h a m t đ ượ ề ầ ẳ ẳ ặ th ng phân chia hai class trong m t ph ng. Ph n có n n màu xanh đ c coi
ủ ớ ỏ ượ ầ là lãnh thổ c a l p xanh, ph n có nên màu đ đ c coi là ủ ớ lãnh thổ c a l p
ườ ể ợ ớ ượ ỏ đ . Trong tr ữ ệ ng h p này, đi m d li u m i hình tam giác đ c phân vào
class đ .ỏ
1.3.2 Bài toán Logistic Regression
ươ ự ậ ồ ớ ộ Ph ng pháp h i quy logistic là m t thu t toán v i mô hình d đoán đ ượ c
ỉ ấ ế ạ ị ị ể ử ụ s d ng khi bi n y là phân lo i nh phân. Nghĩa là ch l y giá tr 1 và 0. Hi u
ờ ạ ữ ự ằ ầ ộ theo m t cách khác n a đó là mô hình này nh m d đoán đ u ra r i r c y
ứ ệ ớ ộ ươ ươ ớ ươ t ng ng v i m t vecto đâu vào X. Vi c này t ng đ ệ ng v i chuy n
ạ ầ ươ ứ phân lo i đ u vào X vào các nhóm y t ng ng.
1.3.3 Bài toán Support Vecto Machine.
ộ ươ ọ Support Vector Machine SVM là m t ph ng pháp h c có giám sát trong các
ạ ộ ạ ậ ẫ ỉ ố ớ ữ ệ mô hình nh n d ng m u. Nó không ch ho t đ ng t t v i các d li u đ ượ c
ố ớ ả ữ ệ ế ớ ế phân tách tuy n tính mà còn t ề t v i c d li u phân tách phi tuy n. V i nhi u
ạ ế ả ố ả ử ụ ớ ệ ư ạ ơ bài toán, SVM mang l i k t qu t t nh m ng n ron v i hi u qu s d ng tài
ố ơ ẳ nguyên t t h n h n.
Hình 4: Bài toán SVM
ậ 1.3.4 Thu t toán Naive Bayes.
ề ạ ấ ậ ộ ị ạ Naive Bayes là m t thu t toán phân lo i cho các v n đ phân lo i nh phân
ễ ể ấ ớ ớ ỹ ượ ả ằ ậ (hai l p) và đa l p. K thu t này d hi u nh t khi đ c mô t b ng các giá
ị ầ ạ ặ ị tr đ u vào nh phân ho c phân lo i.
́ ậ ̣ ̣
̃ ươ ề ̣ ́ Có m t ộ thuât toan hay trong phân l p nhi phân là thu t toán Logistic ơ ̀ ́ u trong nhi u bài toán phân l p. ap dung nhiê ́ ng tiêp theo Regression ̀ ̀ em se trinh bay ớ Ch
̃ ậ ̀ ơ thu t toán này. ky h n vê
ử ả ậ ạ 2. Bài toán nh n d ng và x lý nh
ố ượ ạ ậ ạ ượ ể ộ Nh n d ng là quá trình phân lo i các đ i t ng đ ễ c bi u di n m t mô
ố ượ ộ ọ ứ ộ hình nào đó và gán chúng m t tên (gán cho đ i t ộ ng m t tên g i, t c là m t
ự ự ữ ậ ẫ ạ ậ ạ d ng) d a theo nh ng quy lu t và mâu thu n. Quá trình nh n d ng d a vào
ữ ẫ ọ ế ướ ọ ậ ầ ạ ọ nh ng mâu thu n h c bi ầ c g i là nh n d ng có th y hay h c có th y, t tr
ữ ườ ượ ạ ọ ầ ọ trong nh ng tr ợ ng h p ng i g i là h c không có th y. c l
ệ ố ố ủ ử ậ ả ậ ả ạ ạ ạ Nh n d ng nh là giai đo n cu i c a các h th ng x lý nh. Nh n d ng
ả ự ạ ậ ượ ề ậ ề ề ọ ế nh d a trên lý thuy t nh n d ng đã đ ậ c đ c p tr ng nhi u sách v nh n
ế ề ậ ậ ạ ả ạ ạ d ng. Trong lý thuy t v nh n d ng nói chung và nh n d ng nh nói riêng
ế ậ có ba cách ti p c n khác nhau:
ự ạ ạ ậ Nh n d ng d a trên phân ho ch không gian.
ấ ạ ậ ự Nh n d ng d a trên c u trúc.
ự ậ ạ ạ ậ ơ ỹ Nh n d ng d a vào k thu t m ng n ron.
ế ậ ế ậ ố ượ ể ầ ả Hai cách ti p c n đ u là cách ti p c n kinh đi n các đ i t ng nh quan sát
ậ ượ ả ả ử ạ ả ằ và thu nh n đ ề c ph i tr i qua giai đo n ti n x lý nh nh m tăng c ườ ng
ấ ượ ế ể ễ ế ọ ch t l ổ ng, làm n i các chi ti ặ t, ti p theo là trích ch n và bi u di n đ c
ư ứ ế ạ ạ ậ ớ ố ậ tr ng. Cu i cùng m i là giai đo n nh n d ng. Cách ti p c n th 3 là hoàn
ơ ế ữ ự ư ậ toàn khác. Nó d a vào c ch đoán nh n, l u tr và phân bi ệ ố ượ t đ i t ng mô
ủ ệ ầ ạ ộ ỏ ườ ơ ế ặ ệ ph ng theo ho t đ ng c a h th n kinh con ng i. Do c ch đ c bi t, các
ậ ị ườ ệ ả ầ ạ ố ượ đ i t ở ng thu nh n b i th giác ng i không c n giai đo n c i thi n mà
ẫ ư ạ ổ ữ ề ể ố ớ ợ ậ chuy n ngay sang giai đo n t ng h p, đ i sách v i các m u l u tr đ nh n
ạ d ng.
ơ ồ ổ ệ ố ậ ạ ả Hình 5. S đ t ng quan h th ng nh n d ng nh
ậ ạ ả Các bài toán nh n d ng nh:
ậ (cid:0) Nh n d ng ch vi ữ ế ạ t
ậ ạ (cid:0) Nh n d ng khuôn m t. ặ
ặ ể ắ ẻ ậ ạ (cid:0) Nh n d ng khuôn m t đ g n th trên facebook
(cid:0) ệ ữ ố ế Phân bi t hai ch s vi t tay .
ậ ạ ớ ủ ả (cid:0) Nh n d ng gi ặ i tính qua nh c a khuôn m t
ự ế ể ứ ử ậ ạ ả ồ ụ Đ ng d ng th c t cho bài toán nh n d ng và x lý nh thì trong đ án
ụ ể ậ ạ ớ ị ớ này em áp d ng bài toán phân l p nh phân đ nh n d ng gi ả i tính qua nh
là nam hay là n . ữ
ậ ạ ớ ả ặ 3. Bài toán nh n d ng gi i tính qua nh khuôn m t.
ớ ệ 3.1. Gi i thi u
ặ ượ ủ ệ ấ Vi c phân tích và trích xu t các thông tin c a khuôn m t đ c các nhà
ứ ừ ọ ế ỉ ướ ữ ủ ề khoa h c nghiên c u t nh ng năm 90 c a th k tr c. Đi u này là do có
ề ổ ượ ừ ộ ứ ả ặ ấ r t nhi u thông tin b ích đ c khai thác t m t b c nh khuôn m t, ví d ụ
ư ớ ủ ả ườ ạ ỏ nh danh tính, gi i tính, c m xúc c a con ng ứ i, tình tr ng s c kh e. Trong
ượ ừ ả ặ ườ ớ ộ ố s các thông tin đ c khai thác t nh m t ng i thì gi ộ i tính là m t thu c
ề ứ ự ế ụ ư ề tính quan trong vì nó có khá nhi u ng d ng trong th c t nh đi u tra dân
ố ố ố s và th ng kê dân s .
ệ ố ậ ạ ớ ượ ọ ộ ệ ồ ớ H th ng nh n d ng gi i tính còn đ c g i là m t h th ng phân l p gi ớ i
ề ả ấ ớ ị ườ ộ tính, v b n ch t thì nó là m t bài toán phân l p nh phân th ề ng có nhi u
ướ ỗ ướ ứ ế ả ộ b c và m i b c có m t ch c năng khác nhau và k t qu output c a b ủ ướ c
ủ ướ ẽ ế này s là input c a b c ti p theo.
ậ ạ ớ 3.2. Mô hình bài toán nh n d ng gi i tính
ậ ạ ớ ả Hình 6: Mô hình nh n d ng gi i tính qua nh.
ẽ ạ ậ ầ ớ ả ả Ph n này em s trình bày mô hình nh n d ng gi i tính qua nh xem nh đó
ư ộ ữ ệ ộ ữ ệ ữ ầ là nam hay n . Thì đ u tiên là ta đ a b d li u vào và chia b d li u ra
ớ ượ ầ ự ệ ướ c th c hi n theo các b c làm hai ph n train và test. Quá trình phân l p đ
sau.
ệ ấ B ớ ữ ệ c 1ướ : Hu n luy n mô hình phân l p d li u
ư ữ ệ ứ ả ượ ớ Ta đ a d li u là các b c nh đã đ c gán nhãn vào quá trình phân l p.
ỗ ứ ả ứ ả ư ư ặ ọ Trích ch n đ c tr ng cho m i b c nh. Sau đó ta đ a các b c nh vào mô
ệ ố ệ ế ấ ớ hình phân l p. Sau khi k t thúc cái quá trình hu n luy n, h th ng s l u l ẽ ư ạ i
ố ể ụ ụ ế ớ các tham s đ ph c v cho quá trình phân l p ti p theo.
ớ ữ ệ ử ệ B c 2ướ : Phân l p d li u – th nghi m mô hình.
ệ ữ ệ ở ướ ự ấ ế Sau khi xây d ng mô hình hu n luy n d li u b c 1: Ta ti n hành phân
ộ ứ ả ủ ứ ư ư ặ ớ ọ ị ớ l p v i m t b c nh đ a vào b che nhãn. Ta trích ch n đ c tr ng c a b c
ả ớ ư ừ ị ư ứ ả nh v a m i đ a vào. Sau đó đ a b c nh b che nhãn vào tính toán các
ố ủ ố ủ ế ị ể ệ ấ tham s c a hàm quy t đ nh (các tham s c a mô hình hu n luy n) đ xác
ứ ả ớ l p cho b c nh đó.
ƯƠ Ớ Ậ Ị CH NG II: THU T TOÁN PHÂN L P NH PHÂN LOGISTIC
REGRESSION
ớ 1.Gi ệ i thi u
ồ ộ ọ Mô hình h i quy logistic thu c vào bài toán h c giám sát trong Machine
Learning.
ế ẽ ế ầ ồ ổ Mô hình h i quy logistic s dùng hàm bi n đ i logarit cho bi n đ u ra đ ể
ế ừ ệ ế ế bi n mô hình t quan h phi tuy n tính sang tuy n tính. Hay nói cách khác,
ệ ồ ễ ể ướ nó bi u di n quan h h i quy tuyên tính d i hàm logarit. Mô hình logistic
ả ị ị ờ ạ ế ự ự ế ế ằ có 1 gi ỉ ấ đ nh r ng bi n d đoán có giá tr r i r c. N u bi n d đoán ch l y
ị ờ ạ ế ế hai giá tr r i r c, đó là mô hình Binary Logistic Regression. N u bi n d ự
ề ơ ị đoán nhi u h n hai giá tr thì đó là mô hình Multinomial Logistic Regression.
ỉ ậ ồ Trong đ án này, em ch t p trung vào Binary Logistic Regression vì nó r tấ
ượ ử ụ ự ế ự ữ ố hay đ c s d ng trong th c t ế d đoán: nam/n , có/không, s ng/ch t,
ươ ị ệ ị ệ qua/hay tr t, b b nh/ không b b nh.
ươ ự ằ ồ ồ ộ Ph ị ầ ng pháp h i quy logistic là m t mô hình h i quy nh m d đoán giá tr đ u
ứ ộ ớ ơ ầ ra r i r c ờ ạ (discrete target variable) y ng v i m t véct đ u vào ệ x. Vi c này
ươ ệ ầ ạ ớ ươ t ng đ ng v i chuy n phân lo i các đ u vào ươ ứ ng ng. x vào các nhóm y t
ự ậ ộ ớ Hay nói cách khác nó là m t thu t toán v i mô hình d đoán đ ượ ử ụ c s d ng
ớ ầ ế ặ ạ ị khi bi n y là phân lo i nh phân v i đ u ra là [1] ho c [0].
ụ 2. Ví d mô hình LogisticRegreession
ụ ề Hình 7: ví d v logistic regression
ố ế ư ế ẽ ạ ả Gi sả ử HPenguin mu n bi ự t, kh năng nó s h nh phúc nh th nào d a
ạ ộ ủ ế ố trên các ho t đ ng hàng ngày c a nó. ự ụ N u chim cánh c t mu n xây d ng
ạ ộ ể ự ự ồ ạ mô hình h i quy logistic đ d đoán h nh phúc d a trên các ho t đ ng hàng
ạ ộ ụ ầ ả ủ ngày c a nó. Chim cánh c t c n c ho t đ ng vui và bu n. ồ Trong thu tậ
ượ ố ầ ọ ọ ngữ h c máy ạ ộ , các ho t đ ng này đ c g i là các tham s đ u vào ( tính
năng ).
ộ ả ạ ộ ứ ụ ế ậ ạ ả ủ Vì v y, hãy t o m t b ng ch a các ho t đ ng chim cánh c t và k t qu c a
ạ ộ ho t đ ng đó nh ư vui hay bu n.ồ
ạ ộ ả TT Mô t
ạ ộ ho t đ ng chim cánh c tụ Ăn m cự Ăn cá nhỏ
ượ ủ L t c a penguin khác
1 2 3 4 Ho t đ ng chim cánh c tụ X1 X2 X3 X4 Ăn cua Hpenguin c mả ế ấ th y th nào Vui m ngừ Vui m ngừ Bu nồ Bu nồ
ẽ ử ụ ạ ộ ệ ể ấ Penguin s s d ng các ho t đ ng (tính năng) trên đ hu n luy n mô hình
ồ ượ ồ h i quy logistic. Sau đó, mô hình h i quy logistic đ ạ ẽ ự c đào t o s d đoán
ụ ố ớ ạ ộ ủ ụ ủ ớ ả c m giác c a chim cánh c t đ i v i các ho t đ ng c a chim cánh c t m i.
ể ử ụ ữ ệ ạ ở ả ự ể ồ Vì không th s d ng b ng d li u phân lo i trên đ xây d ng h i quy
ữ ệ ể ể ầ ả ạ ộ ổ ạ logistic. B ng d li u ho t đ ng trên c n chuy n đ i thành đi m ho t
ọ ượ ươ ứ ộ đ ng, tr ng l ụ ng và m c tiêu t ng ng.
ụ TT M c tiêu Mô t
Tr ngọ ngượ l ả ụ m c tiêu
1 2 3 4 ạ ộ Ho t đ ng ủ c a chim cánh c tụ X1 X2 X3 X4 Đi mể ho tạ đ ngộ 6 3 7 3 0.6 0.4 0.7 0.3 1 1 0 0 Vui m ngừ Vui m ngừ Bu nồ Bu nồ
ạ ộ ữ ệ ủ ả ụ Hình 8: B ng d li u ho t đ ng c a chim cánh c t
ư ế ữ ệ ậ ậ ậ ướ Các t p d li u c p nh t trông nh th này. Tr c khi đi vào bài toán, hãy
ữ ệ ề ả ể hi u thêm v b ng d li u trên.
(cid:0) Ho t đ ng chim cánh c t: ụ
ạ ộ
Các ho t đ ng chim cánh c t làm hàng ngày nh ăn cá nh , ăn
ạ ộ ụ ư ỏ
cua .. vv.
(cid:0) Đi m ho t đ ng:
ạ ộ ể
Đi m ho t đ ng gi ng nh s t
ư ố ươ ạ ộ ể ố ươ ớ ng đ ạ ộ ng v i ho t đ ng
ự ể ạ ố ớ ộ ủ c a chim cánh c t. ạ ụ Đ i v i ho t đ ng ăn m c, đi m ho t
ươ ứ ươ ự ố ớ ạ ộ ộ đ ng t ng ng là 6 và t ng t , đ i v i các ho t đ ng khác,
ể ố đi m s là 3, 7, 3.
(cid:0) ượ ọ Tr ng l ng:
Các tr ng s gi ng nh các tr ng s t
ố ố ố ươ ư ọ ọ ứ ụ ớ ng ng v i m c tiêu
ụ ể c th .
Gi
ả ử ạ ộ ọ ố s cho ho t đ ng X1, chúng ta có tr ng s là 0,6.
ụ ự ể ế ệ ạ ộ Nó có nghĩa là đ nói n u chim cánh c t th c hi n ho t đ ng
ườ ự ể ằ X1, ng i t ụ ẽ ạ tin 60% đ nói r ng chim cánh c t s h nh
phúc.
ụ ế ạ ố ớ ọ N u b n quan sát các tr ng s cho l p m c tiêu thì h nhạ
ự ụ ớ ố ọ phúc là tích c c và các tr ng s cho l p m c tiêu bu nồ là tiêu
c c.ự
ề ề ả ế ấ Đi u này là do v n đ chúng tôi đang gi ạ ộ i quy t m t phân lo i
ị ẽ ế ề ạ ầ ị nh phân. S nói v phân lo i nh phân trong các ph n ti p theo
(cid:0) M c tiêu: ụ
ủ c a bài này.
ụ ị ỉ ụ Giá tr 1 đ i di n cho m c
M c tiêu ch là các giá tr nh phân. ệ ị ụ ị ạ ị ạ và giá tr 0 đ i di n cho m c tiêu ạ tiêu H nh phúc ệ Bu nồ .
3. Mô hình Logistic Regression
ụ ể ư ộ Ta đi vào m t bài toán c th nh sau:
ố ự ị ự ậ ậ ộ Trong đó input nh n giá là s th c (vecto giá tr th c), còn output nh n m t
ữ ặ ớ ị ườ ư ỉ trong hai giá tr 0 ho c 1. V i nh ng hàm thông th ng nh (sin, cos) thì ch có
ể ế ổ ị ầ ừ ụ ị ị th bi n đ i giá tr đ u vào t ụ giá tr liên t c sang output cũng là giá tr liên t c.
ị ư ậ ậ ỉ ị V y nên thay giá tr output ch nh n giá tr nh trên, ta tách h(x) ra thành hàm
ệ ư ể ẽ ộ ồ riêng bi t. M t hàm s chuy n đ i input sang R [0,1], còn hàm th hai ta th ử
ặ ộ ưỡ ế ượ ệ nghi m v i ớ Linear Regression, đ t m t ng ng [0,1] n u v t qua ng ưỡ ng
ả ề ị ộ ố ượ thì tr v giá tr m t còn ng ượ ạ c l i thì tr v 0. ả ề Hàm s này đ ọ c g i là
Step Function.
ị ằ ị ưỡ Giá tr default khi h (x) có giá tr b ng chính xác ng ặ ng đ t ra.
ế ưỡ ả ả ề ế ế này, n u h(x) = threshold (ng ng) thì k t qu tr v là 1.
ẽ ấ ị ằ Trong ví dụ N u đ ý m t ộ ể ấ ả chút, ta s th y giá tr n m trong [0, 1], đây chính là xác su t x y ra y = 1,
ự ố Hay nói cách khác h(x) = P(y = 1). Nghĩa là ta đi xây d ng hàm s tính xác
ấ ố ượ ế su t đ i t ấ ng có nhãn là “dog”, n u xác su t >= 0.5 thì gán nhãn “dog” và
ố ượ ể ầ ỉ ng ượ ạ c l i. Và vì đ i t ng c n ki m tra ch là “dog” or “cat” nên ta có xác
ấ su t P (y = 0 ) + P(y = 1 ) = 1.
ỉ ệ ữ ố ầ ố ầ ử ệ ả ấ Xác su t là t l gi a s l n x y ra và s l n th nghi m, tuy nhiên khi phép
ộ ạ ượ ử ả ỉ th ch có 2 kh năng thì chúng ta còn có m t đ i l ể ng khác đ đánh giá
ố ượ ế ả ả ộ ọ ủ kh năng x y ra c a m t bi n c , đ c g i là odds (hay ratio). Trong bài
ượ ư toán này, ta có odds đ c tính nh trên.
ưỡ ặ Khi odds=1 nghĩa là h(x)=1 h(x). Đây chính là ng ng mà ta đ t ra.
ớ ớ ớ Khi odds >1 nghĩa là h(x) >1h(x) khi odds càng l n thì h(x) càng l n so v i
ế ế ấ ầ 1 h(x) hay h(x) càng ti n đ n g n 1 thì xác su t y=1 càng cao.
ấ Khi odds <1 nghĩa là h(x) < 1 – h(x) thì xác su t y=0 càng cao.
ộ ố ủ ạ ươ ả ị Bên c nh đó Logarit c a m t s nguyên d ng có giá tr trong kho ng [
ế ấ ủ ượ ẽ ∞ , +∞], nên n u l y logarit c a odds (đ
ằ ế ượ l ng bi n thiên nh θ
θ θ ả ượ ế ộ ạ ọ c g i là logit) ta s có m t đ i ư Tx (trong mô hình Linear Regression). Chú ý r ng khi Tx (nghĩa là θ cũng là vector, nên x ph i đ t là c vi
ể input là vector thì θ ị matrix chuy n v
ộ ườ ớ ặ ợ ệ ủ ậ nhân v i vector x, vector là m t tr ng h p đ c bi t c a matrix). V y nên
logit (odds) =.
ể ặ ể ố ta có th đ t tham s và input vào logit đ máy có th h c đ ể ọ ượ ừ ữ ệ c t d li u
ố ủ ế ộ ổ ẽ Bi n đ i m t chút s có hàm s c a h(x):
log (odds)=log (
= log (
=
(1h(x)) = h(x)
= h(x)(1+)
= =
odds = =
= g () =
g(z) =
ượ ọ ữ ộ Trong đó g (z) đ c g i là sigmoid function. Đây là m t trong nh ng hàm
ượ ử ụ ồ ị ư ổ ế ể ễ đ ạ c s d ng ph bi n trong ML, d ng bi u di n trên đ th nh sau:
Hình 9: Đ th ồ ị sigmoid function
ữ ệ ượ ạ ở Trong mô hình Logistic Regression, d li u đ ộ c phân tách các lo i b i m t
ố ụ ể hàm s . C th :
h(x) > 0.5 => y = 1
h(x) ?0.5 => y = 0
ưỡ ệ ữ có nghĩa h(x) = 0.5 là ng ng phân bi t gi a y = 0 và y =1. Hay nói cách
ố ườ ớ ữ ệ ữ ữ khác hàm s h(x) = 0.5 chính là đ ng ranh gi i gi a nh ng d li u y = 0 và
ượ ọ y = 1 (đ c g i là Decision Boundary) .
h(x) = 0.5
=> =0.5
=>
ụ ủ ữ ệ ỉ ớ ễ ể ồ ẳ Khi ta bi u di n d li u ch v i các tr c c a x (không bao g m y), ch ng
ữ ệ ạ h n trên d li u có 2 features ta có:
ườ ế ợ ỉ ườ ớ ỉ Trong tr ng h p này, ch là hàm tuy n tính nên đ ng ranh gi ộ i ch là m t
ườ đ ẳ ng th ng.
ƯƠ Ử Ạ Ậ Ớ CH Ệ NG III: TH NGHI M NH N D NG GI Ả I TÍNH QUA NH
Ộ Ữ Ệ Ử Ụ S D NG B D LI U AR FACE DATABASE
ườ ử ệ 1. Môi tr ng th nghi m
ặ 1.1 . Cài đ t python
ả 1.1.1. T i python
ả T i ả www.python.org/downloads và tìm phiên b n 2.7.16 click vào ‘ t ả i
ố xu ng’.
ấ ả ặ ố Sau khi n t i xu ng và ta click vào ‘trình cài đ t MSI x8464 MSI’
ờ ế ặ ấ Ch đ n khi gói cài đ t hoàn t t.
ặ 1.1.2 Cài đ t python
ả ơ ệ ể ố ộ ọ Khi t ấ i xu ng xong b m vào đ cài đ t. ư ụ ặ ch n m t th m c đích n i t p
ự ệ ở ọ python và t p th c thi s đ ẽ ượ ặ c đ t. đây em ch n lo i ạ C C \ \ Python27 th ư
ụ ủ m c c a mình.
ế ặ ấ cho đ n khi cài đ t hoàn t t.
ế ấ Nh p vào k t thúc
ặ 1.2. Cài đ t Pycharm
vào trang web: https://www.jetbrains.com/pycharm/download/sau đó click
ườ
ằ
ẫ
ướ
ụ
vào đ
ng d n “Download” n m d
i m c Community:
ả 1.2.1 T i Pycharm
1.2.2. Cài đăt Pycharm
ặ ấ ạ ậ ể ặ Khi quá trình cài đ t đã hoàn t t, ch y t p tin exe đ cài đ t PyCharm.
ươ ặ ẽ ượ ở ộ Ch ng trình cài đ t s đ c kh i đ ng. Click vào “Next”:
ổ ườ ặ ế ầ ẫ ế ế Trên màn hình ti p theo, thay đ i đ ng d n cài đ t n u c n thi t. Sau đó
click vào “Next”:
ọ ạ ể ự ể ượ ế ạ ộ Trên màn hình ti p theo, b n có th l a ch n t o m t bi u t ng trên màn
ế ạ ố hình desktop n u b n mu n và sau đó click “Next”:
ư ụ ự ọ ọ ế ụ ự L a ch n th m c Start Menu. Ti p t c l a ch n JetBrains sau đó click vào
“Install”:
ờ ợ ớ ặ ế Ch đ i cho t i khi quá trình cài đ t k t thúc.
ạ ẽ ặ ế ậ ượ Khi quá trình cài đ t k t thúc, b n s nh n đ c thông báo trên màn hình
ượ ế ụ ử ế ạ ạ ặ ố rang PyCharm đã đ c cài đ t. N u b n mu n ti p t c và ch y th nó,
click vào ô “Run PyCharm Community Edition”, sau đó click “Finish”.
ẽ ệ ạ Sau khi b n click vào “Finish”, màn hình sau s hi n ra:
1.3 Cài đ t b th vi n
ặ ộ ư ệ
numpy
scipy
matplotlib
sklearn
pillow
ử ệ 2 Th Nghi m
ộ ữ ệ 2.1 B d li u
ộ ữ ệ ể Vì lý do em không th có b d li u AR face database. Nên em đã s ử
ồ ươ ứ ụ d ng b ộ ơ ở ữ ệ em t c s d li u ự ạ bao g m h n t o ả ơ 25 nh màu t ớ ng ng v i
ớ ỗ ứ ả khuôn m t c a ặ ủ 10 ng ữ i (ườ 5 nam, 5 n ). V i m i ng ườ 5 b c nh đ i, ượ v iớ c
ể ả ặ ắ s c thái bi u c m khuôn m t khác nhau .
ả ượ ư ữ ướ ạ Hình nh nam đ c l u tr d i d ng: Mxxxyy.png
ữ ớ ư N gi i nh : Wxxxyy.png
ủ ườ ‘xxx’ là xxx là id c a ng i
ủ ả ỉ ị ượ ủ ừ “yy” ch đ nh các tính năng c a t ng hình nh; ý nghĩa c a nó đ c mô t ả ở
ả b ng sau:
ể ệ 1. Bi u hi n trung bình
2. C iườ
ậ ứ 3. T c gi n
4. Há mi ngệ
ộ ơ ở ữ ệ ứ ả ữ ơ B c s d li u bao g m ồ 25 b c nh t ữ ừ 5 nam và 5 n . H n n a, các
ượ ị ớ ặ khuôn m t cũng đã đ c xác đ nh chính xác và đ ượ cropped v i kích th c ướ c
ằ ươ ượ ả 11292(pixel) b ng ph ng pháp đ c mô t trong bài báo PCA veus LDA.
ự ế ử ụ ả ầ ử ỏ ư ộ Tôi xin b qua ph n x lý này và tr c ti p s d ng nh đã cropped nh m t
ụ ướ ố s ví d d i đây:
ụ ẫ Hình 10: Các ví d m u trong AR face database
ỗ ứ ả ọ ượ ặ M i b c nh trong AR Face thu g n đ c đ t tên d ướ ạ Gxxxyy.png. i d ng
ậ ộ Trong đó: G nh n m t trong hai giá tr ị M (man) ho cặ W (woman); xxx là id
ườ ậ ụ ệ ậ i, nh n gía tr t ề ị ừ 001 đ nế 005; yy là đi u ki n ch p, nh n giá tr ị
ệ ề ủ c a ng từ 01 đ nế 06, trong đó các đi u ki n có s th t ố ứ ự ừ 01 đ nế 06 là các khuôn t
ặ ặ ị ở m t không b che b i kính ho c khăn. ề m iỗ đi u ki n ệ này là m tộ view.
2.2 Cách th nghi m
ử ệ
ụ ể ậ ấ ả Đ làm ví d cho thu t toán Logistic Regression, em l y nh c a ủ 3 nam và 3
ậ ữ ạ ớ ữ ầ n đ u tiên làm t p training set; 2 nam và 2 n còn l ỗ i làm test set. V i m i
. ỉ ấ ở ị ng ặ i, ườ em ch l y các khuôn m t không b che b i kính và khăn
ỗ ứ ả ố ướ 3x112x92 (s channels c 3,
Feature Extraction: vì m i b c nh có kích th ề ộ 92). 112, chi u r ng ề chi u cao
(cid:0) ể ả ề ả Chuy n nh màu v nh xám theo công th c ứ Y' = 0.299 R + 0.587 G
+ 0.114 B.
(cid:0) ả ượ ố Kéo dài nh xám thu đ c thành 1 vector hàng có s chi u ề 112x92,
ể ả ố ử ụ sau đó s d ng m t ề ộ random projection matrix đ gi m s chi u
về 500.
ờ Và bây gi ệ ớ ta làm vi c v i python:
ử ụ ư ệ Em s d ng hàm sklearn.linear_model.LogisticRegression trong th vi n
ử ệ sklearn cho bài th nghi m này.
ủ ụ 2.3 Các th t c
Khai báo th vi n ư ệ
ự ọ Phân chia training set và test set, l a ch n các views.
T oạ random projection matrix.
. ự Xây d ng danh sách các tên files
ữ ệ ự Feature Extraction: Xây d ng d li u cho training set và test set.
ệ ự ủ ự ậ
ế ả ộ ỏ th c hi n thu t toán Logistic Regression, d đoán output c a test data và ư ệ đánh giá k t qu . M t chú ý nh , hàm Logistic Regression trong th vi n
ể ử ụ ề ế ể ậ sklearn có nhi u bi n th khác nhau. Đ s d ng thu t toán Logistic
ớ ệ Regression thu nầ mà tôi đã gi i thi u trong bài Logistic Regression, chúng ta
ặ ị ộ ố ớ ả ủ ể ầ ớ ầ c n đ t giá tr cho ị C là m t s l n đ ngh ch đ o c a nó g n v i 0.
3 Đánh giá
ớ ộ ơ ở ữ ệ ử ệ ế ạ ả ớ Sau khi th nghi m v i b c s d li u thì k t qu phân l p đ t 65%
ể ệ ố ớ ấ ả ỗ ả ề ớ ộ ị Đ i v i m i nh có th hi n th xác su t nh đó thu c v gi i tính nam
ữ ầ hay n bao nhiêu ph n %.
ả ượ ằ ụ ề ế Hình 11: Ví d v k t qu tìm đ c b ng Logistic Regression
ƯƠ Ậ CH Ế NG IV: K T LU N
ả ạ ượ ủ ề ữ ế Nh ng k t qu đ t đ c c a đ tài:
Đã tìm hi u các ki n th c v Machine Learning.
ứ ề ể ế
Các bài toán phân l p đ c bi
ặ ớ ệ ị ớ t là bài toán phân l p nh phân, cùng
ổ ế ộ ố ậ ớ m t s thu t toán phân l p ph bi n.
Đã tìm hi u k thu t toán Logistic Regression
ể ậ ỹ
Đã áp d ng thu t toán Logistic Regression đ nh n d ng đ
ụ ể ậ ạ ậ ượ c gi ớ i
ớ ỷ ệ ả tính qua nh v i t l cao 65 %.
ề ế ề ấ ắ ả ạ ồ H n ch : Trong qua trình làm đ án em còn m c ph i nhi u v n đ : Nh ư
ứ ề ề ẻ ế ể ặ ậ ớ ờ tìm hi u v thu t toán còn g p nhi u khó khăn, ki n th c còn m i m , th i
ạ ế gian còn h n ch .
ế ụ ướ ứ ề ậ H ng phát tri n: em ti p t c nghiên c u các thu t toán Machine Leaning
ụ ậ và áp d ng thu t toán Logicstic Regression trong các bài toán khác.
ệ ồ ố ế ứ ể ố ắ ệ ự Trong quá th c hi n đ án t ể t nghi p, em đã c g ng h t s c đ tìm hi u,
ỏ ớ ạ ữ ả ọ h c h i vì kh năng còn gi ỏ i h n, không tránh kh i nh ng sai sót, nên có
ả ề ặ ấ ấ ể ư th ch a gi i quy t đ ế ượ ấ ả c t t c các v n đ đ t ra. Em r t mong nh n đ ậ ượ c
ủ ạ ả ầ ả ơ . ự s thông c m c a quý th y cô và các b n. Em xin chân thành c m n
[1] Sebastia Raschka, Python Machine Learning, 2015.
Ả Ệ TÀI LI U THAM KH O
ơ ả ữ ệ ọ ỹ ậ [2] Vũ H u Ti p, Machine Learning c b n, NXB Khoa H c Và K Thu t,
[3] https://machinelearningcoban.com/2017/02/11/binaryclassifiers/
2018.
[4] https://machinelearningcoban.com/2017/01/27/logisticregression/
[5] https://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems.
[6] https://machinelearningcoban.com/general/2017/02/06/featureengineering/