Tải bản đầy đủ (.pdf) (25 trang)

Bộ đề cương câu hỏi ôn tập Trí tuệ nhân tạo và ứng dụng AI

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.43 MB, 25 trang )

PHẦN TÌM KIẾM ...................................................................................................2
Phần 1: Breadth – first search ................................................................................2
Phần 2: Uniform-Cost Search ................................................................................4
Phần 3: Depth-First search .....................................................................................5
Phần 4: Deep-Limited search .................................................................................6
Phần 5: Iterative deepning search ..........................................................................7
Phần 6: Greedy search ...........................................................................................7
Phần 7: A* Astar search .........................................................................................9
PHẦN ML ...............................................................................................................10
Phần 1: Decision Trees ........................................................................................10
Phần 2: Linear Regression ...................................................................................14
Phần 3: Logistic Regression................................................................................18
Phần 4: SVM ........................................................................................................21

1


PHẦN TÌM KIẾM
Phần 1: Breadth – first search
Câu 1: Nêu ưu điểm và nhược điểm của thuật toán Breadth-first
search
Ưu điểm: Hồn chỉnh vì duyệt qua tất cả các đỉnh, chắc chắn tìm ra được con
đường đi qua ít nút nhất

Nhược điểm: Độ phức tạp bộ nhớ cao hơn do có lưu lại bằng hàng đợi

Câu 2: Tính độ phức tạp về thời gian của thuật toán Breadth-First
search khi b = 3 và d = 10.
Độ phức tạp về thời gian: 𝑂 ሺ𝑏 𝑑+1 ሻ= 𝑂ሺ311 ሻ
Độ phức tạp về bộ nhớ: 𝑂ሺ𝑏 𝑑+1 ሻ= 𝑂 ሺ311 ሻ
Câu 3: Mô tả thuật tốn Breadth-First search để tìm được Goal của


cây dưới đây (Bắt đầu tại A, Goal là điểm F) ở hình dưới đây:

Khởi tạo Q=[A]
Lấy ra A, A chưa là F, đưa vào các nút kề Q=[B, C, D]
Lấy ra B, B chưa là F, đưa vào các nút kề Q=[C, D, E, F]
2


Lấy ra C, C chưa là F, đưa vào các nút kề, Q=[ D, E, F]
Lấy ra D, D chưa là F, đưa vào các nút kề, Q=[ E, F]
Lấy ra E, E chưa là F, đưa vào các nút kề, Q=[F]
Lấy ra F, F chính là đích ->Kết thúc

Câu 4: Sửa code phần “Breath-first tree search": Thành phố nào đã
đi qua 1 lần rồi thì khơng mở rộng đến thành phố đó nữa (khơng xét
thành phố đó nữa ở các bước tiếp theo)

Câu 5: Sửa code phần “1. Breath-first tree search": ban đầu, khi mở
rộng, không kiểm tra các node con là goal hay chưa -> sửa thành kiểm
tra node con là goal thì dừng và trả về đường đi từ gốc đến goal

3


Phần 2: Uniform-Cost Search
Câu 1: Trình bày điểm khác nhau giữa thuật toán Uniform-Cost
Search và Bread-First Search?
Điểm giống nhau: Đều sử dụng hàng đợi để lưu danh sách nút sẽ duyệt
Điểm khác nhau:
UCS: Việc tìm kiếm bắt đầu tại nút gốc và tiếp tục bằng cách duyệt các nút tiếp

theo với trọng số hay chi phí thấp nhất tính từ nút gốc. Dùng cho các đồ thị có
trọng số. Hàng đợi sử dụng là hàng đợi ưu tiên
BFS: Việc tìm kiếm bắt đầu tại nút gốc và tiếp tục bằng cách duyệt các nút kề
không theo thứ tự nhất định

Câu 2: Với điều kiện nào thì Thuật tốn Uniform-Cost Search tương
đương với thuật toán Breadth-First Search.
Khi trọng số của đồ thị tương đương với số bước di chuyển giữa các nút = 1
Thì 2 thuật tốn tương đương nhau

