Computer - nên dịch là máy tính hay máy điện toán - tại sao?
Thử đi tìm câu trả lời xem có tìm được không? :D
2014/11/28
--------------------------
Học là gì?[1]
Học là hành động thu nhận cái mới; thay đổi hoặc phát triển
cái đã có, như: tri thức, kĩ năng, giá trị, hoạt động, sở thích; tiếp thu các
loại thông tin.
[Learning is the act of acquiring new, or modifying and
reinforcing, existing knowledge, behaviors, skills, values, or preferences and
may involve synthesizing different types of information.]
Các đối tượng có thể học?
Con
người (humans)
Động
vật (animals)
Máy
móc (machines)
[The ability to learn is possessed by humans, animals and
some machines. Progress over time tends to follow learning curves. Learning is
not compulsory; it is contextual.]
Đặc điểm của quá trình học (quá trình nhận thức)
Quá trình nhận thức không diễn ra chỉ trong một lần, mà nó
là một quá trình. Đối tượng học sẽ tiếp thu cái mới dựa trên nền các cái đã
biết.
[It does not happen all at once, but builds upon and is
shaped by what we already know. To that end, learning may be viewed as a
process, rather than a collection of factual and procedural knowledge. Learning
produces changes in the organism and the changes produced are relatively
permanent.]
Định nghĩa máy học
Máy học, hay học máy (machine learning) là một lĩnh vực của trí
tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép
các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ
thể. Ví dụ như các máy có thể "học" cách phân loại thư điện tử xem có
phải thư rác (spam) hay không và tự động xếp thư vào thư mục tương ứng. Học máy
rất gần với suy diễn thống kê (statistical inference) tuy có khác nhau về thuật
ngữ.
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 hiện nay được áp dụng rộng rãi, 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, dịch tự
động, chơi trò chơi và cử động rô-bốt (robot locomotion).
Dưới góc nhìn của trí tuệ nhân tạo, động lực chính của học
máy là nhu cầu thu nhận tri thức (knowledge acquisition). Thật vậy, trong nhiều
trường hợp ta cần kiến thức chuyên gia nhưng thực tế lại khan hiếm (không đủ
chuyên gia ngồi phân loại thẻ tín dụng lừa đảo của tất cả giao dịch hàng ngày)
hoặc chậm vì một số nhiệm vụ cần đưa ra quyết định nhanh chóng dựa trên xử lý
dữ liệu khổng lồ (trong mua bán chứng khoán, phải quyết định trong vài khoảng
khắc của giây chẳng hạn) và thiếu ổn định thì buộc phải cần đến máy tính. Ngoài
ra, đại đa số dữ liệu sinh ra ngày nay chỉ phù hợp cho máy đọc (computer readable)
tiềm tàng nguồn kiến thức quan trọng. Máy học nghiên cứu cách thức để mô hình
hóa bài toán cho phép máy tính tự động hiểu, xử lý và học từ dữ liệu để thực
thi nhiệm vụ được giao cũng như cách đánh giá giúp tăng tính hiệu quả.
Tom Mitchell, giáo sư nổi tiếng của Đại học Carnegie Mellon
University - CMU định nghĩa cụ thể và chuẩn mực hơn như sau: "Một chương
trình máy tính CT được xem là học cách thực thi một lớp nhiệm vụ NV thông qua
trải nghiệm KN, đối với thang đo năng lực NL nếu như dùng NL ta đo thấy năng
lực thực thi của chương trình có tiến bộ sau khi trải qua KN" (máy đã
học).
Biểu diễn trong máy học
Biểu diễn (tiếng Anh: representation) là một trong những vấn đề quan trọng
của học máy. Biểu diễn ở đây có thể hiểu làm sao ghi mã (encode) những thông
tin của thế giới thật giúp hoàn thành nhiệm vụ một cách hiệu quả và đầy đủ nhất
có thể. Thông tin ở đây bao hàm cả thông tin về dữ liệu đầu vào, đầu ra hay các
trạng thái của hệ thống; cũng như cách đánh giá hiệu quả của chương trình.
Thông thường, trong học máy người ta hay xây dựng các mô hình sử dụng những biến
ngẫu nhiên cho việc biểu diễn dữ liệu và nội trạng thái của hệ thống.
Ví dụ:
dùng biến ngẫu nhiên để biểu thị cho tính chất của email là spam (tương ứng giá
trị 0) hay là bình thường (tương ứng 1). Mối tương quan giữa các biến ngẫu
nhiên này có thể sử dụng ví dụ như mô hình xác suất dạng đồ thị để miêu tả. Mặt
khác, để đo hiệu quả có thể dùng các hàm thiệt hại (hay hàm tiện ích, trong
tiếng Anh là
loss function và
utility function tương ứng).
Tính phổ quát
Một trong những trọng tâm khác của học máy là đạt được tính
phổ quát (tiếng Anh: generalization), nói cách khác là tính chất của chương
trình có thể làm việc tốt với dữ liệu mà nó chưa gặp bao giờ (tiếng Anh: unseen
data). Một chương trình chỉ hiệu quả với dữ liệu đã gặp, nhìn chung không có
nhiều tính hữu dụng.
Lấy ví dụ về xếp thư điện tử tự động như trên, một hệ thống
tự động, sau khi trải qua quá trình học từ dữ liệu ("training") có
thể suy diễn một số nguyên tắc riêng (chẳng hạn như xem xét nội dung: nếu thư
được viết bằng tiếng Anh mà chứa một số từ như "porn",
"sell", "good product" hoặc người gửi đến từ Somalia trong
khi người nhận ở Hà Nội không thân quen nhau) để quyết định xem có phải là thư
rác hay không. Tuy nhiên, nếu như trong dữ liệu huấn luyện (training data) có
ngôn ngữ khác trong thực tế (tiếng Việt thay vì tiếng Anh) hoặc thậm chí không
phải dạng thuần văn bản (dạng ảnh khiến cho bóc tách nội dung khó hơn hoặc
không thể) thì rất có thể máy sẽ dự báo không chính xác nữa.
Một số chương trình có thể tự động cập nhật trong thời gian
thực (ví dụ như người sử dụng có chỉ ra rằng thư bị sắp xếp sai danh mục).
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
khuôn khổ của thống kê Bayes.
Tương quan với Khai phá dữ liệu
Khai phá dữ liệu và học máy là hai khái niệm hay bị nhầm
lẫn. Hai lĩnh vực này nhìn chung gần với nhau và đôi khi dùng chung nhiều
phương pháp, công cụ nhưng khác biệt chính là ở mục tiêu:
Khai
phá dữ liệu: thường mục tiêu là tìm kiếm những thông tin, tri thức hoàn toàn
mới tiềm năng có ích trong nguồn dữ liệu.
Học
máy: dự đoán một số thông tin của dữ liệu dựa trên những đặc tính đã biết.
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: 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
bằng cách xem xét một số mẫu dữ liệu - kết quả của hàm đó.
Học
không giám sát: 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: 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: 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 để hướng dẫn cho thuật toán của quá trình học.
Chuyển
đổi: tương tự học có giám sát nhưng không xây dựng hàm một cách rõ ràng. Thay
vì thế, cố gắng đoán kết quả mới dựa vào các dữ liệu huấn luyện, kết quả huấn
luyện, và dữ liệu thử nghiệm có sẵn trong quá trình huấn luyện.
Học
cách học: trong đó thuật toán học thiên kiến quy nạp 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 điện toán.
Các chủ đề về học máy
Danh sách các chủ đề về học máy:
Mô
hình hóa các hàm mật độ xác suất điều kiện: hồi quy và phân loại
o Mạng
nơ-ron
o Cây
quyết định
o Lập
trình biểu thức gen
o Lập
trình di truyền
o Hồi
quy quá trình Gauss
o Phân
tích biệt thức tuyến tính
o k
láng giềng gần nhất
o Độ
dài thông điệp tối thiểu
o Cảm
tri nguyên
o Hàm
cơ sở xuyên tâm
o Máy
vector hỗ trợ (Support Vector Machine)
Mô
hình hóa các hàm mật độ xác suất qua các mô hình phát sinh:
o Thuật
toán cực đại kì vọng
o Các
mô hình đồ họa gồm mạng Bayes và mạng Markov
o Ánh
xạ topo phát sinh
Các
kỹ thuật suy luận xấp xỉ đúng:
o
Chuỗi
Markov phương pháp Monte Carlo
o Phương
pháp biến thiên
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.
Học khái niệm
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.
Ví dụ: thế nào là một thư rác? Định nghĩa? -> đó là khái
niệm.
Tại sao các hệ chuyên gia vẫn còn nhiều 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.
Quy nạp là gì?
Quy nạp là kết luận đi từ trường hợp riêng đi tới trường hợp
tổng quát. Nghĩa là, kết luận tổng quát dựa trên việc nghiên cứu các tính chất
của nhiều sự kiện, nhiều thí nghiệm hay nhiều quan sát riêng lẻ. Nếu kết luận
chung dựa vào nghiên cứu tất cả các sự kiện riêng (các đối tượng, các hình, các
số, vv…) thì quy nạp được gọi là đầy đủ hay hoàn chỉnh. Nếu kết luận chung dựa
vào nghiên cứu một phần của tâp hợp tất cả các sự kiện (các đối tượng) thì quy
nạp được gọi là không đầy đủ hay không hoàn chỉnh.