



















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