Câu 3: Giải thích cách hoạt động của Uniform-cost search trong hình
vẽ với điểm xuất phát Zerind và đíchCraiova?

Lay ra Zenind, Q=[ (Oradas, 71), (Arad, 75) ]
4


Lay ra Oradas, Q=[(Arad,75), (Sibiu,222) ]
Lay ra Arad, Q[ (Timisoara, 193), (Sibiu, 222) ]
Lay ra Timisoara, Q=[ (Sibiu, 222), (Lugoj, 304) ]
Lay ra Sibiu, Q[ (Rimnicu, 295), (Lougoj, 304), (Faragas ,314) ]
Lay ra Rimnicu, Q=[ (Lougoj, 304), (Faragas, 314), (Pitesti, 392), (Cairova, 441)]
Lay ra Lougoj, Q=[ (Faragas, 314), (Mehadia, 374), (Pitesti, 392), (Cairova, 441)]

Lay ra Faragas, Q=[ (Mehadia, 374), (Pitesti, 392), (Cairova, 441)(Bucharest,...)]
Lay ra Mehadia, Q=[ (Pitesti, 392), (Cairova, 441), (Bucharest,...), …]
Lay ra Pitesti, Q=[ (Cairova,441), ...]
Lay ra Cairova. Ket thuc

Câu 4: Sửa code để phần “6. Uniform-cost search" trong code

“search.ipynb" để ưu tiên mở rộng node có khoảng cách từ gốc đến
node đó là xa nhất trước.

Câu 5: Sửa code để phần “6. Uniform-cost search" trong code
“search.ipynb" để tìm đường đến đích qua ít thành phố nhất. Nhận
xét sau khi sửa giống thuật toán nào

Phần 3: Depth-First search
Câu 1. Nêu ưu điểm và nhược điểm của thuật toán Depth-first search
5


Ưu điểm: Độ phức tạp bộ nhớ thấp, chiếm rất ít. Nếu đi đúng hướng sẽ tới được
nút đích nhanh nhất
Nhược điểm: Dễ mắc vào các vịng lặp vơ hạn

Câu 2: Trong trường hợp nào thuật tốn Depth_First search khơng
thể tìm được Goal?
Khi tồn tại chu trình làm xảy ra vịng lặp vơ hạn, hoặc cây có độ sâu vơ hạn

Câu 3: Tính tốn độ phức tạp Space cua thuật toán Depth-First
search khi b = 5, m = 16 và d = 7.
Độ phức tạp bộ nhớ của DFS: 𝑂(𝑏𝑚)=𝑂(5∗16)=𝑂(80)

Câu 4. Sửa code phần “2. Depth-first tree search": thành phố nào đã
đi qua 1 lần rồi thì khơng mở rộng đến thành phố đó nữa

Phần 4: Deep-Limited search
6



Câu 1: Thuật toán depth-limited search được đưa ra để giải quyết
vấn đề gì của thuật tốn depth-first search?
Tìm kiếm giới hạn chiều sâu khắc phục được vấn đề vòng lặp vơ hạn, khi sâu đến
độ sâu tối đa, nó sẽ quay lại nên vòng lặp sẽ dừng.

Câu 2: Thuật tốn Deep-Limited search có trường hợp khơng tìm
được Goal hay khơng? Nếu có hãy nêu ra VD.
Khi nút goal nằm ở độ sâu > độ sâu tối đa sẽ không tìm được

Câu 3: Trình bày sự khác nhau giữa thuật tốn Deep-Limited search
và thuật tốn Uniform-Cost search?
Tiêu chí đánh giá

Uniform-Cost search

Deep-Limited search

Độ ổn định
Độ phức tạp về thời gian
Độ phức tạp về khơng gian
Tối ưu



Có nếu l≥d
𝑑

𝑏
𝑏𝑑



𝑏𝑙
b.l
Khơng

Phần 5: Iterative deepning search
Câu 1: Trinh bày điểm tối ưu của thuật toán Iterative Deepning
search so với thuật toán Deep-Limited search? Liệu rằng Thuật tốn
Iterative Deepning search có trường hợp khơng tìm được Goal hay
khơng?
Tìm kiếm sâu dần khắc phục nhược điểm của thuật tốn tìm kiếm giới hạn độ sâu,
đó là khi nút đích ở q độ sâu giới hạn t thì khơng tìm được. Bằng cách tăng dần
độ sâu giới hạn t đến khi tìm được đích
Như vậy sẽ ln tìm được, vấn đề chỉ là thời gian

Phần 6: Greedy search
Câu 1: Trình bày điểm khác nhau giữa 2 thuật tốn Greedy search
và Breadth-First search?

7


Thứ tự các nút ở trong hàng đợi của Tìm kiếm tham lam được sắp xếp theo trọng
số là giá trị của hàm h(n), chứ không phải thứ tự duyệt như Tìm kiếm theo chiều
rộng

Câu 2: Hãy tìm đường đi từ thành phố Oradea đến thành phố
Bucharest sử dụng thuật toán Greedy search.
Kết quả: Ban dau Q=[(Oradea, 363)]

Lay ra Oreda, Q=[ (Sibiu, 232), (Zenind,..)]

Lay ra Sibiu, Q=[ (Faragas, 154), (Zenind,…), (Rimi,...)]
Lay ra Faragas, Q= [ (Burcharest, 0), ... ]
Lay ra Burcharest. Ket thuc

Câu 3: Tính tốn hàm heuristic function cho bài toán dưới đây theo
hai cách: (h1) number of misplaced tiles ; (h2) total Manhattan
distance. So sánh hai hàm h1, h2, hàm nào tốt hơn cho các bài tốn
tìm kiếm?

h1(S)= number of misplaced tiles = 6
h2(S) = total manhattan distance
= 2 + 0 + 3 + 1 + 0 + 1 + 3 + 4 = 14
8


Câu 4: Tại sao gọi thuật toán Greedy search là thuật tốn tham
vọng(Greedy)? Greedy search có tối ưu hay khơng?
Gọi là tham lam vì nó khơng xét đến tối ưu tồn cục mà chỉ tính ở trạng thái hiện
tại. Do đó kết quả cuối cùng khơng phải là kết quả tối ưu nhất

Phần 7: A* Astar search
Câu 1. Chứng minh breadth-first search, depth-first search, và
uniform-cost search là các trường hợp đặc biệt của best-first search.
Tùy ta đánh giá “best” là như thế nào mà sẽ có được các thuật tốn khác:
BFS: duyệt cùng độ sâu từ nhỏ nhất trước (dùng hàng đợi)
DFS: duyệt độ sâu lớn nhất trước (dùng ngăn xếp)
UCS: duyệt theo cost nhỏ nhất/lớn nhất (dùng hàng đợi ưu tiên)


Câu 2: So sánh hàm đánh giá giữa hai phương pháp A* search và
gready search
Tìm kiếm tham lam chỉ tính tối ưu cục bộ chi phí ước tính của đường đi ngắn nhất
từ nó đến trạng thái đích đích. Cịn A* xét thêm chi phí từ trạng thái khởi tạo tới
trạng thái nó. Nên A* chắc chắn sẽ được quãng đường tối ưu

Câu 3. Chứng minh Uniform-cost search là một trường hợp đặc biệt
của A* search
f(n)= g(n) + h(n)
Khi h(n) = 0 , f(n) = g(n) và A* trở thành UCS
Do thuật toán UCS chỉ xét khoảng cách từ nút gốc đến nút hiện tại

9


PHẦN ML
Phần 1: Decision Trees
Câu 1: Cho bảng dữ liệu dưới đây:

