THE SUMMARYAI-generated
Key Concepts
- Linear Regression: Hồi quy tuyến tính, tìm mối quan hệ tuyến tính giữa input và output.
- Polynomial Regression: Hồi quy đa thức, mở rộng của linear regression với các hạng tử bậc cao.
- Overfitting: Mô hình quá phức tạp so với dữ liệu, độ chính xác cao trên dữ liệu huấn luyện nhưng thấp trên dữ liệu mới.
- Regularization: Chính quy hóa, kỹ thuật giảm overfitting bằng cách kiểm soát độ phức tạp của mô hình.
- Lasso (L1 Regularization): Loại bỏ các đặc trưng ít quan trọng bằng cách ép trọng số về 0.
- Ridge (L2 Regularization): Giảm độ lớn của tất cả các trọng số.
- Elastic Net: Kết hợp L1 và L2 regularization.
- Logistic Regression: Hồi quy logistic, thuật toán cho bài toán phân loại nhị phân, sử dụng hàm sigmoid.
- Multinomial Logistic Regression: Mở rộng của logistic regression cho bài toán phân loại đa lớp, sử dụng hàm softmax.
- Bayes' Theorem: Định lý Bayes, tính xác suất xảy ra một sự kiện khi biết một sự kiện khác đã xảy ra.
- Naive Bayes: Thuật toán phân loại dựa trên định lý Bayes và giả định về sự độc lập của các đặc trưng.
- Decision Tree: Cây quyết định, thuật toán dễ diễn giải, phân chia dữ liệu dựa trên các câu hỏi.
- Gini Impurity: Độ tinh khiết Gini, thước đo độ lệch của các phân chia trong cây quyết định.
- Random Forest: Rừng ngẫu nhiên, kết hợp nhiều cây quyết định để tăng độ chính xác.
- Bootstrapping: Phương pháp lấy mẫu có hoàn lại để tạo ra các bộ dữ liệu con.
- Support Vector Machine (SVM): Máy vectơ hỗ trợ, tìm đường phân cách tối ưu giữa các lớp.
- Hyperplane: Siêu phẳng, đường phân cách trong không gian đa chiều.
- Kernel Trick: Kỹ thuật đưa dữ liệu vào không gian chiều cao hơn để phân chia tuyến tính dễ dàng hơn.
- K-Nearest Neighbors (KNN): K láng giềng gần nhất, thuật toán phân loại/hồi quy dựa trên khoảng cách đến các điểm dữ liệu lân cận.
- Ensemble Learning: Học tổng hợp, kết hợp nhiều mô hình để cải thiện độ chính xác.
- Bagging: Huấn luyện song song nhiều mô hình trên các bộ dữ liệu con.
- Boosting: Huấn luyện tuần tự các mô hình, mô hình sau tập trung vào các điểm dữ liệu mà mô hình trước dự đoán sai.
- Voting: Kết hợp dự đoán của nhiều mô hình khác nhau.
- Stacking: Sử dụng một metamodel để kết hợp dự đoán của các base model.
- K-Means Clustering: Phân cụm K-Means, thuật toán phân chia dữ liệu thành k cụm dựa trên khoảng cách.
- Principal Component Analysis (PCA): Phân tích thành phần chính, thuật toán giảm chiều dữ liệu.
- Single Layer Perceptron: Mạng neuron đơn lớp, kiến trúc cơ bản với một lớp input và một lớp output.
- Multilayer Perceptron (MLP): Mạng neuron đa lớp, có thêm các lớp ẩn (hidden layers).
- Activation Function: Hàm kích hoạt, hàm phi tuyến được sử dụng trong các lớp ẩn của MLP.
- Convolutional Neural Network (CNN): Mạng neuron tích chập, kiến trúc đặc biệt cho xử lý ảnh.
- Recurrent Neural Network (RNN): Mạng neuron hồi quy, kiến trúc cho xử lý dữ liệu chuỗi.
- Long Short-Term Memory (LSTM): Biến thể của RNN, có khả năng ghi nhớ thông tin dài hạn.
- Gated Recurrent Unit (GRU): Biến thể của RNN, đơn giản hơn LSTM nhưng vẫn hiệu quả.
- Transformer: Kiến trúc mạng neuron dựa trên cơ chế self-attention, vượt trội trong xử lý ngôn ngữ tự nhiên.
- Encoder-Decoder: Cấu trúc của Transformer, gồm encoder mã hóa đầu vào và decoder giải mã đầu ra.
- Self-Attention: Cơ chế cho phép mỗi token chú ý đến các token khác trong cùng chuỗi.
- Positional Encoding: Mã hóa vị trí, module giúp Transformer biết được thứ tự của các từ trong câu.
- BERT: Bidirectional Encoder Representations from Transformers, kiến trúc chỉ sử dụng encoder của Transformer.
- GPT: Generative Pre-trained Transformer, kiến trúc chỉ sử dụng decoder của Transformer.
- Vision Transformer (ViT): Ứng dụng Transformer vào xử lý ảnh.
- Generative Adversarial Network (GAN): Mạng đối kháng sinh, kiến trúc gồm generator tạo dữ liệu giả và discriminator phân biệt dữ liệu thật/giả.
- Autoencoder: Kiến trúc gồm encoder nén dữ liệu và decoder tái tạo dữ liệu.
Linear Regression
- Định nghĩa: Thuật toán cơ bản cho bài toán hồi quy, tìm mối quan hệ tuyến tính giữa một hoặc nhiều biến đầu vào (X) và một biến đầu ra (Y).
- Mối quan hệ tuyến tính: Mối quan hệ bậc 1, ví dụ: y = ax + b.
- Simple Linear Regression: Chỉ có một biến đầu vào X.
- Multiple Linear Regression: Có nhiều hơn một biến đầu vào X.
- Thuật ngữ:
- X: Independent variable (biến độc lập), feature (đặc trưng).
- Y: Dependent variable (biến phụ thuộc), target (mục tiêu).
- Ví dụ:
- Simple: Dự đoán lương dựa trên số năm kinh nghiệm.
- Multiple: Dự đoán lương dựa trên số năm kinh nghiệm và trình độ học vấn.
- Huấn luyện mô hình: Tìm đường thẳng tối ưu (hệ số a và b) sao cho khoảng cách trung bình đến các điểm dữ liệu là nhỏ nhất.
- Dự đoán: Sử dụng công thức đã học để dự đoán giá trị Y cho các giá trị X mới.
- Tổng quát: y = w1x1 + w2x2 + ... + wnxn.
- Loss function: Mean squared error (MSE), tối thiểu hóa trung bình của bình phương sai số giữa giá trị thực tế và giá trị dự đoán.
- Hạn chế: Không phù hợp với dữ liệu phức tạp có mối quan hệ phi tuyến tính.
Polynomial Regression
- Định nghĩa: Phiên bản mở rộng của linear regression, sử dụng các hạng tử bậc cao của biến X.
- Công thức: y = w0 + w1x + w2x^2 + ... + wnx^n.
- Giá trị n: Bậc cao nhất của biến X, cần được quyết định khi sử dụng thuật toán.
- Lưu ý: Phân biệt chỉ số trên (superscript) trong polynomial regression (bậc của biến x) và chỉ số dưới (subscript) trong multiple linear regression (phân biệt các biến x khác nhau).
- Overfitting: Hiện tượng xảy ra khi mô hình quá phức tạp so với dữ liệu.
- Ví dụ: Mô hình bậc 10 đi qua tất cả các điểm dữ liệu nhưng quá phức tạp và có thể dự đoán sai trên dữ liệu mới.
Regularization
- Định nghĩa: Kỹ thuật giảm overfitting bằng cách kiểm soát độ phức tạp của mô hình.
- Nguyên tắc: Tối thiểu hóa đồng thời sai số giữa giá trị dự đoán và giá trị thực tế, đồng thời tối thiểu hóa độ phức tạp của mô hình.
- Công thức: Loss function + Regularization term.
- Regularization term: λ * Σ(wj^2), λ là hệ số thể hiện tầm quan trọng của thành phần regularization.
- Các kỹ thuật chính:
- Lasso (L1 Regularization): Thêm tổng của các giá trị tuyệt đối của các trọng số vào loss function.
- Ridge (L2 Regularization): Thêm tổng của bình phương các trọng số vào loss function.
- Elastic Net: Kết hợp L1 và L2 regularization.
- Sự khác biệt giữa Lasso và Ridge:
- Lasso: Có xu hướng ép một vài trọng số về 0, thường được sử dụng trong feature selection.
- Ridge: Có xu hướng làm giảm độ lớn của tất cả các trọng số.
- Ứng dụng: Có thể áp dụng trong nhiều thuật toán khác nhau, kể cả regression và classification.
- Scikit-learn: Cung cấp các class như
Lasso,Ridge,ElasticNetđể kết hợp linear regression với các kỹ thuật regularization tương ứng.
Logistic Regression
- Định nghĩa: Thuật toán cho bài toán phân loại nhị phân (binary classification).
- Ý tưởng: Ánh xạ giá trị output của linear regression (từ -∞ đến +∞) thành giá trị từ 0 đến 1 bằng hàm sigmoid.
- Hàm Sigmoid: σ(z) = 1 / (1 + e^-z), với z là output của linear regression (ax + b).
- Ngưỡng: Đặt một giá trị ngưỡng (ví dụ: 0.5) để phân loại.
- Ví dụ: Nếu output của hàm sigmoid lớn hơn hoặc bằng 0.5, kết luận là class 1, ngược lại là class 0.
- Lưu ý: Mặc dù tên có chữ "regression", logistic regression là thuật toán cho bài toán classification.
- Scikit-learn: Class
LogisticRegression. - Regularization: Sử dụng tham số
penaltyđể kết hợp với L1 (Lasso), L2 (Ridge) hoặc Elastic Net.
Multinomial Logistic Regression
- Định nghĩa: Mở rộng của logistic regression cho bài toán phân loại đa lớp (nhiều hơn hai class).
- Số lượng phương trình: Có k phương trình khác nhau, với k là số lượng class.
- Hàm Softmax: Ánh xạ input là một vector thành một vector output có các phần tử nằm trong khoảng từ 0 đến 1 và tổng bằng 1.
- Giải thích output: Output của hàm softmax thường được sử dụng để giải thích như là xác suất mà mô hình dự đoán cho từng class.
- Scikit-learn: Class
LogisticRegressiontự động chuyển sang multinomial logistic regression nếu bộ dữ liệu có nhiều hơn hai class.
Bayes' Theorem and Naive Bayes
- Bayes' Theorem: P(A|B) = [P(B|A) * P(A)] / P(B), giúp tính xác suất xảy ra sự kiện A khi biết sự kiện B đã xảy ra.
- Ứng dụng trong classification: Tính xác suất một đoạn text thuộc về một class nào đó (ví dụ: positive/negative) dựa trên các từ trong đoạn text.
- Naive Bayes: Thuật toán dựa trên định lý Bayes và giả định rằng các từ trong một đoạn text là độc lập với nhau (khi biết class của đoạn text).
- Công thức: P(class|words) ∝ P(word1|class) * P(word2|class) * ... * P(wordN|class) * P(class).
- Các biến thể:
- Multinomial Naive Bayes: Input là các biến rời rạc (ví dụ: các từ) và giá trị là số lần xuất hiện.
- Bernoulli Naive Bayes: Giá trị của các từ được xác định dựa trên việc chúng có xuất hiện hay không.
- Gaussian Naive Bayes: Input là biến liên tục và có phân phối chuẩn.
- Scikit-learn: Cung cấp các class tương ứng cho từng biến thể.
Decision Tree
- Định nghĩa: Thuật toán có cấu trúc dạng cây, được tạo thành từ các decision node (nút quyết định) và leaf node (nút lá).
- Ưu điểm: Dễ hiểu, trực quan, dễ giải thích.
- Quá trình huấn luyện: Liên tục đặt ra các câu hỏi và phân nhánh các điểm dữ liệu dựa trên kết quả của các câu hỏi.
- Ví dụ: Dự đoán xem có nên nhận ứng viên hay không dựa trên thông tin về bằng cấp, ngoại ngữ, kinh nghiệm.
- Quy tắc đa số: Tại các nút lá, đưa ra quyết định dựa trên class chiếm đa số.
- Lựa chọn feature: Chọn feature sao cho nó có thể phân tách dữ liệu càng lệch thì càng tốt.
- Gini Impurity: Thước đo độ lệch của các phân chia, giá trị càng thấp thì càng tốt.
- Công thức: 1 - Σ(pi^2), với pi là xác suất để một phần tử thuộc về class i.
- Ví dụ: Tính Gini Impurity cho từng feature (tuổi, thu nhập,...) và chọn feature có Gini Impurity thấp nhất.
- Nhược điểm:
- Dễ bị overfitting, đặc biệt khi cây quá sâu.
- Chỉ một vài thay đổi nhỏ trong dữ liệu cũng có thể dẫn đến thay đổi lớn trong cấu trúc của cây.
- Ứng dụng: Có thể áp dụng cho cả bài toán classification và regression, nhưng ít được sử dụng cho regression.
- Scikit-learn: Cung cấp các class cho cả bài toán classification và regression.
Random Forest
- Định nghĩa: Kết hợp nhiều decision tree lại với nhau.
- Cách thức kết hợp:
- Classification: Majority vote (class nào được đa số các cây vote).
- Regression: Averaging (tính giá trị trung bình từ dự đoán của tất cả các cây).
- Bootstrapping: Mỗi cây được huấn luyện trên một bộ dữ liệu con khác nhau được lấy mẫu từ bộ dữ liệu gốc thông qua phương pháp bootstrapping.
- Feature selection: Tại mỗi decision node, chỉ được phép chọn feature tốt nhất trong một tập con của các feature.
- Ưu điểm: Độ chính xác cao hơn decision tree, ít có nguy cơ bị overfitting hơn.
- Nhược điểm: Tính giải thích thấp hơn, tiêu tốn nhiều tài nguyên tính toán hơn.
- Scikit-learn: Cung cấp hai class tương ứng cho bài toán classification và regression.
Support Vector Machine (SVM)
- Định nghĩa: Tìm đường phân cách tốt nhất (hyperplane) để phân chia các điểm dữ liệu thuộc về các class khác nhau.
- Nguyên tắc:
- Đường phân cách cách đều các điểm gần nhất thuộc về hai class (margin).
- Margin mà đường phân cách tạo ra là tối đa.
- Support vectors: Các điểm dữ liệu thuộc về các class mà gần với đường phân cách tối ưu nhất.
- Hyperparameter C: Ngưỡng chấp nhận phân loại sai.
- Kernel trick: Đưa dữ liệu từ không gian ít chiều lên không gian nhiều chiều để phân chia tuyến tính dễ dàng hơn.
- Ưu điểm: Hiệu năng cao, làm việc tốt với dữ liệu nhiều chiều.
- Nhược điểm: Có thể chậm với bộ dữ liệu có quá nhiều data point.
- Scikit-learn: Cung cấp hai class dành cho hai bài toán tương ứng.
K-Nearest Neighbors (KNN)
- Định nghĩa: Thuật toán phân loại/hồi quy dựa trên khoảng cách đến các điểm dữ liệu lân cận.
- Không có quá trình huấn luyện: Sử dụng trực tiếp các điểm dữ liệu trong bộ dữ liệu huấn luyện để dự đoán.
- Xác định số k: Chọn số lượng láng giềng gần nhất (K).
- Dự đoán:
- Classification: Gán class của đa số các láng giềng gần nhất.
- Regression: Tính trung bình của các giá trị của các láng giềng gần nhất.
- Ưu điểm: Dễ hiểu, trực quan, dễ giải thích.
- Nhược điểm: Chậm với bộ dữ liệu lớn.
- Scikit-learn: Cung cấp hai class tương ứng cho bài toán classification và regression.
Ensemble Learning
- Định nghĩa: Kết hợp nhiều mô hình đơn lẻ để cải thiện độ chính xác.
- Nguyên tắc: Kết hợp sử dụng nhiều mô hình tốt hơn dùng các mô hình đơn lẻ.
- Các kiểu chính:
- Bagging: Huấn luyện song song nhiều mô hình trên các bộ dữ liệu con (ví dụ: Random Forest).
- Boosting: Huấn luyện tuần tự các mô hình, mô hình sau tập trung vào các điểm dữ liệu mà mô hình trước dự đoán sai.
- Voting: Kết hợp dự đoán của nhiều mô hình khác nhau.
- Stacking: Sử dụng một metamodel để kết hợp dự đoán của các base model.
- Ưu điểm: Độ chính xác cao hơn so với các mô hình đơn lẻ.
- Nhược điểm: Chậm, độ giải thích thấp.
K-Means Clustering
- Định nghĩa: Thuật toán phân chia dữ liệu thành k cụm dựa trên khoảng cách.
- Quá trình:
- Chọn k điểm ngẫu nhiên làm trung tâm của các cụm.
- Gán các điểm dữ liệu vào cụm gần nhất.
- Tính toán lại tọa độ của trung tâm mỗi cụm.
- Lặp lại bước 2 và 3 cho đến khi các điểm trung tâm không còn thay đổi đáng kể.
- Ưu điểm: Dễ hiểu, dễ sử dụng.
- Khó khăn:
- Chọn số k tối ưu.
- Nếu các điểm trung tâm được khởi tạo không tốt, kết quả sẽ tồi hoặc thuật toán hội tụ chậm.
- Scikit-learn: Cung cấp class
KMeans.
Principal Component Analysis (PCA)
- Định nghĩa: Thuật toán giảm chiều dữ liệu.
- Ý tưởng: Biến đổi dữ liệu sang một không gian mới sao cho độ phân tán của dữ liệu là tối đa theo các trục.
- Sắp xếp trục: Sắp xếp các trục theo thứ tự giảm dần của độ phân tán.
- Chọn trục: Chọn và giữ lại k trục có độ phân tán lớn nhất.
- Ứng dụng: Giảm chiều dữ liệu, trực quan hóa dữ liệu.
Single Layer Perceptron
- Định nghĩa: Mạng neuron đơn lớp, kiến trúc cơ bản với một lớp input và một lớp output.
- Cấu trúc: Input layer kết nối trực tiếp với output layer.
- Tính toán: Tính tổng các trọng số của các input, sau đó cho tổng này đi qua một hàm step function.
- Step function: Nếu input > 0, output = 1; nếu input <= 0, output = 0.
- Ứng dụng: Bài toán binary classification với dữ liệu đơn giản tuyến tính.
- Hạn chế: Khả năng hạn chế, chỉ phù hợp với dữ liệu đơn giản.
Multilayer Perceptron (MLP)
- Định nghĩa: Mạng neuron đa lớp, có thêm các lớp ẩn (hidden layers).
- Cấu trúc: Input layer, output layer và các hidden layer.
- Activation function: Sử dụng các hàm phi tuyến (sigmoid, tanh, ReLU, Leaky ReLU) trong các lớp ẩn.
- Học đặc trưng: Các hidden layer học các đặc trưng từ dữ liệu đầu vào một cách dần dần từ đơn giản đến phức tạp.
- Lưu ý: Multilayer Perceptron thường được gọi là Deep Neural Network, nhưng đây là hai khái niệm khác nhau.
Convolutional Neural Network (CNN)
- Định nghĩa: Mạng neuron tích chập, kiến trúc đặc biệt cho xử lý ảnh.
- Ứng dụng: Nhận diện khuôn mặt, phân loại ảnh, phát hiện vật thể.
- Thành phần chính: Convolutional layer, pooling layer, fully connected layer, batch normalization layer, dropout layer.
- Convolutional layer: Sử dụng các filter (bộ lọc) để trích xuất đặc trưng từ ảnh.
- Khác biệt với MLP: CNN sử dụng convolutional layer thay vì fully connected layer ở các layer đầu tiên, giúp tiết kiệm tham số.
Recurrent Neural Network (RNN)
- Định nghĩa: Mạng neuron hồi quy, kiến trúc cho xử lý dữ liệu chuỗi (văn bản, giọng nói, chuỗi thời gian).
- Đặc điểm: Có khả năng nhớ trạng thái trước đó thông qua cơ chế lan truyền theo thời gian.
- Recurrent unit: Đơn vị tính toán cơ bản của RNN.
- Hidden state: Trạng thái ẩn, lưu trữ thông tin từ quá khứ để ảnh hưởng đến quá trình xử lý trong tương lai.
- Biến thể:
- Long Short-Term Memory (LSTM): Có khả năng ghi nhớ hoặc lãng quên thông tin trong thời gian dài, sử dụng các cổng (forget gate, input gate, output gate) để điều khiển luồng thông tin.
- Gated Recurrent Unit (GRU): Đơn giản hơn LSTM, sử dụng ít tham số hơn, nhưng vẫn duy trì được khả năng kiểm soát thông tin quá khứ.
Transformer
- Định nghĩa: Kiến trúc mạng neuron dựa trên cơ chế self-attention, vượt trội trong xử lý ngôn ngữ tự nhiên.
- Cấu trúc: Encoder-decoder, gồm encoder mã hóa đầu vào và decoder giải mã đầu ra.
- Self-attention: Cho phép mỗi token trong đầu vào chú ý đến các token khác trong cùng chuỗi.
- Positional encoding: Mã hóa vị trí của mỗi từ trong chuỗi để mô hình biết được thứ tự và bối cảnh của từng từ.
- Ưu điểm:
- Khả năng song song hóa, tận dụng tài nguyên GPU.
- Khả năng nắm bắt quan hệ dài hạn.
- Kiến trúc nổi tiếng dựa trên Transformer:
- BERT: Bidirectional Encoder Representations from Transformers, chỉ sử dụng encoder.
- GPT: Generative Pre-trained Transformer, chỉ sử dụng decoder.
- Vision Transformer (ViT): Ứng dụng Transformer vào xử lý ảnh.
Generative Adversarial Network (GAN)
- Định nghĩa: Mạng đối kháng sinh, kiến trúc gồm generator tạo dữ liệu giả và discriminator phân biệt dữ liệu thật/giả.
- Generator: Tạo ra dữ liệu giả (ảnh, văn bản,...)
- Discriminator: Phân biệt giữa dữ liệu giả và dữ liệu thật.
- Quá trình huấn luyện: Generator cố gắng đánh lừa discriminator, discriminator cố gắng không bị đánh lừa.
- Ứng dụng: Tạo ảnh khuôn mặt người, tạo nhân vật hoạt hình, deepfake.
Autoencoder
- Định nghĩa: Kiến trúc gồm encoder nén dữ liệu và decoder tái tạo dữ liệu.
- Encoder: Nén dữ liệu đầu vào xuống một không gian ẩn có kích thước thấp hơn.
- Decoder: Giải nén kết quả từ encoder trở lại không gian gốc ban đầu.
- Ứng dụng: Giảm chiều dữ liệu, phát hiện dị thường, khử nhiễu, sinh dữ liệu.
AI summaries can miss context or contain errors. Check important details against the original video.