Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 23

Trí tuệ nhân tạo và ứng dụng

Thành viên nhóm:


Lê Công Luận MSSV: 20172673 GVHD: Võ Lê Cường
Nguyễn Xuân Hiếu MSSV: 20172559
Nguyễn Đức Toàn MSSV: 20172854
I . Tổng quan về
machine learning
1.1 Định nghĩa
“Một chương trình máy tính được gọi là “học” từ kinh
nghiệm E để hoàn thành nhiệm vụ T với hiệu quả được đo
bằng phép đánh giá P, nếu hiệu quả của nó khi thực hiện
nhiệm vụ T, khi được đánh giá bởi P, cải thiện theo kinh
nghiệm E”.
Theo Herbert Simon.
- Để xây dựng một chương trình máy tính có khả
năng học, ta cần xác định rõ ba yếu tố:
+ nhiệm vụ
+ phép đánh giá
+ nguồn dữ liệu huấn luyện.
1.2 Dữ liệu

a. Điểm dữ liệu.

+ nhiệm vụ trong machine learning được mô tả thông qua việc một hệ thống
xử lý một điểm dữ liệu đầu vào như thế nào.
+ Một điểm dữ liệu có thể là: một bức ảnh, một đoạn âm thanh, một văn bản
hoặc một tập các hành vi của con người trên internet.
+ Các điểm dữ liệu thường được đưa về dạng tập hợp các con số mà mỗi số
được gọi là một đặc trưng (feature)
b. Tập dữ liệu

- bộ dữ liệu thường được chia ra làm ba tập dữ liệu không giao nhau:
+ tập huấn luyện: bao gồm các điểm dữ liệu được sử dụng để xây dựng mô
hình.
+ tập kiểm tra: gồm các dữ liệu được dùng dùng để dánh giá hiệu quả của mô
hình.
+ tập xác thực: gồm các dữ liệu được dùng để xác thực của mô hình.
1.3 Phân nhóm các thuật toán machine
learning.
a. Học có giám sát (supervised
learning)
- thuật toán dự đoán đầu ra(outcome) của một dữ
liệu mới(new input)dựa trên các cặp (input,
outcome)đã biết từ trước. Cặp dữ liệu này được gọi
là (data, label), tức (dữ liệu, nhãn). Là nhóm phổ biến
nhất trong các thuật toán machine learning.
b. Học không giám sát
- dữ liệu huấn luyện chỉ bao gồm các dữ liệu đầu vào
x mà không có đầu ra tương ứng. Các thuật toán
machine learning có thể không dự đoán được đầu ra
nhưng vẫn trích xuất được những thông tin quan
trọng sựa trên mối liên quan giữa các diểm dữ liệu.
Các thuật toán trong nhóm này được gọi là học
không giám sát.
c. Học bán giám sát.
- Ranh giới giữa học có giám sát và
học không giám sát đôi khi không rõ
ràng. Có những thuật toán mà tập
huấn luyện bao gồm các cặp (đầu vào,
đầu ra) và dữ liệu khác chỉ có đầu vào.
Những thuật toán này được gọi là học
bán giám sát
d. Học củng cố
- không yêu cầu dữ liệu huấn luyện mà
mô hình học cách ra quyết định bằng
cách giao tiếp với môi trường xung
quanh. Các thuật toán thuộc nhóm này
liên tục ra quyết định và nhận phản hồi
từ môi trường để tự củng cố hành vi.
1.4 Thiết kế một hệ thống máy
- Thiết kế một hệ thống học máy phải trải qua các quá trình:
+ Chọn kinh nghiệm đào tạo
+ Chọn chính xác những gì sẽ được học
+ Chọn cách thể hiện chức năng đích
+ Chọn thuật toán học để từ đó suy ra được chức năng đích
- Tất cả các thuật toán Machine learning đều có ba thành phần chính là: Biểu
diễn, tối ưu và đánh giá.
- Một số hàm biểu diễn:
+ Chức năng số : Hồi quy tuyến tính, mạng lưới thần kinh, hỗ trợ máy vector
+ Chức năng symbolic: cây quyết định, các quy tắc trong logic
+ Mô hình đồ họa xác suất: Mạng Bayes, mô hình Markov
Một số thuật toán tối ưu
+ Lập trình động: học HMM, học PCFG
+ Chia và quản lý: cây quyết đinh, các quy luật học
+ Tiến hóa : thuật toán di chuyền(GA), Lập trình di truyền (GP), Tiến hóa thần
kinh
Phép đánh giá:
+ Độ chính xác
+ Entropy
+ Chi phí/ tiện ích
1.5 Lịch sử phát triển của machine learning

