From 8c58623a626836f615cfc1c173641d536116f438 Mon Sep 17 00:00:00 2001 From: thinh Date: Mon, 22 Dec 2025 03:33:23 +0100 Subject: [PATCH] Update README.md --- README.md | 156 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 116 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index d926565..bdbfce3 100644 --- a/README.md +++ b/README.md @@ -158,15 +158,29 @@ Y chuẩn hóa: 0.72 0.80 0.85 0.75 0.85 0.60 0.65 0.68 0.90 0.85 0.55 0.60 #### **Phương pháp 2: Min-Max Normalization (Chuẩn hóa Min-Max)** -**Công thức:** `x' = (x - min) / (max - min)` +**Công thức tổng quát:** -Kết quả nằm trong khoảng [0, 1] +``` +x' = (x - min) / (max - min) × (new_max - new_min) + new_min +``` -##### **Chuẩn hóa X** +Trong đó: +- **min, max**: giá trị nhỏ nhất, lớn nhất của dữ liệu gốc +- **new_min, new_max**: khoảng giá trị mới mong muốn + +**Các trường hợp đặc biệt:** +- Chuẩn hóa về [0, 1]: `x' = (x - min) / (max - min)` +- Chuẩn hóa về [-1, 1]: `x' = 2 × (x - min) / (max - min) - 1` +- Chuẩn hóa về [a, b]: `x' = (x - min) / (max - min) × (b - a) + a` + +--- + +##### **Ví dụ 1: Chuẩn hóa X về [0, 1]** - Min(X) = 4.5 - Max(X) = 9.1 - Range = 9.1 - 4.5 = 4.6 +- new_min = 0, new_max = 1 **Tính toán chi tiết:** @@ -188,7 +202,61 @@ Kết quả nằm trong khoảng [0, 1] **Kết quả:** ``` X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3 -X Min-Max: 0.543 0.870 0.891 0.478 0.435 0.543 0.326 0.217 0.543 1.000 0.000 0.174 +X Min-Max [0,1]: 0.543 0.870 0.891 0.478 0.435 0.543 0.326 0.217 0.543 1.000 0.000 0.174 +``` + +--- + +##### **Ví dụ 2: Chuẩn hóa X về [-1, 1]** + +new_min = -1, new_max = 1 + +**Công thức:** +``` +x' = (x - 4.5) / 4.6 × (1 - (-1)) + (-1) + = (x - 4.5) / 4.6 × 2 - 1 +``` + +**Tính toán:** + +| Giá trị gốc | Bước 1: (x-min)/range | Bước 2: ×2 - 1 | Kết quả | +|-------------|----------------------|----------------|---------| +| 7.0 | 0.543 | 0.543 × 2 - 1 | 0.087 | +| 9.1 | 1.000 | 1.000 × 2 - 1 | 1.000 | +| 4.5 | 0.000 | 0.000 × 2 - 1 | -1.000 | +| 8.5 | 0.870 | 0.870 × 2 - 1 | 0.739 | + +**Kết quả:** +``` +X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3 +X Min-Max [-1,1]: 0.087 0.739 0.783 -0.043 -0.130 0.087 -0.348 -0.565 0.087 1.000 -1.000 -0.652 +``` + +--- + +##### **Ví dụ 3: Chuẩn hóa X về [10, 100]** + +new_min = 10, new_max = 100 + +**Công thức:** +``` +x' = (x - 4.5) / 4.6 × (100 - 10) + 10 + = (x - 4.5) / 4.6 × 90 + 10 +``` + +**Tính toán:** + +| Giá trị gốc | Bước 1: (x-min)/range | Bước 2: ×90 + 10 | Kết quả | +|-------------|----------------------|------------------|---------| +| 7.0 | 0.543 | 0.543 × 90 + 10 | 58.9 | +| 9.1 | 1.000 | 1.000 × 90 + 10 | 100.0 | +| 4.5 | 0.000 | 0.000 × 90 + 10 | 10.0 | +| 6.0 | 0.326 | 0.326 × 90 + 10 | 39.3 | + +**Kết quả:** +``` +X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3 +X Min-Max [10,100]: 58.9 88.3 90.2 53.0 49.1 58.9 39.3 29.6 58.9 100.0 10.0 25.7 ``` --- @@ -221,29 +289,29 @@ Kết quả có trung bình = 0 và độ lệch chuẩn = 1 Từ câu 1a và 1e, ta có: - μ_x = 6.81 -- σ_x = 1.398 (từ tính toán correlation) +- σ_x = 1.339 **Tính toán chi tiết:** | Giá trị gốc | Công thức | Kết quả | |-------------|-----------|---------| -| 7.0 | (7.0 - 6.81) / 1.398 | 0.136 | -| 8.5 | (8.5 - 6.81) / 1.398 | 1.209 | -| 8.6 | (8.6 - 6.81) / 1.398 | 1.280 | -| 6.7 | (6.7 - 6.81) / 1.398 | -0.079 | -| 6.5 | (6.5 - 6.81) / 1.398 | -0.222 | -| 7.0 | (7.0 - 6.81) / 1.398 | 0.136 | -| 6.0 | (6.0 - 6.81) / 1.398 | -0.579 | -| 5.5 | (5.5 - 6.81) / 1.398 | -0.937 | -| 7.0 | (7.0 - 6.81) / 1.398 | 0.136 | -| 9.1 | (9.1 - 6.81) / 1.398 | 1.638 | -| 4.5 | (4.5 - 6.81) / 1.398 | -1.652 | -| 5.3 | (5.3 - 6.81) / 1.398 | -1.080 | +| 7.0 | (7.0 - 6.81) / 1.339 | 0.142 | +| 8.5 | (8.5 - 6.81) / 1.339 | 1.262 | +| 8.6 | (8.6 - 6.81) / 1.339 | 1.337 | +| 6.7 | (6.7 - 6.81) / 1.339 | -0.082 | +| 6.5 | (6.5 - 6.81) / 1.339 | -0.231 | +| 7.0 | (7.0 - 6.81) / 1.339 | 0.142 | +| 6.0 | (6.0 - 6.81) / 1.339 | -0.605 | +| 5.5 | (5.5 - 6.81) / 1.339 | -0.978 | +| 7.0 | (7.0 - 6.81) / 1.339 | 0.142 | +| 9.1 | (9.1 - 6.81) / 1.339 | 1.710 | +| 4.5 | (4.5 - 6.81) / 1.339 | -1.725 | +| 5.3 | (5.3 - 6.81) / 1.339 | -1.128 | **Kết quả:** ``` X gốc: 7.0 8.5 8.6 6.7 6.5 7.0 6.0 5.5 7.0 9.1 4.5 5.3 -X Z-Score: 0.136 1.209 1.280 -0.079 -0.222 0.136 -0.579 -0.937 0.136 1.638 -1.652 -1.080 +X Z-Score: 0.142 1.262 1.337 -0.082 -0.231 0.142 -0.605 -0.978 0.142 1.710 -1.725 -1.128 ``` --- @@ -252,12 +320,12 @@ X Z-Score: 0.136 1.209 1.280 -0.079 -0.222 0.136 -0.579 -0.937 0.136 Từ câu 1a và 1e, ta có: - μ_y = 7.33 -- σ_y = 1.177 +- σ_y = 1.127 **Kết quả:** ``` Y gốc: 7.2 8.0 8.5 7.5 8.5 6.0 6.5 6.8 9.0 8.5 5.5 6.0 -Y Z-Score: -0.110 0.569 0.993 0.144 0.993 -1.130 -0.705 -0.450 1.417 0.993 -1.555 -1.130 +Y Z-Score: -0.115 0.595 1.038 0.151 1.038 -1.180 -0.737 -0.470 1.482 1.038 -1.624 -1.180 ``` --- @@ -267,13 +335,15 @@ Y Z-Score: -0.110 0.569 0.993 0.144 0.993 -1.130 -0.705 -0.450 1.417 0.9 | Phương pháp | Công thức | Khoảng giá trị | Ưu điểm | Nhược điểm | Khi nào dùng | |-------------|-----------|----------------|---------|------------|--------------| | **Decimal Scaling** | x' = x / 10^j | (-1, 1) | Đơn giản, nhanh | Không sử dụng hết khoảng giá trị | Khi cần chuẩn hóa nhanh | -| **Min-Max** | x' = (x-min)/(max-min) | [0, 1] | Giữ nguyên phân phối, dễ hiểu | Nhạy cảm với outliers | Khi biết giới hạn min/max rõ ràng | +| **Min-Max** | x' = (x-min)/(max-min)×(b-a)+a | [a, b] tùy chọn | Giữ nguyên phân phối, linh hoạt | Nhạy cảm với outliers | Khi biết giới hạn min/max, cần khoảng cụ thể | | **Z-Score** | x' = (x-μ)/σ | (-∞, +∞) | Không bị ảnh hưởng bởi scale, chuẩn thống kê | Khó diễn giải | Khi dữ liệu có phân phối chuẩn | **Ví dụ so sánh cho X = 9.1 (giá trị max):** - Decimal Scaling: 0.91 (91% của max có thể) -- Min-Max: 1.00 (100% - giá trị lớn nhất) -- Z-Score: 1.638 (cách trung bình 1.638 độ lệch chuẩn) +- Min-Max [0,1]: 1.00 (giá trị lớn nhất) +- Min-Max [-1,1]: 1.00 (giá trị lớn nhất) +- Min-Max [10,100]: 100.0 (giá trị lớn nhất) +- Z-Score: 1.710 (cách trung bình 1.710 độ lệch chuẩn) --- @@ -515,39 +585,45 @@ r = 0.672 ##### **Phương pháp 2: Sử dụng Covariance và Standard Deviation** +**Công thức (theo sách giáo khoa):** +``` +Cov(A,B) = Σ(ai - Ā)(bi - B̄) / n +σ = √[Σ(ai - Ā)² / n] +r = Cov(A,B) / (σA × σB) +``` + **Bước 1: Tính Covariance (Hiệp phương sai)** ``` -Cov(X,Y) = Σ[(xi - x̄)(yi - ȳ)] / (n-1) -Cov(X,Y) = 12.164 / (12-1) -Cov(X,Y) = 12.164 / 11 -Cov(X,Y) = 1.106 +Cov(X,Y) = Σ[(xi - x̄)(yi - ȳ)] / n +Cov(X,Y) = 12.164 / 12 +Cov(X,Y) = 1.014 ``` **Bước 2: Tính Standard Deviation của X** ``` -σx = √[Σ(xi - x̄)² / (n-1)] -σx = √(21.508 / 11) -σx = √1.955 -σx = 1.398 +σx = √[Σ(xi - x̄)² / n] +σx = √(21.508 / 12) +σx = √1.792 +σx = 1.339 ``` **Bước 3: Tính Standard Deviation của Y** ``` -σy = √[Σ(yi - ȳ)² / (n-1)] -σy = √(15.248 / 11) -σy = √1.386 -σy = 1.177 +σy = √[Σ(yi - ȳ)² / n] +σy = √(15.248 / 12) +σy = √1.271 +σy = 1.127 ``` **Bước 4: Tính hệ số tương quan** ``` r = Cov(X,Y) / (σx × σy) -r = 1.106 / (1.398 × 1.177) -r = 1.106 / 1.646 +r = 1.014 / (1.339 × 1.127) +r = 1.014 / 1.509 r = 0.672 ``` @@ -583,12 +659,12 @@ r = 0.672 | Phương pháp | Công thức | Khoảng giá trị | Đặc điểm | Ứng dụng | |-------------|-----------|----------------|----------|----------| | **Decimal Scaling** | x' = x/10^j | (-1, 1) | Đơn giản, nhanh | Chuẩn hóa nhanh, dữ liệu đơn giản | -| **Min-Max** | (x-min)/(max-min) | [0, 1] | Giữ phân phối | Neural networks, khi biết min/max | +| **Min-Max** | (x-min)/(max-min)×(b-a)+a | [a, b] tùy chọn | Giữ phân phối, linh hoạt | Neural networks, khi biết min/max, cần khoảng cụ thể | | **Z-Score** | (x-μ)/σ | (-∞, +∞) | Chuẩn hóa thống kê | Phát hiện outliers, so sánh nhiều biến | **Khi nào dùng phương pháp nào:** - **Decimal Scaling:** Khi cần nhanh, dữ liệu đơn giản -- **Min-Max:** Khi cần giá trị trong [0,1], biết rõ min/max, dùng cho neural networks +- **Min-Max:** Khi cần giá trị trong khoảng xác định [a,b] (thường [0,1] hoặc [-1,1]), biết rõ min/max, dùng cho neural networks - **Z-Score:** Khi dữ liệu có phân phối chuẩn, cần so sánh nhiều biến có đơn vị khác nhau --- @@ -1473,4 +1549,4 @@ Y --- -**Lưu ý:** Đây là bài giải chi tiết với các bước tính toán cụ thể. Trong bài thi thực tế, bạn có thể rút gọn một số bước tính toán trung gian nếu cần thiết. +**Lưu ý:** Đây là bài giải chi tiết với các bước tính toán cụ thể. Trong bài thi thực tế, bạn có thể rút gọn một số bước tính toán trung gian nếu cần thiết. \ No newline at end of file