Học máy
Bách khoa toàn thư mở Wikipedia
Học máy, có tài liệu gọi là Máy học, (tiếng Anh: machine learning) 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).
Mục lục |
[sửa] 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).
[sửa] 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 độ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).
[sửa] Các chủ đề về học máy
Danh sách các chủ đề của môn học này:
- Mô hình hóa các hàm mật độ xác suất điều kiện (conditional probability density functions): hồi quy và phân loại
- Mạng nơ-ron
- Cây quyết định
- Gene expression programming
- Lập trình di truyền
- Gaussian process regression
- Linear discriminant analysis
- k láng giềng gần nhất
- Minimum message length
- Perceptron
- Radial basis function
- Support vector machine
- Mô hình hóa các hàm mật độ xác suất qua các generative model:
- Thuật toán cực đại kì vọng (expectation-maximization algorithm)
- Các mô hình đồ họa gồm mạng Bayes và mạng Markov (Markov random field)
- Generative Topographic Mapping
- Các kỹ thuật suy diễn xấp xỉ đúng (appromixate inference techniques):
- Chuỗi Markov phương pháp Monte Carlo
- 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.
[sửa] Xem thêm
- Trí tuệ nhân tạo
- Trí tuệ tính toán (Computational intelligence)
- Khai phá dữ liệu
- Nhận dạng mẫu
- Các ẩn bản quan trọng trong học máy (khoa học máy tính)
- Các ấn bản quan trọng trong học máy (thống kê)
- Rô-bốt tự hành
- Lập trình suy diễn lô-gic
[sửa] Tham khảo
- Bishop, C. M. (1995). Neural Networks for Pattern Recognition, Oxford University Press. ISBN 0198538642
- Richard O. Duda, Peter E. Hart, David G. Stork (2001) Pattern classification (2nd edition), Wiley, New York, ISBN 0471056693.
- MacKay, D. J. C. (2003). Information Theory, Inference, and Learning Algorithms, Cambridge University Press. ISBN 0521642981
- Mitchell, T. (1997). Machine Learning, McGraw Hill. ISBN 0070428077
- Sholom Weiss and Casimir Kulikowski (1991). Computer Systems That Learn, Morgan Kaufmann. ISBN 1-55860-065-5
[sửa] Liên kết ngoài
[sửa] Tài nguyên chung
- UCI description
- MLnet Mailing List
- Kmining List of machine learning, data mining and KDD scientific conferences
- Book "Intelligent Systems and their Societies" của Walter Fritz
- Links from Open Directory Project
- Eruditionhome - nơi chứa nhiều mục đề về Học máy
- MLpedia - Từ điển bách khoa wiki dành riêng cho chủ đề Học máy
[sửa] Tạp chí và Hội thảo
- Journal of Machine Learning Research
- Machine Learning Journal
- Machine Learning papers tại CiteSeer
- NIPS: Neural Information Processing Systems
- ICML: International Conference on Machine Learning
[sửa] Nhóm nghiên cứu
- Machine Learning tại Đại học Hebrew
- Machine Learning and Natural Language Processing tại Đại học Freiburg
- Machine Learning and Data Mining in Bioinformatics Group tại TU München
- Machine Learning and Biological Computation Group tại Đại học Bristol
- Machine Learning and Applied Statistics của Microsoft Research
- Department of Knowledge Technologies của Học viện Jozef Stefan
- Statistical Multimedia Learning Group tại Đại học British Columbia
- Machine Learning Systems Group tại Jet Propulsion Laboratory, Học viện Kỹ thuật California
- Department of Empirical Inference tại Max Planck Institute for Biological Cybernetics, Tübingen
- Machine Learning Group tại Đại học Toronto
- Intelligent Data Analysis Group tại Fraunhofer FIRST, Berlin
- Machine Learning Group tại Đại học Tự do Bruxelles
[sửa] Phần mềm
- SPIDER - một hộp công cụ học máy hoàn chỉnh cho Matlab
- PRTools PRTools là một gói phần mềm hoàn chỉnh khác tương tự SPIDER và được cài trong Matlab. SPIDER có vẻ có nhiều hỗ trợ mức thấp, nhưng các công cụ của PRTools có phần đa dạng hơn. PRTools có sách và tài liệu tốt. Cả SPIDER và PRTools được cung cấp miễn phí trên mạng cho các ứng dụng phi thương mại.
- Orange, bộ chương trình học máy với các script viết bằng Python và giao diện lập trình đồ họa
- YALE là một công cụ mạnh miễn phí cho Học máy và Khai phá dữ liệu
- Weka Machine Learning Software
- Matlab MATLAB có hỗ trợ hộp công cụ cho nhiều công cụ học máy. Hiện giờ hộ công cụ Tin sinh học đã có Support Vector Machines và các bộ phân loại KNN (k láng giềng gần nhất). Hộp công cụ thống kê thực hiện biệt thức tuyến tính và phân loại bằng cây quyết định. Hộp công cụ mạng nơ-ron là một bộ công cụ hoàn chỉnh để cài đặt mạng nơ-ron. Trong thời gian gần đây, các phương pháp mới để đánh giá hiệu quả của các bộ phân loại và để thẩm định chéo đã làm Matlab trở nên hấp dẫn hơn đối với học máy.
- MLC++ là thư viện lớp C++ dành cho học có giám sát
- MDR là một gói phần mềm nguồn mở dành cho việc phát hiện các tương tác thuộc tính bằng phương pháp multifactor dimensionality reduction (MDR).