- 1950 - Nhà bác học Alan Turing đã tạo ra "Turing Test (phép thử Turing)" để
xác định xem liệu một máy tính có trí thông minh thực sự hay không.
- 1952 - Arthur Samuel đã viết ra chương trình học máy (computer learning)
đầu tiên.
- 1957 - Frank Rosenblatt đã thiết kế mạng nơron (neural network) đầu tiên
cho máy tính, trong đó mô phỏng quá trình suy nghĩ của bộ não con người.
- 1967 - Thuật toán "nearest neighbor" đã được viết, cho phép các máy tính
bắt đầu sử dụng những mẫu nhận dạng (pattern recognition) rất cơ bản.
- 1985 - Terry Sejnowski đã phát minh ra NetTalk, nó có thể học cách phát âm
các từ giống như cách một đứa trẻ tập nói.
- 1990s - Machine Learning đã dịch chuyển từ cách tiếp cận hướng kiến thức
(knowledge-driven) sang cách tiếp cận hướng dữ liệu (data-driven).
- 1997 - Deep Blue của hãng IBM đã đánh bại nhà vô địch cờ vua thế giới.
- 2006 - Geoffrey Hinton đã đưa ra một thuật ngữ "deep learning" để giải thích
các thuật toán mới cho phép máy tính "nhìn thấy" và phân biệt các đối tượng
và văn bản trong các hình ảnh và video.
- 2011 - Máy tính Watson của hãng IBM đã đánh bại các đối thủ là con người
tại Jeopardy.
- 2014 - Facebook phát triển DeepFace, một phần mềm thuật toán có thể nhận
dạng hoặc xác minh các cá nhân dựa vào hình ảnh ở mức độ giống như con
người có thể.
- 2015 - Hơn 3.000 nhà nghiên cứu AI và Robotics đã ký vào một bức thư ngỏ
để cảnh báo về sự nguy hiểm của vũ khí tự động trong việc lựa chọn và tham
gia vào các mục tiêu mà không có sự can thiệp của con người.
II . Decision Tree (Cây
quyết định)
2. 1 Giới thiệu
- Cây quyết định là gì:
Cây quyết định là mô hình phân loại có dạng cây
 Mỗi nút trung gian (không phải lá) chứa một thuộc tính, mỗi nhánh của nút
chứa giá trị của thuộc tính tại nút đó
 Mỗi nút lá ứng với một nhãn phân loại
Quá trình phân loại thực hiện như sau:
 Phân loại từ nút gốc xuống dưới
 Tại mỗi nút trung gian, thuộc tính thương ứng với nút được kiểm tra, tùy giá
trị thuộc tính ví dụ được chuyển xuống nhánh tương ứng
 Khi tới nút lá ví dụ được nhận nhãn phân loại
2.2 Function

 - Đặt vấn đề:


+ X là tập các thuộc tính có thể xảy ra
+ Y là tập các nhãn. Y Ꞓ {leaf}
+ f: X  Y là các hàm mục tiêu không xác định
+ H = {h|h: X  Y} là tập các hàm giả thuyết
- Đầu vào: Thử các ví dụ của hàm mục tiêu không xác định
{(xi,yi)} với i chạy từ 1 đến n = {(x1,y1), ….(xn,yn)}
- Đầu ra: h Ꞓ H, gần đúng với f nhất
2.3 Mô hình cây quyết định