Áp dụng thuật toán ID3 cho dữ liệu huấn luyện được cung cấp trong bảng trên.
Tính tốn mẫu cho nút đầu tiên (root).
Entropy(Root)=−𝑝ሺ𝐻ሻ 𝑙𝑜𝑔2 𝑝ሺ𝐻ሻ − 𝑝ሺ𝐼ሻ 𝑙𝑜𝑔2 𝑝ሺ𝐼ሻ − 𝑝ሺ𝑆ሻ 𝑙𝑜𝑔2 𝑝ሺ𝑆ሻ −
1

1

2

2


2

2

2

2

𝑝ሺ𝐵ሻ 𝑙𝑜𝑔2 𝑝ሺ𝐵ሻ = − log 2 ( ) − log 2 ( ) − log 2 ( ) − log 2 ( ) = 𝟏, 𝟗𝟓𝟎
7
7
7
7
7
7
7
7
• Xét Thuộc tính Fever
IG(fever) = Entropy ሺ𝑅𝑜𝑜𝑡ሻ − ∑𝑣∈ ሺ fever ሻ  

|𝑆𝑣 |
|𝑆|

2

3

7

7


= Entropy ሺ𝑅𝑜𝑜𝑡ሻ − [ Entropy ሺ no ሻ +

Entropy ሺ𝑆𝑣 ሻ

Entropy ሺ average ሻ +

2
7

Entropy

ሺ high ሻ] = 1,950-(2/7 * 1 + 3/7 * 1.585 + 2/7 * 1)= 0,699
• Xét thuộc tính Vomiting
IG(vomiting) = Entropy ሺ𝑅𝑜𝑜𝑡ሻ − ∑𝑣∈ ሺ vomiting ሻ  
3

4

7

7

= Entropy ሺ𝑅𝑜𝑜𝑡ሻ − [ Entropy ሺ yes ሻ +

|𝑆𝑣 |
|𝑆|

Entropy ሺ𝑆𝑣 ሻ


Entropy ሺ no ሻ ] = 1,950 - (3/7 *

0.918 + 4/7 * 1.5)= 0,699
• Xét thuộc tính Diarrhea
IG(diarrhea) = Entropy ሺ𝑅𝑜𝑜𝑡ሻ − ∑𝑣∈ ሺ diarrhea ሻ  
10

|𝑆𝑣 |
|𝑆|

Entropy ሺ𝑆𝑣 ሻ


4

3

7

7

= Entropy ሺ𝑅𝑜𝑜𝑡ሻ − [ Entropy ሺ yes ሻ +

Entropy ሺ no ሻ ] = 1,950 - (4/7 * 1

+ 3/7 * 0.918)= 0,965
• Xét thuộc tính Shivering
IG(diarrhea) = Entropy ሺ𝑅𝑜𝑜𝑡ሻ − ∑𝑣∈ ሺ shivering ሻ  
1


6

7

7

= Entropy ሺ𝑅𝑜𝑜𝑡ሻ − [ Entropy ሺ yes ሻ +

|𝑆𝑣 |
|𝑆|

Entropy ሺ𝑆𝑣 ሻ

Entropy ሺ no ሻ ] = 1,950 - (1/7 * 0

+ 6/7 * 1.918)= 0,306
• Vậy thuộc tính Diarrhea có IG lớn nhất, tối ưu hóa thơng tin thu được
-> lấy làm ROOT
Entropy: Đo độ bất ngỡ của một tập dữ liệu
IGain: lượng thơng tin trung bình chứa trong đoạn mã, =Entropy mẫu –
entropy trung bình

Câu 2: Liệt kê các loại node trong Decision Tree:
- Root node: gốc của cây quyết định bao gồm tất cả các tập hợp của một
thuộc tính
- Decision node: khi các thuộc tính có thể phân tách thành các thuộc tính nhỏ
hơn
- Leaf node: khi đầu ra cuối cùng được quyết định mà không cần phân tách
thêm


11


