ƯỜ

Ạ Ọ

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ớ :  55k1­CNTT

ướ

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éc­t đ 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) >1­h(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 (

  =

  (1­h(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 x84­64 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: M­xxx­yy.png

ữ ớ ư N  gi i nh : W­xxx­yy.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 ướ ạ  G­xxx­yy.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/