- Mỗi nút: kiểm tra một thuộc tính


- Mỗi nhánh: chứa một giá trị của thuộc
tính
- VD: Tập các thuộc tính X =
{“Outlook”, “Humidity”, “Wind”}
Tập các giá trị của thuộc tính “Outlook”
(các nhánh) : {“Sunny”, “Overcast”,
“Rain”}
- Nút lá: chứa các nhãn phân loại Y =
{“Yes”, “No”}
2.4 Các giai đoạn trong học
máy

- Đầu vào :Tập các dữ liệu huấn luyện


được gán nhãn X,Y
X, Y = {(xi, yi)} với I từ 1 đến n
Với mỗi thuộc tính xi thuộc D(x) xác
định một yi = f(target)(xi)
- Train model
- Áp dụng model vào dữ liệu mới: Với
thuộc tính mới x qua model có thể dự
đoán được y
2.5 Expressiveness

- Cây quyết định có thể thay thế hàm


boolen

A B A XOR B
F F F
F T T
T F T
T T F
2.6 Thuật toán top-down cơ bản, xây dựng cây quyết
định

2.6.1 Thuật toán ID3


Xây dựng lần lượt các nút của gây từ nút gốc
Main loop:
1. Xác định thuộc tính quyết định tốt nhất cho nút tiếp theo
2. A là tập các giá trị của thuộc tính cho nút
3. Với mỗi giá của A, tạo ra một nút mới
4. Sắp xếp các ví dụ đào tạo thành các nút lá
5. Khi tất cả các thuộc tính được dùng ở các nút phái trên tức là không còn
thuộc tính nào để tiến hành phân nhanh tiếp. Khi đó cây phân nhánh
hoàn hảo, dừng vòng lặp
Nếu không, lặp lại trên các nút lá mới
2.6.2 Cách chọn thuộc tính tốt nhất

Việc chọn thuộc tính tốt nhất có thể giúp cây quyết định có chiều sâu ngắn nhất. Thời
gian đưa ra quyết định ngắn nhất
Một số cách chọn:
 Random: Chọn ngẫu nhiên
 Least Values: Chọn thuộc tính có số lượng giá trị thỏa mãn nhỏ nhất
 Most Values: Chọn thuộc tính có số lượng giá trị thỏa mãn lớn nhất
 Max Gain; Chọn thuộc tính có sự gia tăng thông tin mong đợi lớn nhất
2.6.2.1 Tính toán entropy
Entropy H(X) với biến X bất kỳ:

Entropy có điều kiện cụ thể H (X | Y = v) của X


cho trước Y = v:

Entropy có điều kiện H (X | Y) của X cho trước Y:

Độ tăng thông tin:


2.6.2.2 Ví dụ chọn thuộc tính tốt nhất
 Tính toán ví dụ
Với giá trị “Sunny” : 2+, 3-
Suy ra Entropy = - = 0.971
 Xét thuộc tính Humidity:
High [D1,D2, D8] : 0+, 3- Suy ra E = 0
Normal [D9,D11]: 2+, 0- Suy ra E = 0
Gain(Sunny|Humidity) = 0.971 – (
 Xét thuộc tính Temp:
Hot [D1,D2]: 0+, 2- Suy ra E = 0
Mild [D8, D11]: 1+, 1- Suy ra E = = 1
Cool [D9]: 1+ Suy ra E = 0
Gain(Sunny|Temp) = 0.971 – (
 Xét thuộc tính Wind :
Weak [D1,D8,D9]: 1+, 2- Suy ra E =
Strong [D2,D11]: 1+, 1- Suy ra E = = 1
Gain(Sunny|Wind) = 0.971 – () = 0.019
Như vậy thuộc tính Humidity có độ tăng thông tin lớn nhất, vì thế chọn thuộc tính Humidity

You might also like