Câu 3: Trình bày các bước tính tốn của thuật tốn ID3?
1. Tính tốn Entropy của cả dataset nhờ vào dữ liệu classification
2. Với mỗi thuộc tính, tính được Entropy của mỗi thuộc tính thơng qua tập giá trị.
Nhờ đó tình được IGain(S) = Ent(S) − Ent(S|atrib)
3. Chọn ra thuộc tính A có IGain lớn nhất để làm gốc . Đối với mỗi giá trị v của
thuộc tính A. Thêm một nhánh dưới nốt root tương ứng với A = v.
3.1. Nếu tất cả các đối tượng x thuộc D có cùng một lớp label classification,
trả về nốt gốc Root với nhãn classification. Kết thúc
3.2 Gọi D(v) là tập các đối tượng thuộc D có v là giá trị cho thuộc tính A
3.3 Nếu D(v) = rỗng, thêm một nốt lá (leaf node) dưới nhánh này với nhãn ck nào
đó phổ biến nhất trong D. Ngược lại dưới nhánh này thêm một cây con ID3(D(v),
Target − Attribute, Attributes - {A})

Câu 4: Giả sử trong trường hợp có 2 thuộc tính có Information Gain
bằng nhau và là lớn nhất trong data set thì thuật tốn ID3 sẽ xử lý
như thế nào?
Chúng ta có thể chọn bất kỳ thuộc tính nào, khơng có gì đảm bảo rằng việc đưa ra
lựa chọn tham lam cục bộ ở mỗi cấp nhất thiết sẽ mang lại cho bạn mức tối ưu tồn
cục. Trọng tâm chính của phương pháp heuristic này là làm cho việc xây dựng cây
quyết định trở nên hiệu quả, cho nên không cần phải thử tất cả các trường hợp có
thể có để đánh giá.
Ngồi ra, nếu IG bằng nhau, ta có thể chuyển sang tính Gain Ratio.

Câu 5: Decision Tree là mơ hình supervised learning hay
unsupervised learning? Decision Tree có thể áp dụng cho bài tốn
nào?
Supervised learning vì nó tạo ra mơ hình dựa trên tập dữ liệu huấn luyện với kết

quả đúng, kết quả mơ hình của nó dựa trên kiến thức mà nó thu được trong q
trình đào tạo.
Áp dụng cho bài taspm Hồi quy (cây hồi quy) và phân loại (cây phân loại)

Câu 6: Decision Tree sử dụng thuật toán Search nào?
12


Tìm kiếm theo kiểu tham lam. Vì chúng ta đang chọn ra thuộc tính tối ưu hóa
thơng tin thu được nhất ở từng bước

Câu 7: Nêu một số ưu/nhược điểm chính của thuật tốn cây quyết
định
Ưu điểm:
- Dễ hiểu và giải thích, xây dựng dựa trên dữ liệu thành các quy tắc tồn diện
- Khơng cần thiết phải chuẩn hóa dữ liệu. Không yêu cầu tiền sử lý
Nhược điểm:
- Thường tương đối khơng chính xác, dễ bị overfiting
- Khơng ổn định, chỉ một thay đổi trong bộ dữ liệu sẽ cho ra cấu trúc cây khác
nhau
- Độ phức tạp về bộ nhớ và thời gian lớn hơn. Tính tốn khá phức tạp, tốn nhiều bộ
nhớ
- Khơng thích hợp đối với các bài tốn cần dự đốn các giá trị có tính liên tục

Câu 8: Điều kiện dừng để tránh overfitting của thuật toán Decision
Tree
Xây dựng ra cây cuối cùng, sau đó ta sử dụng cắt tỉa, đánh giá hiệu quả của việc
cắt bỏ từng nút thơng qua cross-vadilation, sau đó cắt bỏ đến khi độ chính xác của
tập test tăng dần đến khi tiệm cận tập train


13


Phần 2: Linear Regression
Câu 1: Khi tối ưu hàm mất mát sử dụng phương pháp Gradient
Descents, bộ tham số θ (θ1, θ2, ..., θd) qua mỗi vòng lặp được cập nhật
đồng thời hay lần lượt? Việc lựa chọn Learning rate (alpha) ảnh
hưởng tới q trình tối ưu của thuật tốn Gradient Descents như thế
nào?
- Thuật toán GD cho hàm nhiều biến cũng bắt đầu bằng một điểm dự đoán 𝜃0 ,
sau đó, ở mỗi vịng lặp, cập nhật các 𝜃 từ 0..d đồng thời bằng cthuc

