Khởi Tạo Mảng Và Phép Toán Vector Hóa Trong NumPy
NumPy là thư viện nền tảng cho khoa học dữ liệu và trí tuệ nhân tạo. Sức mạnh vượt trội của NumPy đến từ khả năng tính toán trên toàn bộ mảng (vectorization) được viết bằng C, nhan…

NumPy là nền tảng của toàn bộ hệ sinh thái tính toán khoa học và AI trong Python. Loại bỏ hoàn toàn vòng lặp chậm chạp bằng cách tư duy theo mảng và vector hóa.
bài tập có chấm code
Bài tập theo chuyên đề, có đề bài, ví dụ và starter code riêng.
cơ bản
Củng cố nền tảng và làm quen với kỹ thuật cốt lõi.
trung bình
Kết hợp nhiều bước suy luận để vận dụng kiến thức.
nâng cao
Thử thách tối ưu, cấu trúc dữ liệu và thuật toán chuyên sâu.
Tạo ndarray, zeros, ones, arange, reshape và kiểm tra dtype, strides.
Cắt mảng đa chiều, fancy indexing và mặt nạ logic boolean mask.
Thay thế vòng lặp for bằng các phép toán nguyên tố trên toàn mảng.
Căn chỉnh kích thước giữa ma trận và vector để tính toán tự động không sao chép.
Nhân ma trận dot/matmul, chuẩn ma trận norm và nghịch đảo ma trận.
Nhầm lẫn giữa view và copy dẫn đến việc sửa đổi mảng gốc ngoài ý muốn.
Lỗi kích thước không tương thích khi broadcasting ma trận (ValueError: operands could not be broadcast together).
Dùng vòng lặp for duyệt từng phần tử NumPy thay vì các hàm ufunc tích hợp sẵn.
Trong mỗi mức độ, bài tập được xếp từ dễ nhất đến khó nhất — hãy đi theo số bước.
NumPy là thư viện nền tảng cho khoa học dữ liệu và trí tuệ nhân tạo. Sức mạnh vượt trội của NumPy đến từ khả năng tính toán trên toàn bộ mảng (vectorization) được viết bằng C, nhan…
Trong hệ thống tìm kiếm thông tin, mô hình nhúng (Embedding) và hệ thống gợi ý (Recommendation System), độ đo tương đồng Cosine (Cosine Similarity) được dùng để so sánh sự tương đồ…
Dùng một kỹ thuật quen thuộc: sắp xếp, tìm kiếm, đếm, ngăn xếp.
Viết hàm kmeans_cluster(X: np.ndarray, k: int, max_iter: int = 50, tol: float = 1e-4, initial_centroids: np.ndarray | None = None) -> tuple[np.ndarray, np.ndarray, int]:
Trong các mô hình Deep Learning (như Batch Normalization hay Layer Normalization), dữ liệu đặc trưng cần được đưa về phân phối chuẩn có trung bình bằng 0 và phương sai bằng 1 dọc t…
Khi tính toán xác suất từ logits đầu ra của mạng nơ-ron, nếu một giá trị logit bằng 1000.0, hàm np.exp(1000.0) sẽ trả về inf, dẫn đến phép chia infinf = NaN.
Trong quá trình lan truyền ngược (Backpropagation), một câu văn bản đầu vào có thể chứa nhiều từ giống nhau (ví dụ: ["học", "lập", "trình", "và", "học", "AI"] chứa 2 từ "học" cùng…
Trong huấn luyện mô hình phân loại (như nhận diện ảnh hay phân loại sắc thái văn bản), hàm mất mát Categorical Cross-Entropy là tiêu chuẩn vàng. Để tránh mô hình quá tự tin vào nhã…
Phối hợp hai kỹ thuật trong cùng một lời giải.
Để dự đoán điểm số năng lực hoặc thời gian hoàn thành khóa học của học viên tại AI Empire Academy, ta xây dựng mô hình hồi quy tuyến tính có chính quy hóa Ridge.
Viết hàm logistic_regression_fit(X: np.ndarray, y: np.ndarray, lr: float = 0.1, lambda_reg: float = 0.01, epochs: int = 100) -> tuple[np.ndarray, float, list[float]]:
Viết hàm dynamic_time_warping_distance(s1: np.ndarray, s2: np.ndarray) -> tuple[float, np.ndarray]:
Viết hàm compute_classification_metrics(y_true: np.ndarray, y_pred: np.ndarray, num_classes: int) -> dict:
Thuật toán chuyên sâu: quy hoạch động, đồ thị, cây.
Viết hàm pca_transform(X: np.ndarray, n_components: int) -> tuple[np.ndarray, np.ndarray, np.ndarray]:
Viết hàm conv2d_im2col(X: np.ndarray, W: np.ndarray, stride: int = 1, padding: int = 0) -> np.ndarray:
Viết hàm qr_gram_schmidt(A: np.ndarray) -> tuple[np.ndarray, np.ndarray]:
Trong hệ thống tìm kiếm vector (Vector Database) tại AI Empire Academy, ta có tập hợp N câu truy vấn và M đoạn văn bản, mỗi phần tử được nhúng thành một vector D chiều. Ta cần tính…
Cấu trúc dữ liệu nâng cao và nhiều bước chứng minh.
Khi trích xuất cửa sổ trượt (sliding window) kích thước W từ một mảng âm thanh hoặc chuỗi thời gian có 100 triệu phần tử, nếu tạo mảng mới bằng vòng lặp sao chép (copy), hệ thống s…
ight) V$.
Viết hàm fft_1d(x: np.ndarray) -> np.ndarray: