VIETNAM AVIATION ACADEMY
FACULTY OF AERONAUTICAL ENGINEERING
Assignment Report
HOMEWORK
COURSE : ARTIFICIAL INTELLIGENCE (AI)
Instructior: VO PHI SON
Student : LƯƠNG VĂN ĐNH
Student ID: 2433520068
Class: 24ĐHKT01
HO CHI MINH - 19/06/2025
1
MC LC
Lab01: Python, NumPy and Vectorization................................03
Lab02: Multiple Variable Linear Regression ............................17
Lab03: Feature scaling and Learning Rate (Multi-
variable)...........................................................................................25
Lab04: Feature Engineering and Polynomial
Regression......................................................................................32
Lab05: Linear Regression using Scikit-Learn...........................36
Lab06: Linear Regression using Scikit-Learn...........................39
trang
2
Mã lnh 1:
Chc năng chính: Nhp thư vin NumPy (dưới tên np) và thư vin time.
Đâ
u ra kỳ vng: Không có.
Tham sô
nh hưởng: Không có (đây là khai báo thư vin).
Mã lnh 2:
Chc năng chính: To các vector 1 chiê
u bă
ng np.zeros (khi to 0) và
np.random.random_sample (khi to sô
ngâ
u nhiên).
Đâ
u ra kỳ vng:np.zeros(4): a=[0. 0. 0. 0.], a shape (4,)
np.zeros(4,): a=[0. 0. 0. 0.], a shape (4,)
np.random.random_sample(4): a=[X.XXXX X.XXXX X.XXXX X.XXXX], a shape
(4,)
(X.XXXX là sô
ngâ
u nhiên)
Tham sô
nh hưởng: Sô
lượng phâ
n t (4), hàm khi to.
Mã lnh 3:
Chc năng chính: To các vector 1 chiê
u bă
ng np.arange (dãy sô
) và
np.random.rand (
ngâ
u nhiên).
Đâ
u ra kỳ vng:np.arange(4.): a=[0. 1. 2. 3.], a shape
np.random.rand(4): a=[Y.YYYY Y.YYYY Y.YYYY Y.YYYY], a shape
(Y.YYYY là sô
ngâ
u nhiên)
Tham sô
nh hưởng: Sô
lượng phâ
n t (4), hàm khi to.
Lab01: Python, NumPy and Vectorization
3
Mã lnh 4:
Chc năng chính: To vector 1 chiê
u t list Python, minh ha t đng
chuyn đi kiu d liu sang float nê
u có 1 phâ
n t float.
Đâ
u ra kỳ vng:
Tham sô
nh hưởng: Các giá tr trong list đâ
u vào.
Mã lnh 5:
Chc năng chính: Truy cp phâ
n t và s dng ch
âm trong vector 1
chiê
u. Minh ha lô
i khi truy cp ngoài phm vi.
Đâ
u ra kỳ vng:
The error message you'll see is:
index 10 is out of bounds for axis 0 with size 10
Tham sô
nh hưởng: Ch
được s dng đ truy cp.
4
Mã lnh 6:
Chc năng chính: Că
t lát (slicing) vector 1 chiê
u bă
ng cú pháp
start:stop:step.
Đâ
u ra kỳ vng:
Tham sô
nh hưởng: Các tham sô
start, stop, step trong cú pháp că
t lát.
5
Mã lnh 7:
Chc năng chính: Thc hin các phép toán cơ bn trên mt vector (ph
đnh, tng, trung bình, bình phương tng phâ
n t).
Đâ
u ra kỳ vng
Tham sô
nh hưởng: Các giá tr trong vector a.
6
7
Mã lnh 11:
CHC NĂNG CHÍNH: ĐNH NGHĨA MT HÀM PYTHON TÙY CHNH Đ
TÍNH TÍCH VÔ HƯỚNG CA HAI VECTOR BĂ
NG VÒNG LP FOR.
ĐÂ
U RA KỲ VNG: KHÔNG CÓ (CH LÀ ĐNH NGHĨA HÀM).
THAM SÔ
NH HƯỞNG: CÁC VECTOR ĐÂ
U VÀO A VÀ B.
8
9
Chc năng chính: So sánh hiu suâ
t ca np.dot (vector hóa) và hàm
my_dot (vòng lp) trên mng ln.
Đâ
u ra kỳ vng:
Mã lnh 14:
(X.XXXX << Y.YYYY, chng t NumPy nhanh hơn nhiê
u)
Tham sô
nh hưởng: Kích thước ca mng (10 triu), hiu suâ
t phâ
n
cng.
10
Mã lnh 15:
Mã lnh 16:
11
Mã lnh 17:
Chc năng chính: Truy cp phâ
n t và hàng trong ma trn 2 chiê
u.
Đâ
u ra kỳ vng:
Tham sô
nh hưởng: Ch
hàng và ct.
Mã lnh 18:
12
Mã lnh 19:
Chc năng chính: Că
t lát ma trn 2 chiê
u (hàng, ct, hoc khô
i con).
Đâ
u ra kỳ vng:
Tham sô
nh hưởng: Các tham sô
t lát start:stop:step cho hàng và
ct.
13
Mã lnh 20:
Mã lnh 21:
14
Mã lnh 22:
Mã lnh 23:
Chc năng chính: Nhân ma trn (np.dot).
Đâ
u ra kỳ vng:
Tham
nh hưởng: Giá tr hình dng ca a, b (sô
ct ca a phi
ng sô
hàng ca b).
15
Mã lnh 24:
Chc năng chính: Minh ha lô
i khi nhân ma trn vi kích thước không
tương thích.
Đâ
u ra kỳ vng:
Tham sô
nh hưởng: Hình dng ca a và b.
16
Chc năng chính: Đnh nghĩa X_train (d liu đâ
u vào, ma trn các
d vi nhiê
u đc trưng) và y_train (giá tr mc tiêu tương ng).
Đâ
u ra kỳ vng: Không có.
Tham
nh hưởng: Các giá tr hình dng ca mng X_train
y_train.
Lab02: Multiple Variable Linear Regression
Chc năng chính: Nhp thư vin NumPy (dưới tên np) đ tính toán
khoa hc và Matplotlib (dưới tên plt) đ ve đô
th.
Đâ
u ra kỳ vng: Không có.
Tham sô
nh hưởng: Không có.
Mã lnh 01:
Mã lnh 02:
Chc năng chính: In ra hình dng kiu d liu ca X_train
y_train, cùng vi 5 phâ
n t đâ
u tiên ca mô
i mng.
Đâ
u ra kỳ vng:
Mã lnh 03:
17
Tham sô
nh hưởng: D liu trong X_train và y_train.
Mã lnh 04:
Mã lnh 05:
Chc năng chính: Đnh nghĩa hàm predict đ tính toán đâ
u ra ca
mô hình hô
i quy tuyê
n tính đa biê
n.
Đâ
u ra kỳ vng: Không có (ch là đnh nghĩa hàm).
Tham sô
nh hưởng: Các mng đâ
u vào x, w và scalar b.
18
Mã lnh 06:
Chc năng chính: Trích xuâ
t mt d huâ
n luyn và s dng hàm
predict đ d đoán giá tr cho d đó, sau đó so sánh vi giá tr
thc tê
.
Đâ
u ra kỳ vng:
Tham sô
nh hưởng: X_train, w_init, b_init.
Mã lnh 07:
19
Chc năng chính: Đnh nghĩa hàm compute_cost đ tính hàm chi phí
(mean squared error) cho hô
i quy tuyê
n tính đa biê
n.
Đâ
u ra kỳ vng: Không có (ch là đnh nghĩa hàm).
Tham sô
nh hưởng: Các mng đâ
u vào X, y, w và scalar b.
Mã lnh 08:
20