- Với α, việc lựa chọn rất quan trọng, giá trị này phụ thuộc nhiều vào từng bài
tốn và phải làm một vài thí nghiệm để chọn ra giá trị tốt nhất. α quá nhỏ sẽ
làm cho bài toán hội tụ chậm, sẽ ảnh hưởng tới tốc độ của thuật tốn rất
nhiều, thậm chí khơng bao giờ tới được đích. Tuy nhiên α quá lớn khiến tiến
14


nhanh tới đích chỉ sau vài vịng lặp, nhưng có thể khơng hội tụ được, vì bước
nhảy q lớn.

Câu 2: Gradient descents for Linear Regression:

Giải thích tất cả ký hiệu trong cơng thức trên và cho biết bộ data có tổng bao nhiêu
mẫu (samples), mỗi mẫu có bao nhiêu đặc trưng?
𝜃 là các tham số của mơ hình cần tìm
α là tốc độ học, bước nhảy của giá trị 𝜃
h() là hàm mục tiêu cần học
y() là output thực tế từ đầu vào

Bộ data n mẫu, mỗi mẫu có d đặc trưng từ 0 đến d.

Câu 3: Trình bày một số hạn chế của Linear Regression?
Hạn chế đầu tiên của Linear Regression là nó rất nhạy cảm với nhiễu (sensitive to
noise). Trong ví dụ về mối quan hệ giữa chiều cao và cân nặng bên trên, nếu có chỉ
một cặp dữ liệu nhiễu (150 cm, 90kg) thì kết quả sẽ sai khác đi rất nhiều. Xem hình
dưới đây:

15


Vì vậy, trước khi thực hiện Linear Regression, các nhiễu (outlier) cần phải được
loại bỏ. Bước này được gọi là tiền xử lý (pre-processing).
Các mơ hình tuyến tính cũng thường khơng tốt về hiệu suất dự đốn , bởi vì các
mối quan hệ có thể học được rất hạn chế và thường đơn giản hóa quá mức thực tế
phức tạp như thế nào.
Hạn chế thứ ba của Linear Regression là nó khơng biễu diễn được các mơ hình
phức tạp. Mặc dù trong phần trên, chúng ta thấy rằng phương pháp này có thể được
áp dụng nếu quan hệ giữa outcome và input khơng nhất thiết phải là tuyến tính,
nhưng mối quan hệ này vẫn đơn giản nhiều so với các mơ hình thực tế. Như các
làm sin, cos

Câu 4: Có thể áp dụng Logistic Regression cho bài toán phân loại
nhiều lớp (Multiclass classification) hay không?
Logistic regression sử dụng trong các bài tốn binary classification, với phân loại
nhiều lớp hơn có nhiều cách
- Sử dụng One-vs.-rest (1 và phần còn lại), Softmax function:

16



- Sử dụng Multinomial logistic regression

Câu 5: Giả sử, trong bài tốn dự đốn giá th phịng trọ tại Hà Nội,
dữ liệu thu thập được có dạng như bảng dưới đây.

5a: Hãy xác định (input, label) cho mơ hình bạn định xây dựng? Tại sao bạn lại
lựa chọn những thuộc tính đó là input cho mơ hình của bạn?
Label = Giá Th
Input = Diện tích, Trang bị điều hịa

17


5b: Trong thực tế, sẽ có những dữ liệu khơng đầy đủ thơng tin (thiếu diện tích
phịng) như trong bảng. Cách giải quyết trong trường hợp này là gì?
Trong thực tế có thể xóa ln hàng dữ liệu thứ 3, hoặc xóa ln cột dữ liệu nếu
khơng ảnh hưởng đến mơ hình.
Tuy nhiên nhiều khi giữ lại sẽ tốt hơn là loại bỏ nó, chúng ta sẽ chuyển sang bài
tốn hồi quy với biết phụ thuộc là biến bị thiếu (Diện tích) thơng qua các biến độc
lập là các biến còn lại (Trang bị điều hòa, Giá thuê) để dự đốn giá trị bị thiếu

