Mặc dù học vẫn còn là một vấn đề khó, nhưng sự thành công của một số chương trình học máy thuyết phục rằng có thể tồn tại một tập hợp các nguyên tắc học tổng quát cho phép xây dựng nên c
Trang 1Semi – supervised learning
1.4 Tương tác với con người
II QUÁ TRÌNH HỌC MÁY
2.1 Quá trình trích tri thức từ dữ liệu
2.2 Phân loại học
2.3 Dữ liệu
2.4 Giao thức
2.5 Tiêu chuẩn thành công
2.6 Không gian biểu diễn
2.7 Bản chất của các thuộc tính
2.8 Tiền xử lý dữ liệu
2.10 Tập mẫu
2.11 Tìm kiếm trong không gian giải thuyết
III CÁC LOẠI GIẢI THUẬT TRONG MÁY
3.1 Các loại giải thuật
1.2 Khái niệm về học nửa giám sát
II MỘT SỐ GIẢI THUẬT TRONG HỌC NỬA GIẤM SÁT
2.1 Generative Models
2.1.1 Giới thiệu về “Generative Models”
2.1 Generative Models trong Semi - supervised learning
2.1.3 Ưu điểm và nhược điểm của giải thuật
Trang 2ẢNH
I GIẢI THUẬT SELF – TRAINING
1.1 Giới thiệu về Self – training
1.2 Giải thuật
1.3 Đánh giá giải thuật
II BÀI TOÁN NHẬN DẠNG KÝ TỰ TRÊN ẢNH
2.1 Phân tích bài toán
2.2 Hướng giải quyết bài toán
I KẾT QUẢ BAN ĐẦU ĐÃ ĐẠT ĐƯỢC
II HƯỚNG PHÁT TRIỂN
SEMI – SUPERVISED LEARNING
MỤC LỤC
Semi – supervised learning 1
Chương I: GIỚI THIỆU VỀ MÁY HỌC 4
( Machine learning ) 4
I GIỚI THIỆU: 5
1.1Định nghĩa ‘học’ 5
1.2 Khái niệm về học máy 7
1.3 Các tiếp cận học 7
1.4 Tương tác với con người 8
II QUÁ TRÌNH HỌC MÁY 8
2.1 Quá trình trích tri thức từ dữ liệu 8
2.2 Phân loại học 9
2.3 Dữ liệu 9
2.4 Giao thức 9
2.5 Tiêu chuẩn thành công 9
2.6 Không gian biểu diễn 10
2.7 Bản chất của các thuộc tính 10
Trang 32.8 Tiền xử lý dữ liệu 11
2.10 Tập mẫu 11
2.11 Tìm kiếm trong không gian giải thuyết 12
III CÁC LOẠI GIẢI THUẬT TRONG MÁY 12
3.1 Các loại giải thuật 12
3.2 Các chủ đề về học máy 13
Chương II: HỌC NỬA GIÁM SÁT 15
(Semi-supervised learning ) 15
I TỔNG QUAN 15
1.1 Giới thiệu về học có giám sát (supervised learning) và không có giám sát (unsupervised learning) 15
a Học có giám sát: 15
b Học không có giám sát: 18
1.2 Khái niệm về học nửa giám sát 19
II MỘT SỐ GIẢI THUẬT TRONG HỌC NỬA GIẤM SÁT 20
2.1 Generative Models 20
2.1.1 Giới thiệu về “Generative Models” 20
2.1 Generative Models trong Semi - supervised learning 20
2.1.3 Ưu điểm và nhược điểm của giải thuật 23
2.1.5 Ứng dụng của mô hình 23
2.2 Semi – superviesd Suport vector machines 24
2.2.1 Giới thiệu về S3VM 24
2.2.2 Giải thuật S3MV 25
2.2.3 Kết luận về S3VM 26
2.3 Self-training 27
CHƯƠNG III SELF – TRAINING VÀ BÀI TOÁN NHẬN DẠNG KÝ TỤ TRÊN ẢNH 28
I GIẢI THUẬT SELF – TRAINING 28
1.1 Giới thiệu về Self – training 28
1.2 Giải thuật 28
1.3 Đánh giá giải thuật 29
II BÀI TOÁN NHẬN DẠNG KÝ TỰ TRÊN ẢNH 29
2.1 Phân tích bài toán 29
2.2 Hướng giải quyết bài toán 29
I KẾT QUẢ BAN ĐẦU ĐÃ ĐẠT ĐƯỢC 31
II HƯỚNG PHÁT TRIỂN 31
Trang 4NHẬN XÉT CỦA HỘI
Chương I: GIỚI THIỆU VỀ MÁY HỌC
( Machine learning )
Trang 5I GIỚI THIỆU:
Khi được hỏi về những kỹ năng thông minh nào là cơ bản nhất đồng thời khó tự động hóa nhất của con người ngoài các hoạt động sáng tạo nghệ thuật, hành động ra quyết định mang Trãi qua nhiều năm, hai lĩnh vực này vẫn là mục tiêu, thách thức của khoa học TTNT
Tầm quan trọng của việc học thì không cần phải tranh cãi, vì khả năng học chính là một trong những thành tố quan trọng của hành vi thông minh Mặc
dù tiếp cận hệ chuyên gia đã phát triển được nhiều năm, song số lượng các
hệ chuyên vẫn còn hạn chế Một trong những nguyên nhân chủ yếu là do quá trình tích lũy tri thức phức tạp, chi phí phát triển các hệ chuyên gia rất cao, nhưng chúng không có khả năng học, khả năng tự thích nghi khi môi trường thay đổi Các chiến lược giải quyết vấn đề của chúng cứng nhắc và khi có nhu cầu thay đổi, thì việc sửa đổi một lượng lớn mã chương trình là rất khó khăn Một giải pháp hiển nhiên là các chương trình tự học lấy cách giải quyết vấn đề từ kinh nghiệm, từ sự giống nhau, từ các ví dụ hay từ những
‘chỉ dẫn’, ‘lời khuyên’,
Mặc dù học vẫn còn là một vấn đề khó, nhưng sự thành công của một số chương trình học máy thuyết phục rằng có thể tồn tại một tập hợp các nguyên tắc học tổng quát cho phép xây dựng nên các chương trình có khả năng học trong nhiều lĩnh vực thực tế
1.1 Định nghĩa ‘học’
Theo Herbert Simon: ‘Học được định nghĩa như là bất cứ sự thay đổi nào trong một hệ thống cho phép nó tiến hành tốt hơn trong lần thứ hai khi lặp
Trang 6lại cùng một nhiệm vụ hoặc với một nhiệm vụ khác rút ra từ cùng một quần thể các nhiệm vụ đó’
Định nghĩa này mặc dù ngắn nhưng đưa ra nhiều vấn đề liên quan đến việc phát triển một chương trình có khả năng học Học liên quan đến việc khái quát hóa từ kinh nghiệm: hiệu quả thực hiện của chương trình không chỉ cải thiện với ‘việc lặp lại cùng một nhiệm vụ’ mà còn với các nhiệm vụ tương
tự Vì những lĩnh vực đáng chú ý thường có khuynh hướng là to lớn, nên các
chương trình học – (learner) chỉ có thể khảo sát một phần nhỏ trong toàn bộ
các ví dụ có thể; từ kinh nghiệm hạn chế này, chương trình học vẫn phải khái quát hóa được một cách đúng đắn những ví dụ chưa từng gặp trong lĩnh
vực đó Đây chính là bài toán quy nạp (induction), và nó chính là trung tâm
của việc học Trong hầu hết các bài toán học, dữ liệu luyện tập sẵn có thường không đủ để đảm bảo đưa ra được một khái quát hóa tối ưu, cho dù chương trình học sử dụng giải thuật nào Vì vậy, các giải thuật học phải khái
quát hóa theo phương pháp heuristic, nghĩa là chúng sẽ chọn một số khía
cạnh nào đó mà theo kinh nghiệm là cho hiệu quả trong tương lai để khái
quát Các tiêu chuẩn lựa chọn này gọi là thiên lệch quy nạp (inductive bias)
Có nhiều nhiệm vụ học (learning task) khác nhau Nhiệm vụ của chương
trình học là học một khái quát (generalization) từ một tập hợp các ví dụ Học khái niệm (concept learning) là một bài toán học quy nạp tiêu biểu: cho
trước một số ví dụ của khái niệm, chúng ta phải suy ra một định nghĩa cho phép người dùng nhận biết một cách đúng đắn những thể hiện của khái niệm
đó trong tương lai
Một số khái niệm:
Học thuộc lòng
Học tăng cường
Trang 7 Tìm kiếm trong họkhái niệm giải thích tốt nhất dữliệu
Lựa chọn BIAS là một sự thoả hiệp
1.2 Khái niệm về học máy
Học máy (còn gọi là Máy học) là một lĩnh vực của trí tuệ nhân tạo liên quan
đến việc phát triển các kĩ thuật cho phép các máy tính có thể "học" Cụ thể hơn, học máy là một phương pháp để tạo ra các chương trình máy tính bằng việc phân tích các tập dữ liệu Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán Nhiều bài toán suy luận được xếp vào loại bài toán NP-khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ
mà có thể xử lí được
Học máy có tính ứng dụng rất cao bao gồm máy truy tìm dữ liệu, chẩn đoán
y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, chơi trò chơi và cử
động rô-bốt (robot locomotion).
1.3 Các tiếp cận học
Có ba tiếp cận học: tiếp cận ký hiệu (symbol-based learning), tiếp cận mạng neuron hay kết nối (neural or connectionist networks) và tiếp cận nổi trội (emergent) hay di truyền và tiến hóa (genetic and evolutionary learning)
Trang 8Các chương trình học thuộc tiếp cận dựa trên ký hiệu biểu diễn vấn đề dưới
dạng các ký hiệu (symbol), các giải thuật học sẽ tìm cách suy ra các khái quát mới, hợp lệ, hữu dụng và được biểu diễn bằng các ký hiệu này
Ngược lại với tiếp cận ký hiệu, tiếp cận kết nối không học bằng cách tích lũy các câu trong một ngôn ngữ ký hiệu Giống như bộ não động vật chứa một
số lượng lớn các tế bào thần kinh liên hệ với nhau, mạng neuron là những hệ thống gồm các neuron nhân tạo liên hệ với nhau Tri thức của chương trình
là ngầm định trong tổ chức và tương tác của các neuron này
Tiếp cận thứ ba là tiếp cận nổi trội mô phỏng cách thức các hệ sinh học tiến hóa trong tự nhiên, nên còn được gọi là tiếp cận di truyền và tiến hóa
1.4 Tương tác với con người
Một số hệ thống học máy nỗ lực loại bỏ nhu cầu trực giác của con người trong việc phân tích dữ liệu, trong khi các hệ thống khác hướng đến việc tăng sự cộng tác giữa người và máy Không thể loại bỏ hoàn toàn tác động của con người vì các nhà thiết kế hệ thống phải chỉ định cách biểu diễn của
dữ liệu và những cơ chế nào sẽ được dùng để tìm kiếm các đặc tính của dữ liệu Học máy có thể được xem là một nỗ lực để tự động hóa một số phần của phương pháp khoa học Một số nhà nghiên cứu học máy tạo ra các
phương pháp bên trong các framework của thống kê Bayes (Bayesian statistics).
II QUÁ TRÌNH HỌC MÁY
2.1 Quá trình trích tri thức từ dữ liệu
Làm sạch dữ liệu
Sử dụng một phương pháp học để đề nghị mô hình
Hợp thức hoá mô hình được đề nghị
Trang 9 Giám sát / không giám sát
Giới thiệu các ví dụ cho học:
Trang 102.6 Không gian biểu diễn
Không gian biểu diễn, ký hiệu X, các phần tử của nó được gọi là các
dữ liệu / các thể hiện / cácđối tượng / các ví dụ
Mỗi phần tử x thuoc X được biểu diễn bởi một tập k thuộc tính ( bộ
Trang 11 Dãy các phần tử trong một alphabet Σ
Không gian biểu diễn:
Thuần nhất ( thuộc tính cùng kiểu)
Trộn ( mixte)
2.8 Tiền xử lý dữ liệu
Chọn thuộc tính mô tả dữ liệu
Chọnthuộctính( feature selection ): Loại bỏ các thuộc tính ít phù hợp đối với việc học Đích là làm giảm số chiều
Trích / xây dựng thuộc tính ( feature construction ): giảm số chiều không gian đầu vào bằng các phép biến đổi ( tuyến tính hoặc không) các thuộc tính khởi đầu Đích là giảm số chiều của vấn đề và xây dựng biến tổng hợp ( kể đén các tương tác)
Xử lý nhiễu: Lỗi thuộc tính mô tả hoặc nhãn–phát hiện bất thường bàng visualization, sử dụng chuyên gia Thay thế các dữ liệu thiếu
2.9 Rời rạc hoá dữ liệu liên tục
- Một số thuật toán học không có khả năng xử lý trực tiếp các thuộc tính liên tục Cần thiết biến đổi các thuộc tính liên tục thành thuộc tính giá trị rời rạc
- Một số phương pháp giả thiết dữ liệu tuân theo một luật phân phối ( Gauss , đều…) → Rời rạc thành các khoảng phân phối tương ứng với các phân phối đó
- Một số phương pháp rời rạc hoá khác: phân đoạn, đo lường entropy, …
Trang 122.11 Tìm kiếm trong không gian giải thuyết
-Mỗi khi không gian giả thiết H đã được lựa chọn, học trở thành tìm kiếm giả thiết tốt nhất trong H
-Nếu có một sự đánh giá mỗi giả thiết bởi một hàm "giá", có thể xét học như
một vấn đề tối ưu hoá: Tìm phần tử của H làm tối ư u hàm "giá".
• Tối ưu không ràng buộc & Tối ưu với ràng buộc
Hàm tối ưu rất thường dùng là hàm "lỗi"
- Các phương pháp tối ưu hoá: Gradient, Nhân tử Lagrange, Annealing
III CÁC LOẠI GIẢI THUẬT TRONG MÁY
3.1 Các loại giải thuật.
Các thuật toán học máy được phân loại theo kết quả mong muốn của thuật toán Các loại thuật toán thường dùng bao gồm:
• Học có giám sát (supervised learning) trong đó, thuật toán tạo ra
một hàm ánh xạ dữ liệu vào tới kết quả mong muốn Một phát biểu chuẩn về một việc học có giám sát là bài toán phân loại: chương trình cần học (cách xấp xỉ biểu hiện của) một hàm ánh xạ một vector
tới một vài lớp (class) bằng cách xem xét một số ví
dụ mẫu dữ_liệu- kết_quả của hàm đó
• Học không giám sát (unsupervised learning) mô hình hóa một tập
dữ liệu, không có sẵn các ví dụ đã được gắn nhãn
• Học nửa giám sát (semi-supervised learning) kết hợp các ví dụ có
gắn nhãn và không gắn nhãn để sinh một hàm hoặc một bộ phân loại thích hợp
• Học tăng cường (reinforcement learning) trong đó, thuật toán học
một chính sách hành động tùy theo các quan sát về thế giới Mỗi hành
Trang 13động đều có tác động tới môi trường, và môi trường cung cấp thông tin phản hồi, các thông tin này hướng dẫn thuật toán học
• transduction tương tự học có giám sát nhưng không xây dựng hàm Thay vào đó, cố gắng đoán kết quả mới dựa vào dữ liệu huấn luyện, kết quả huấn luyện, và dữ liệu mới
• Học cách học (learning to learn) trong đó thuật toán học thiên kiến quy nạp (inductive bias) của chính mình, dựa theo các kinh nghiệm đã
gặp
Phân tích hiệu quả các thuật toán học máy là một nhánh của ngành thống kê,
được biết với tên lý thuyết học tính toán (computational learning theory).
o Gaussian process regression
o Linear discriminant analysis
o k láng giềng gần nhất
o Minimum message length
o Perceptron
o Radial basis function
o Support vector machine
• Mô hình hóa các hàm mật độ xác suất qua các generative model:
Trang 14o Thuật toán cực đại kì vọng (expectation-maximization algorithm)
o Các mô hình đồ họa gồm mạng Bayes và mạng Markov
(Markov random field)
o Generative Topographic Mapping
• Các kỹ thuật suy diễn xấp xỉ đúng (appromixate inference techniques):
o Chuỗi Markov phương pháp Monte Carlo
o Variational method
• Tối ưu hóa: hầu hết các phương pháp trên đều sử dụng tối ưu hóa hoặc
là các thể hiện của các thuật toán tối ưu hóa
Trang 15Chương II: HỌC NỬA GIÁM SÁT
Học có giám sát là một kĩ thuật của ngành học máy để xây dựng một hàm
(function) từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm
đối tượng đầu vào (thường dạng vec-tơ), và đầu ra mong muốn Đầu ra của một hàm có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (gọi là phân loại) Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương ứng) Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một cách "hợp lí"
Học có giám sát có thể tạo ra 2 loại mô hình Phổ biến nhất, học có giám sát
tạo ra một mô hình toàn cục (global model) để ánh xạ đối tượng đầu vào đến
đầu ra mong muốn Tuy nhiên, trong một số trường hợp, việc ánh xạ được thực hiện dưới dạng một tập các mô hình cục bộ (như trong phương pháp lập
luận theo tình huống (case-based reasoning) hay giải thuật láng giềng gần
nhất)
Trang 16Để có thể giải quyết một bài toán nào đó của học có giám sát người ta phải xem xét nhiều bước khác nhau:
1 Xác định loại của các ví dụ huấn luyện Trước khi làm bất cứ điều gì, người kĩ sư nên quyết định loại dữ liệu nào sẽ được sử dụng làm ví
dụ Chẳng hạn, đó có thể là một kí tự viết tay đơn lẻ, toàn bộ một từ viết tay, hay toàn bộ một dòng chữ viết tay
2 Thu thập tập huấn luyện Tập huấn luyện cần đặc trưng cho thực tế sử dụng của hàm chức năng Vì thế, một tập các đối tượng đầu vào được thu thập và đầu ra tương ứng được thu thập, hoặc từ các chuyên gia hoặc từ việc đo đạc tính toán
3. Xác định việc biễu diễn các đặc trưng đầu vào cho hàm chức năng cần tìm Sự chính xác của hàm chức năng phụ thuộc lớn vào cách các đối tượng đầu vào được biểu diễn Thông thường, đối tượng đầu vào được chuyển đổi thành một vec-tơ đặc trưng, chứa một số các đặc trưng nhằm mô tả cho đối tượng đó Số lượng các đặc trưng không nên quá lớn, do sự bùng nổ tổ hợp (curse of dimensionality); nhưng phải đủ
lớn để dự đoán chính xác đầu ra
4 Xác định cấu trúc của hàm chức năng cần tìm và giải thuật học tương ứng Ví dụ, người kĩ sư có thể lựa chọn việc sử dụng mạng nơ-ron nhân tạo hay cây quyết định
5. Hoàn thiện thiết kế Người kĩ sư sẽ chạy giải thuật học từ tập huấn
luyện thu thập được Các tham số của giải thuật học có thể được điều
chỉnh bằng cách tối ưu hóa hiệu năng trên một tập con (gọi là tập kiểm chứng -validation set) của tập huấn luyện, hay thông qua kiểm chứng chéo (cross-validation) Sau khi học và điều chỉnh tham số, hiệu năng