Preview text:

VIETNAM AVIATION ACADEMY
FACULTY OF AERONAUTICAL ENGINEERING Assignment Report HOMEWORK
COURSE : ARTIFICIAL INTELLIGENCE (AI) Instructior: VO PHI SON
Student : LƯƠNG VĂN ĐỊNH Student ID: 2433520068 Class: 24ĐHKT01
HO CHI MINH - 19/06/2025 1 MỤC LỤC số trang
Lab01: Python, NumPy and Vectorization. . . . . . . . . . . . . . . . 03
Lab02: Multiple Variable Linear Regression . . . . . . . . . . . . . . 17
Lab03: Feature scaling and Learning Rate (Multi-
variable). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Lab04: Feature Engineering and Polynomial
Regression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Lab05: Linear Regression using Scikit-Learn. . . . . . . . . . . . . .36
Lab06: Linear Regression using Scikit-Learn. . . . . . . . . . . . . .39 2
Lab01: Python, NumPy and Vectorization Mã lệnh 1:
Chức năng chính: Nhập thư viện NumPy (dưới tên np) và thư viện time.
Đầu ra kỳ vọng: Không có.
Tham số ảnh hưởng: Không có (đây là khai báo thư viện). Mã lệnh 2:
Chức năng chính: Tạo các vector 1 chiều bằng np.zeros (khởi tạo 0) và
np.random.random_sample (khởi tạo số ngẫu nhiên).
Đầu ra kỳ vọng:np.zeros(4): a=[0. 0. 0. 0.], a shape (4,)
np.zeros(4,): a=[0. 0. 0. 0.], a shape (4,)
np.random.random_sample(4): a=[X.XXXX X.XXXX X.XXXX X.XXXX], a shape (4,)
(X.XXXX là số ngẫu nhiên)
Tham số ảnh hưởng: Số lượng phần tử (4), hàm khởi tạo. Mã lệnh 3:
Chức năng chính: Tạo các vector 1 chiều bằng np.arange (dãy số) và
np.random.rand (số ngẫu nhiên).
Đầu ra kỳ vọng:np.arange(4.): a=[0. 1. 2. 3.], a shape
np.random.rand(4): a=[Y.YYYY Y.YYYY Y.YYYY Y.YYYY], a shape
(Y.YYYY là số ngẫu nhiên)
Tham số ảnh hưởng: Số lượng phần tử (4), hàm khởi tạo. 3 Mã lệnh 4:
Chức năng chính: Tạo vector 1 chiều từ list Python, minh họa tự động
chuyển đổi kiểu dữ liệu sang float nếu có 1 phần tử float. Đầu ra kỳ vọng:
Tham số ảnh hưởng: Các giá trị trong list đầu vào. Mã lệnh 5:
Chức năng chính: Truy cập phần tử và sử dụng chỉ số âm trong vector 1
chiều. Minh họa lỗi khi truy cập ngoài phạm vi. Đầu ra kỳ vọng:
The error message you'll see is:
index 10 is out of bounds for axis 0 with size 10
Tham số ảnh hưởng: Chỉ số được sử dụng để truy cập. 4 Mã lệnh 6:
Chức năng chính: Cắt lát (slicing) vector 1 chiều bằng cú pháp start:stop:step. Đầu ra kỳ vọng:
Tham số ảnh hưởng: Các tham số start, stop, step trong cú pháp cắt lát. 5 Mã lệnh 7:
Chức năng chính: Thực hiện các phép toán cơ bản trên một vector (phủ
định, tổng, trung bình, bình phương từng phần tử). Đầu ra kỳ vọng
Tham số ảnh hưởng: Các giá trị trong vector a. 6 7 Mã lệnh 11:
CHỨC NĂNG CHÍNH: ĐỊNH NGHĨA MỘT HÀM PYTHON TÙY CHỈNH ĐỂ
TÍNH TÍCH VÔ HƯỚNG CỦA HAI VECTOR BĂNG VÒNG LẶP FOR.
ĐÂU RA KỲ VỌNG: KHÔNG CÓ (CHỈ LÀ ĐỊNH NGHĨA HÀM).
THAM SÔ ẢNH HƯỞNG: CÁC VECTOR ĐÂU VÀO A VÀ B. 8 9 Mã lệnh 14:
Chức năng chính: So sánh hiệu suất của np.dot (vector hóa) và hàm
my_dot (vòng lặp) trên mảng lớn. Đầu ra kỳ vọng:
(X.XXXX << Y.YYYY, chứng tỏ NumPy nhanh hơn nhiều)
Tham số ảnh hưởng: Kích thước của mảng (10 triệu), hiệu suất phần cứng. 10 Mã lệnh 15: Mã lệnh 16: 11 Mã lệnh 17: Mã lệnh 18:
Chức năng chính: Truy cập phần tử và hàng trong ma trận 2 chiều. Đầu ra kỳ vọng:
Tham số ảnh hưởng: Chỉ số hàng và cột. 12 Mã lệnh 19:
Chức năng chính: Cắt lát ma trận 2 chiều (hàng, cột, hoặc khối con). Đầu ra kỳ vọng:
Tham số ảnh hưởng: Các tham số cắt lát start:stop:step cho hàng và cột. 13 Mã lệnh 20: Mã lệnh 21: 14 Mã lệnh 22: Mã lệnh 23:
Chức năng chính: Nhân ma trận (np.dot). Đầu ra kỳ vọng:
Tham số ảnh hưởng: Giá trị và hình dạng của a, b (số cột của a phải bằng số hàng của b). 15 Mã lệnh 24:
Chức năng chính: Minh họa lỗi khi nhân ma trận với kích thước không tương thích. Đầu ra kỳ vọng:
Tham số ảnh hưởng: Hình dạng của a và b. 16
Lab02: Multiple Variable Linear Regression Mã lệnh 01:
Chức năng chính: Nhập thư viện NumPy (dưới tên np) để tính toán
khoa học và Matplotlib (dưới tên plt) để vẽ đồ thị.
Đầu ra kỳ vọng: Không có.
Tham số ảnh hưởng: Không có. Mã lệnh 02:
Chức năng chính: Định nghĩa X_train (dữ liệu đầu vào, ma trận các ví
dụ với nhiều đặc trưng) và y_train (giá trị mục tiêu tương ứng).
Đầu ra kỳ vọng: Không có.
Tham số ảnh hưởng: Các giá trị và hình dạng của mảng X_train và y_train. Mã lệnh 03:
Chức năng chính: In ra hình dạng và kiểu dữ liệu của X_train và
y_train, cùng với 5 phần tử đầu tiên của mỗi mảng. Đầu ra kỳ vọng: 17
Tham số ảnh hưởng: Dữ liệu trong X_train và y_train. Mã lệnh 04: Mã lệnh 05:
Chức năng chính: Định nghĩa hàm predict để tính toán đầu ra của
mô hình hồi quy tuyến tính đa biến.
Đầu ra kỳ vọng: Không có (chỉ là định nghĩa hàm).
Tham số ảnh hưởng: Các mảng đầu vào x, w và scalar b. 18 Mã lệnh 06:
Chức năng chính: Trích xuất một ví dụ huấn luyện và sử dụng hàm
predict để dự đoán giá trị cho ví dụ đó, sau đó so sánh với giá trị thực tế. Đầu ra kỳ vọng:
Tham số ảnh hưởng: X_train, w_init, b_init. Mã lệnh 07: 19
Chức năng chính: Định nghĩa hàm compute_cost để tính hàm chi phí
(mean squared error) cho hồi quy tuyến tính đa biến.
Đầu ra kỳ vọng: Không có (chỉ là định nghĩa hàm).
Tham số ảnh hưởng: Các mảng đầu vào X, y, w và scalar b. Mã lệnh 08: 20