Câu 6: Linear Regression là gì? Đầu ra của bài tốn?
Mơ hình hồi quy là mơ hình mà đầu ra là các số thực.
Mơ hình tuyến tính là mơ hình có giả thuyết hàm Y=f(X) có dạng tuyến tính. f(X)=
𝜃0+ 𝜃1.x1+…+ 𝜃n.xn
"Hồi quy tuyến tính" là hàm học có dạng tuyến tính và đầu ra là số thực

Câu 7: Trình bày thuật tốn Gradient descent
Các điểm local minimum là nghiệm của phương trình đạo hàm bằng 0. Tuy nhiên,

trong hầu hết các trường hợp, việc giải phương trình đạo hàm bằng 0 là bất khả thi.
Nguyên nhân có thể đến từ sự phức tạp của dạng của đạo hàm, từ việc các điểm dữ
liệu có số chiều lớn, hoặc từ việc có quá nhiều điểm dữ liệu.
Hướng tiếp cận phổ biến nhất là xuất phát từ một điểm mà chúng ta coi là gần với
nghiệm của bài tốn, sau đó dùng một phép tốn lặp để tiến dần đến điểm cần tìm,
tức đến khi đạo hàm gần với 0. Gradient Descent (viết gọn là GD) và các biến thể
của nó là một trong những phương pháp được dùng nhiều nhất.

Phần 3: Logistic Regression
18


Câu 1: Giả dụ bạn train một bộ phân loại Logistic Regression và có
hàm giả thuyết H là: hθ(x) = g(θ0 + θ1x1 + θ2x2) với θ0 = 6, θ1 = 1, θ2=
-1

Vẽ hình thể hiện decision boundary của bộ phân loại trên (ví dụ:
)

Câu 2: Trình bày một số cách xử lý khi Logictis regression xảy ra
hiện tượng Overfitting?
Sử dụng kỹ thuật Regularization, tức là thêm vào hàm loss 1 đại lượng nữa:

19


Đại lượng thêm vào sau hàm loss là để điều chỉnh penalty (phạt) các thành phần
bậc cao khi model bị overfit. Khi mơ hình tối ưu, các thành phần bậc cao sẽ tiến
đến 0, trừ


0 nó bỏ qua thơi vì đang tính sử dụng norm2 của

với 0.

Một vài phương pháp khác là nâng chất lượng và số lượng của data dùng để
trainning.

Câu 3: Gradient Descent có thể dừng ở local minimum khi training
mơ hình Logistic Regression khơng?
Gradient descent có thể dừng ở local minimum, nếu hàm cost làm hàm lõm

Câu 4: Lợi ích của việc Vectorizaion?
Vectorization về cơ bản là một cách để loại bỏ các vòng lặp trong code của chúng
ta. Vectorization tức là thay vì dùng vịng lặp trên từng hàng từng hàng một, chúng
20


ta tiến hành một phương thức mà được thực hiện trên tất cả các giá trị cùng một
lúc.
Một Dataframe có 12 triệu hàng cần 6 phút để duyệt qua các hàng và cộng giá trị,
nhưng sử dụng vectorization chỉ còn chưa đến 1s

Câu 5: Hàm mất mát dưới đây dựa vào phân phối nào trong xác suất
thống kê?

Tuân theo phân phối chuẩn

Câu 6: Tại sao hàm sigmoid được chọn trong bài toán logistic regression?
Sigmoid là một hàm phi tuyến với đầu vào là các số thực và cho kết quả nằm trong
khoảng [0,1] và được xem là xác xuất trong một số bài toán. Trong hàm Sigmoid,

một sự thay đổi nhỏ trong input dẫn đến một kết quả output ko mấy thay đổi. Vì
vậy, nó đem lại một đầu ra "mượt" hơn và liên tục hơn so với input. Hàm sigmoid
là một hàm liên tục và đạo hàm của nó cũng khá đơn giản, dẫn đến việc áp dụng
hàm vào mơ hình mạng đem lại sự dễ dàng trong việc xây dựng mơ hình và cập
nhật tham số

Câu 7: Các bước xây dựng bài toán logistic regression?
- Xác định Biến phụ thuộc phải là biến nhị phân.
- Các biến độc lập cần phải độc lập với nhau, và có ý nghĩa tác động đến biến
phụ thuộc.
Số lượng các mẫu cần phải đủ lớn tùy theo bài toán, việc lấy cỡ mẫu tối thiểu là
500 là cần thiết để thu được số liệu thống kê đại diện cho các tham số.
Từ đó phát biểu kết bài tốn dựa trên 2 kết quả 0(no, failure, …) và 1(yes,
success,…) (dự đoán P(Y=1) là hàm dựa trên X.)

Phần 4: SVM
21


Câu hỏi 1: Thuật ngữ margin trong SVM có nghĩa là gì?

Margin là khoảng cách giữa hyperlane đến 2 điểm dữ liệu gần nhất tương ứng với
các phân lớp. Điều quan trọng ở đây đó là phương pháp SVM ln cố gắng cực đại
hóa margin này, từ đó thu được một hyperlane tạo khoảng cách xa nhất. Nhờ vậy,
SVM có thể giảm thiểu việc phân lớp sai (misclassification) đối với điểm dữ liệu
mới đưa vào

Câu 3: Vai trò của C trong thuật tốn SVM là gì

Tham số C đại diện cho sự cân bằng giữa việc giảm thiểu lỗi tập huấn và tối đa hóa

margin. Đối với các giá trị lớn của C, việc tối ưu hóa sẽ chọn một hyperlane có lợi
margin nhỏ hơn nếu hyperlane đó thực hiện tốt hơn việc phân loại chính xác.
Ngược lại, một giá trị rất nhỏ của C sẽ khiến trình tối ưu hóa tìm kiếm hyperlane
phân tách có margin lớn hơn, ngay cả khi hyperlane đó phân loại sai nhiều điểm
hơn. Đối với các giá trị rất nhỏ của C, bạn sẽ nhận được các ví dụ bị phân loại sai,
thường xuyên ngay cả khi dữ liệu đào tạo của bạn có thể phân tách tuyến tính.
22


Câu hỏi 2: Overfitting là gì? Khi mơ hình huấn luyện gặp hiện tượng
overfiting, ta cần điều chỉnh tham số C như nào?

Tăng dần C

23


Giảm dần C

Câu 4: “Kernel trick” là gì và việc sử dụng nó có hiệu quả như thế
nào cho bài tốn SVM?
Với dữ liệu giữa 2 class khơng có phân biệt tuyến tính, cần tìm một phép biến đổi
sao cho dữ liệu ban đầu là khơng phân biệt tuyến tính được biến sang không gian
mới. Ở không gian mới này, dữ liệu trở nên phân biệt tuyến tính. SVM có một kỹ
thuật được gọi là kernel trick ( kỹ thuật hạt nhân), đây là tính năng có khơng gian
đầu vào có chiều sâu thấp và biến đổi nó thành khơng gian có chiều cao hơn, tức là
nó khơng phân chia các vấn đề thành các vấn đề riêng biệt, các tính năng này được
gọi là kernel. Nói một cách đơn giản nó thực hiện một số biết đổi dữ liệu phức tạp,
sau đó tìm ra q trình tách dữ liệu dựa trên các nhãn hoặc đầu ra mà chúng ra đã
xác định trước.

VD:

24


Rất khó phân tách
Do đó ta thêm chiều sâu z = x^2+ y^2. Bây giờ dữ liện sẽ được biến đổi theo trục x
và z như

Câu 5: Kể tên một số thư viện hỗ trợ SVM khi thực hiện code?
Thư viện SVC trong sklearn.svm
Libsvm (ngôn ngữ C)

25


×