Giới thiệu: Tính toán Mềm (Soft Computing - SC) Định nghĩa: Một tập hợp các phương pháp khai thác sự dung sai đối với sự không chính xác và không chắc chắn để đạt được khả năng xử lý, tính mạnh mẽ và chi phí giải pháp thấp. Thành phần chính: Logic mờ, tính toán nơ-ron (mạng nơ-ron), tính toán tiến hóa và suy luận xác suất. So sánh với Tính toán Cứng (Hard Computing - HC): HC xử lý sự chính xác và chắc chắn, chỉ áp dụng cho các vấn đề lý tưởng. SC xử lý sự không chính xác để có kết quả mạnh mẽ và hiệu quả về tính toán trong các vấn đề thực tế. Ứng dụng: Khai thác dữ liệu, hàng không vũ trụ, ô tô, điện tử, robot, y tế, quản lý, v.v. Phần I: Lý thuyết Tập mờ (Fuzzy Set Theory) Chương 1: Khoảng (Intervals) Định nghĩa: Khoảng $[a] = [\underline{a}, \overline{a}]$ là tập con của tập số thực $\mathbb{R}$ sao cho $t \in \mathbb{R} | \underline{a} \le t \le \overline{a}$. Các thuật ngữ cơ bản: Tâm khoảng $a_c$: $a_c = (\underline{a} + \overline{a}) / 2$. Độ rộng khoảng $a_w$: $a_w = \overline{a} - \underline{a}$. Bán kính khoảng $a_r$: $a_r = (\overline{a} - \underline{a}) / 2$. Số học khoảng cổ điển: Cộng: $[\underline{a}, \overline{a}] + [\underline{b}, \overline{b}] = [\underline{a} + \underline{b}, \overline{a} + \overline{b}]$ Trừ: $[\underline{a}, \overline{a}] - [\underline{b}, \overline{b}] = [\underline{a} - \overline{b}, \overline{a} - \underline{b}]$ Nhân: $[\underline{a}, \overline{a}] \cdot [\underline{b}, \overline{b}] = [\min\{\underline{a}\underline{b}, \underline{a}\overline{b}, \overline{a}\underline{b}, \overline{a}\overline{b}\}, \max\{\underline{a}\underline{b}, \underline{a}\overline{b}, \overline{a}\underline{b}, \overline{a}\overline{b}\}]$ Chia: $[\underline{a}, \overline{a}] / [\underline{b}, \overline{b}] = [\underline{a}/\overline{b}, \overline{a}/\underline{a}]$ (khi $0 \notin [\underline{b}, \overline{b}]$) Nghịch đảo cộng: $-[\underline{a}, \overline{a}] = [-\overline{a}, -\underline{a}]$ Nghịch đảo nhân: $1/[\underline{a}, \overline{a}] = [1/\overline{a}, 1/\underline{a}]$ (khi $0 \notin [\underline{a}, \overline{a}]$) Ma trận khoảng: Ma trận có các phần tử là khoảng. Tương tự có ma trận tâm, độ rộng, bán kính. Bài tập 1.1: Số học khoảng Cho hai khoảng $A = [2, 5]$ và $B = [-1, 3]$. Hãy tính: $A + B$ $A - B$ $A \cdot B$ Lời giải 1.1: $A + B = [2 + (-1), 5 + 3] = [1, 8]$ $A - B = [2 - 3, 5 - (-1)] = [-1, 6]$ $A \cdot B = [\min(2 \cdot (-1), 2 \cdot 3, 5 \cdot (-1), 5 \cdot 3), \max(2 \cdot (-1), 2 \cdot 3, 5 \cdot (-1), 5 \cdot 3)]$ $\min(-2, 6, -5, 15) = -5$ $\max(-2, 6, -5, 15) = 15$ Vậy, $A \cdot B = [-5, 15]$ Chương 2: Tập mờ (Fuzzy Sets) Định nghĩa: Tập mờ $\tilde{A}$ là một tập hợp các cặp có thứ tự $\tilde{A} = \{(x, \mu_{\tilde{A}}(x)) | x \in X, \mu_{\tilde{A}}(x) \in [0, 1]\}$, trong đó $\mu_{\tilde{A}}(x)$ là hàm liên thuộc (membership function) của $x$. Hàm liên thuộc: Ánh xạ từ tập phổ quát $X$ đến $[0, 1]$. Biểu thị mức độ thuộc về tập mờ. Các thuật ngữ: Support (Giá đỡ): Tập hợp các phần tử có $\mu_{\tilde{A}}(x) > 0$. Height (Chiều cao): Giá trị lớn nhất của hàm liên thuộc, $\sup_x \mu_{\tilde{A}}(x)$. Nếu bằng 1, đó là tập mờ chuẩn hóa. Core (Lõi): Tập hợp các phần tử có $\mu_{\tilde{A}}(x) = 1$. Boundary (Biên): Tập hợp các phần tử có $\mu_{\tilde{A}}(x) \ge 0$. Các phép toán trên tập mờ: Giao: $\mu_{\tilde{A} \cap \tilde{B}}(x) = \min(\mu_{\tilde{A}}(x), \mu_{\tilde{B}}(x))$. Hợp: $\mu_{\tilde{A} \cup \tilde{B}}(x) = \max(\mu_{\tilde{A}}(x), \mu_{\tilde{B}}(x))$. Phần bù: $\mu_{\tilde{A}^c}(x) = 1 - \mu_{\tilde{A}}(x)$. Lũy thừa thứ $m$: $\mu_{\tilde{A}^m}(x) = (\mu_{\tilde{A}}(x))^m$. Tổng đại số: $\mu_{\tilde{A} + \tilde{B}}(x) = \mu_{\tilde{A}}(x) + \mu_{\tilde{B}}(x) - \mu_{\tilde{A}}(x) \cdot \mu_{\tilde{B}}(x)$. Tổng giới hạn: $\mu_{\tilde{A} \oplus \tilde{B}}(x) = \min(1, \mu_{\tilde{A}}(x) + \mu_{\tilde{B}}(x))$. Hiệu giới hạn: $\mu_{\tilde{A} - \tilde{B}}(x) = \max(0, \mu_{\tilde{A}}(x) + \mu_{\tilde{B}}(x) - 1)$. Tích đại số: $\mu_{\tilde{A} \cdot \tilde{B}}(x) = \mu_{\tilde{A}}(x) \cdot \mu_{\tilde{B}}(x)$. Nguyên lý mở rộng (Extension Principle): Dùng để mở rộng các hàm crisp sang tập mờ. Bài tập 2.1: Phép toán trên tập mờ Cho tập phổ quát $X = \{1, 2, 3, 4, 5\}$ và hai tập mờ: $\tilde{A} = \{(1, 0.2), (2, 0.7), (3, 1.0), (4, 0.6), (5, 0.1)\}$ $\tilde{B} = \{(1, 0.5), (2, 0.3), (3, 0.8), (4, 0.9), (5, 0.4)\}$ Hãy tính: $\tilde{A} \cap \tilde{B}$ $\tilde{A} \cup \tilde{B}$ $\tilde{A}^c$ Lời giải 2.1: $\tilde{A} \cap \tilde{B} = \{(1, 0.2), (2, 0.3), (3, 0.8), (4, 0.6), (5, 0.1)\}$ $\tilde{A} \cup \tilde{B} = \{(1, 0.5), (2, 0.7), (3, 1.0), (4, 0.9), (5, 0.4)\}$ $\tilde{A}^c = \{(1, 0.8), (2, 0.3), (3, 0.0), (4, 0.4), (5, 0.9)\}$ Chương 3: Số mờ (Fuzzy Numbers) Định nghĩa: Một tập mờ $\tilde{A}$ được gọi là số mờ $\tilde{a}$ nếu nó lồi, chuẩn hóa, có ít nhất một $x \in \mathbb{R}$ sao cho $\mu_{\tilde{A}}(x) = 1$, và $\mu_{\tilde{A}}(x)$ là liên tục từng phần. Các loại số mờ: Số mờ tam giác (TFN): $\tilde{a} = tfn(a, b, c)$, với $\mu_{\tilde{a}}(x)$ tuyến tính tăng từ $a$ đến $b$ (giá trị 1) và tuyến tính giảm từ $b$ đến $c$. Số mờ hình thang (TrFN): $\tilde{a} = trfn(a, b, c, d)$, với $\mu_{\tilde{a}}(x)$ tuyến tính tăng từ $a$ đến $b$, bằng 1 từ $b$ đến $c$, và tuyến tính giảm từ $c$ đến $d$. Số mờ Gaussian (GFN): $\tilde{a} = gfn(a, \sigma_1, \sigma_2)$, với $\mu_{\tilde{a}}(x)$ có dạng hình chuông, dựa trên hàm Gaussian. Chuyển đổi số mờ sang dạng khoảng bằng $\alpha$-cut: $\alpha$-cut: Tập crisp $a_\alpha = \{x \in \mathbb{R} | \mu_{\tilde{a}}(x) \ge \alpha\}$. Số mờ được biểu diễn dưới dạng khoảng $a_\alpha = [\underline{a}(\alpha), \overline{a}(\alpha)]$ với $\alpha \in [0, 1]$. Số học mờ: Các phép toán số học (cộng, trừ, nhân, chia) trên các số mờ được thực hiện bằng cách áp dụng số học khoảng cho các $\alpha$-cut tương ứng. Bài tập 3.1: $\alpha$-cut của số mờ tam giác Cho số mờ tam giác $\tilde{A} = (1, 3, 5)$. Hãy tìm $\alpha$-cut của $\tilde{A}$ dưới dạng khoảng $[\underline{A}(\alpha), \overline{A}(\alpha)]$. Lời giải 3.1: Hàm liên thuộc của số mờ tam giác $\tilde{A} = (1, 3, 5)$ được định nghĩa như sau: $$ \mu_{\tilde{A}}(x) = \begin{cases} \frac{x-1}{2} & \text{nếu } 1 \le x \le 3 \\ \frac{5-x}{2} & \text{nếu } 3 Giải $\mu_{\tilde{A}}(x) = \alpha$ cho $x$ trên từng đoạn: $\underline{A}(\alpha) = 2\alpha + 1$ (từ $\frac{x-1}{2} = \alpha$) $\overline{A}(\alpha) = 5 - 2\alpha$ (từ $\frac{5-x}{2} = \alpha$) Vậy, $\alpha$-cut của $\tilde{A}$ là $[\underline{A}(\alpha), \overline{A}(\alpha)] = [2\alpha + 1, 5 - 2\alpha]$ cho $\alpha \in [0, 1]$. Chương 4: Quan hệ mờ (Fuzzy Relations) Định nghĩa: Quan hệ mờ $\tilde{R}$ giữa hai tập mờ $\tilde{A}$ và $\tilde{B}$ là một tập con của tích Descartes $\tilde{X} \times \tilde{Y}$, với hàm liên thuộc $\mu_{\tilde{R}}(x, y) \in [0, 1]$ biểu thị mức độ mạnh mẽ của mối quan hệ. Các phép toán trên quan hệ mờ: Tương tự như tập mờ (giao, hợp, phần bù), áp dụng cho hàm liên thuộc quan hệ. Phép chiếu (Projections): Phép chiếu thứ nhất: $\mu_{\tilde{R}^{(1)}}(x, y) = \max_y (\mu_{\tilde{R}}(x, y))$. Phép chiếu thứ hai: $\mu_{\tilde{R}^{(2)}}(x, y) = \max_x (\mu_{\tilde{R}}(x, y))$. Phép chiếu toàn phần: $\mu_{\tilde{R}^{(T)}}(x, y) = \max_x (\max_y (\mu_{\tilde{R}}(x, y)))$. Hợp thành (Composition) của quan hệ mờ: Max-min: $\mu_{\tilde{R} \circ_{max-min} \tilde{S}}(x, z) = \max_y (\min(\mu_{\tilde{R}}(x, y), \mu_{\tilde{S}}(y, z)))$. Max-product: $\mu_{\tilde{R} \circ_{max-product} \tilde{S}}(x, z) = \max_y (\mu_{\tilde{R}}(x, y) \cdot \mu_{\tilde{S}}(y, z))$. Max-average: $\mu_{\tilde{R} \circ_{max-avg} \tilde{S}}(x, z) = \frac{1}{2} \max_y (\mu_{\tilde{R}}(x, y) + \mu_{\tilde{S}}(y, z))$. Quan hệ tương đương mờ: Một quan hệ mờ $\tilde{R}$ là quan hệ tương đương mờ nếu thỏa mãn: phản xạ, đối xứng, bắc cầu. Bài tập 4.1: Hợp thành Max-min của quan hệ mờ Cho $X = \{x_1, x_2\}$, $Y = \{y_1, y_2\}$, $Z = \{z_1, z_2\}$. Quan hệ mờ $\tilde{R}$ từ $X$ đến $Y$: $$ \tilde{R} = \begin{pmatrix} 0.7 & 0.4 \\ 0.9 & 0.5 \end{pmatrix} $$ Quan hệ mờ $\tilde{S}$ từ $Y$ đến $Z$: $$ \tilde{S} = \begin{pmatrix} 0.6 & 0.8 \\ 0.2 & 0.3 \end{pmatrix} $$ Hãy tính hợp thành Max-min $\tilde{T} = \tilde{R} \circ_{max-min} \tilde{S}$. Lời giải 4.1: Ta tính từng phần tử của $\tilde{T}$: $\mu_{\tilde{T}}(x_1, z_1) = \max(\min(0.7, 0.6), \min(0.4, 0.2)) = \max(0.6, 0.2) = 0.6$ $\mu_{\tilde{T}}(x_1, z_2) = \max(\min(0.7, 0.8), \min(0.4, 0.3)) = \max(0.7, 0.3) = 0.7$ $\mu_{\tilde{T}}(x_2, z_1) = \max(\min(0.9, 0.6), \min(0.5, 0.2)) = \max(0.6, 0.2) = 0.6$ $\mu_{\tilde{T}}(x_2, z_2) = \max(\min(0.9, 0.8), \min(0.5, 0.3)) = \max(0.8, 0.3) = 0.8$ Vậy, quan hệ hợp thành $\tilde{T}$ là: $$ \tilde{T} = \begin{pmatrix} 0.6 & 0.7 \\ 0.6 & 0.8 \end{pmatrix} $$ Chương 5: Hàm mờ (Fuzzy Functions) Định nghĩa: Ánh xạ từ miền mờ $\tilde{X}$ đến đối miền mờ $\tilde{Y}$, $\tilde{f}: \tilde{X} \to \tilde{Y}$. Các loại hàm mờ: Loại I: Hàm $f$ là crisp với ràng buộc mờ (domain và codomain mờ). Thỏa mãn $\mu_{\tilde{A}}(x) \le \mu_{\tilde{B}}(y)$. Loại II: Hàm $f$ là crisp với domain mờ. Sự mờ của biến độc lập $\tilde{x}$ được truyền đến biến phụ thuộc $y$ bằng nguyên lý mở rộng. Loại III: Hàm $\tilde{f}$ là mờ trên domain crisp $X$. Có thể là hàm mờ đơn lẻ hoặc chùm hàm mờ. Chương 6: Vi phân và Tích phân mờ (Fuzzy Differentiation and Integration) Vi phân mờ: Hàm mờ hóa tại điểm crisp: $\tilde{f}'(a) = \frac{d}{dx} \tilde{f}(x) |_{x=a}$, với $\mu_{\tilde{f}'(a)}(z) = \max_{z=f'(x)} (\mu_{\tilde{a}}(x))$. Hàm crisp tại điểm mờ: $f'(\tilde{a}) = \frac{d}{dx} f(x) |_{x=\tilde{a}}$, với $\mu_{f'(\tilde{a})}(z) = \max_{z=f'(x)} (\mu_{\tilde{a}}(x))$. Tích phân mờ: Hàm mờ hóa trên giới hạn crisp: $\int_a^b \tilde{f}(x) dx$. Tích phân mỗi hàm $f_i(x)$ riêng lẻ và gán lại giá trị liên thuộc. Hàm crisp trên giới hạn mờ: $\int_{\tilde{a}}^{\tilde{b}} f(x) dx$, với $\mu_{\tilde{I}(\tilde{a}, \tilde{b})}(z) = \max_z (\min(\mu_{\tilde{a}}(x), \mu_{\tilde{b}}(x)))$. Chương 7: Khử mờ (Defuzzification) Định nghĩa: Quá trình chuyển đổi một tập mờ thành một giá trị crisp duy nhất. Các phương pháp khử mờ: Phương pháp liên thuộc cực đại (Max-Membership Method): Chọn giá trị crisp $x^*$ có giá trị liên thuộc lớn nhất. Phương pháp trọng tâm (Centroid Method): Tính trọng tâm của diện tích dưới đường cong hàm liên thuộc, $x^* = \frac{\int \mu_{\tilde{C}}(x) \cdot x dx}{\int \mu_{\tilde{C}}(x) dx}$. Phương pháp trung bình có trọng số (Weighted-Average Method): $x^* = \frac{\sum_{i=1}^n \mu_{\tilde{C}}(\bar{x}_i) \cdot \bar{x}_i}{\sum_{i=1}^n \mu_{\tilde{C}}(\bar{x}_i)}$, trong đó $\bar{x}_i$ là trọng tâm của hàm liên thuộc thứ $i$ (hoặc điểm giữa của support đối với các tập mờ rời rạc). Phương pháp trung bình cực đại (Mean-Max Method): $x^* = (a+b)/2$, trong đó $a$ và $b$ là các điểm có giá trị liên thuộc cực đại. Tập hợp (Aggregation): Tổng hợp nhiều tập mờ thành một tập mờ duy nhất trước khi khử mờ (thường dùng hợp mờ). Bài tập 7.1: Khử mờ bằng phương pháp trọng tâm (rời rạc) Cho tập mờ $\tilde{C} = \{(1, 0.2), (2, 0.6), (3, 0.8), (4, 1.0), (5, 0.7), (6, 0.3)\}$. Hãy khử mờ $\tilde{C}$ bằng phương pháp trọng tâm cho dữ liệu rời rạc. Lời giải 7.1: Công thức trọng tâm cho dữ liệu rời rạc là $x^* = \frac{\sum_{x \in X} \mu_{\tilde{C}}(x) \cdot x}{\sum_{x \in X} \mu_{\tilde{C}}(x)}$. Tử số: $(0.2 \cdot 1) + (0.6 \cdot 2) + (0.8 \cdot 3) + (1.0 \cdot 4) + (0.7 \cdot 5) + (0.3 \cdot 6) = 13.1$ Mẫu số: $0.2 + 0.6 + 0.8 + 1.0 + 0.7 + 0.3 = 3.6$ Vậy, $x^* = \frac{13.1}{3.6} \approx 3.6389$. Chương 8: Hệ phương trình tuyến tính khoảng (Interval System of Linear Equations - ISLE) Định nghĩa: Hệ phương trình tuyến tính mà các tham số (hệ số ma trận và véc tơ vế phải) là các khoảng. Dạng: $[A][x] = [b]$. Mục tiêu: Tìm véc tơ nghiệm khoảng $[x]$. Các phương pháp tính toán ISLEs: Phương pháp I: Chuyển đổi ISLE $n \times n$ thành hệ phương trình tuyến tính crisp $2n \times 2n$ bằng cách tách các giới hạn dưới và trên của ma trận và véc tơ. Phương pháp II: Tương tự Phương pháp I, nhưng giải hai hệ phương trình crisp riêng biệt cho giới hạn dưới và trên. Phương pháp III: Áp dụng phép nhân ma trận khoảng để chuyển đổi ISLE thành hệ phương trình crisp $2n \times 2n$ phức tạp hơn. Lưu ý: ISLE thường có lời giải không lồi. Việc giải ISLE có thể là NP-hard. Bài tập 8.1: Giải ISLE 1x1 Cho hệ phương trình tuyến tính khoảng đơn giản: $[2, 3]x = [4, 9]$. Hãy tìm khoảng nghiệm $x$. Lời giải 8.1: Ta có $[A]x = [b]$, suy ra $x = [b] / [A]$. Áp dụng quy tắc chia khoảng: $x = [4, 9] / [2, 3] = [\underline{b}/\overline{a}, \overline{b}/\underline{a}]$ $$ x = [4/3, 9/2] = [1.333..., 4.5] $$ Vậy khoảng nghiệm $x$ là $[4/3, 9/2]$. Chương 9: Bài toán giá trị riêng khoảng (Interval Eigenvalue Problems) 9.1 Bài Toán Giá Trị Riêng: Dạng chung: $E(\lambda)x = 0$ (với $\lambda$ là giá trị riêng, $x$ là vector riêng). Bài toán giá trị riêng tiêu chuẩn: $(A - \lambda I)x = 0$. Bài toán giá trị riêng tổng quát: $(A - \lambda B)x = 0$. 9.2 Bài Toán Giá Trị Riêng Khoảng: Mô tả bởi: $([A] - [\lambda][I])[x] = 0$ hoặc $([A] - [\lambda][B])[x] = 0$. Phương pháp đỉnh (Vertex Method): Tính toán giới hạn của khoảng giá trị riêng $[\lambda]$ và khoảng véc tơ riêng $[x]$ bằng cách xem xét tất cả các kết hợp có thể của các điểm đỉnh (giới hạn dưới và trên) của các ma trận khoảng. Phần II: Mạng Nơ-ron Nhân Tạo (Artificial Neural Network - ANN) Chương 10: Thuật ngữ Mạng Nơ-ron Nhân Tạo Định nghĩa: Mô hình xử lý thông tin lấy cảm hứng từ hệ thống thần kinh con người, gồm nhiều phần tử xử lý (nơ-ron) được kết nối chặt chẽ. Nơ-ron: Đơn vị xử lý cơ bản. Trọng số (Weights): Các liên kết có hướng giữa các nơ-ron, biểu thị sức mạnh của kết nối. Đầu vào ròng (Net Input $Y_{in}$): Tổng có trọng số của các đầu vào, $Y_{in} = \sum x_i w_i$. Độ lệch (Bias $b$): Một đầu vào có giá trị cố định (thường là 1) với trọng số riêng, giúp điều chỉnh ngưỡng kích hoạt của nơ-ron. $Y_{in} = b + \sum x_i w_i$. Ngưỡng (Threshold $\theta$): Giá trị mà $Y_{in}$ phải vượt qua để nơ-ron kích hoạt. Hàm kích hoạt (Activation Function $f(Y_{in})$): Áp dụng cho đầu vào ròng để tạo ra đầu ra của nơ-ron. Hàm đồng nhất: $f(Y_{in}) = Y_{in}$. Hàm bước nhị phân: Đầu ra 0 hoặc 1, dựa trên ngưỡng. Hàm bước lưỡng cực: Đầu ra -1 hoặc 1, dựa trên ngưỡng. Hàm Sigmoid nhị phân: $f(Y_{in}) = \frac{1}{1 + e^{-\sigma(Y_{in}-\theta)}}$ (đầu ra 0 đến 1, liên tục). Hàm Sigmoid lưỡng cực: $f(Y_{in}) = \frac{1 - e^{-\sigma(Y_{in}-\theta)}}{1 + e^{-\sigma(Y_{in}-\theta)}}$ (đầu ra -1 đến 1, liên tục). Kiến trúc mạng: Mạng đơn lớp (Single Layer Perceptron - SLP): Chỉ có một lớp trọng số kết nối. Mạng đa lớp (Multilayer Perceptron - MLP): Có một hoặc nhiều lớp ẩn giữa đầu vào và đầu ra. Mạng cạnh tranh (Competitive Layer): Các nơ-ron đầu ra cạnh tranh để biểu diễn mẫu đầu vào. Quá trình huấn luyện (Training): Điều chỉnh trọng số và độ lệch. Có hướng dẫn (Supervised): Có đầu ra mục tiêu đã biết, mạng điều chỉnh trọng số để giảm sai số. Không hướng dẫn (Unsupervised): Không có đầu ra mục tiêu, mạng tự tìm cấu trúc dữ liệu. Chương 11: Mô hình Mạng Nơ-ron McCulloch–Pitts Mô hình: Một trong những mô hình nơ-ron nhân tạo đầu tiên (1943). Đặc điểm: Nơ-ron có thể nhận tín hiệu kích thích (trọng số dương) và ức chế (trọng số âm). Đầu ra nhị phân (0 hoặc 1). Kích hoạt nếu tổng đầu vào có trọng số vượt quá ngưỡng $\theta$. Sự ức chế là tuyệt đối (nếu có tín hiệu ức chế, nơ-ron không kích hoạt). Điều kiện kích thích $k$: $kw \ge \theta > (k-1)w$. Chương 12: Quy tắc Học Hebbian (Hebbian Learning Rule) Nguyên tắc: "Nếu hai nơ-ron hoạt động đồng thời, trọng số kết nối giữa chúng sẽ được tăng cường." (Donald Hebb). Kiến trúc: Mạng đơn lớp với nhiều đơn vị đầu vào và một đơn vị đầu ra. Thuật toán: Khởi tạo trọng số $w_i = 0$ và độ lệch $b = 0$. Với mỗi cặp huấn luyện $(S, t)$: Đặt $x_i = S_i$, $y = t$. Cập nhật trọng số: $w_i(mới) = w_i(cũ) + x_i \cdot y$. Cập nhật độ lệch: $b(mới) = b(cũ) + y$. Ứng dụng: Phân loại mẫu. Bài tập 12.1: Huấn luyện Hebbian Cho một mạng nơ-ron Hebbian với hai đầu vào $x_1, x_2$ và một đầu ra $y$. Khởi tạo trọng số $w_1 = 0, w_2 = 0$ và độ lệch $b = 0$. Huấn luyện mạng với các mẫu sau: $S = [1, 1]$, $t = 1$ $S = [1, -1]$, $t = -1$ $S = [-1, 1]$, $t = -1$ $S = [-1, -1]$, $t = 1$ Lời giải 12.1: Khởi tạo: $w_1 = 0, w_2 = 0, b = 0$. Mẫu 1: $S = [1, 1]$, $t = 1$ $w_1 = 0 + 1 \cdot 1 = 1$ $w_2 = 0 + 1 \cdot 1 = 1$ $b = 0 + 1 = 1$ Trạng thái: $w_1 = 1, w_2 = 1, b = 1$. Mẫu 2: $S = [1, -1]$, $t = -1$ $w_1 = 1 + 1 \cdot (-1) = 0$ $w_2 = 1 + (-1) \cdot (-1) = 2$ $b = 1 + (-1) = 0$ Trạng thái: $w_1 = 0, w_2 = 2, b = 0$. Mẫu 3: $S = [-1, 1]$, $t = -1$ $w_1 = 0 + (-1) \cdot (-1) = 1$ $w_2 = 2 + 1 \cdot (-1) = 1$ $b = 0 + (-1) = -1$ Trạng thái: $w_1 = 1, w_2 = 1, b = -1$. Mẫu 4: $S = [-1, -1]$, $t = 1$ $w_1 = 1 + (-1) \cdot 1 = 0$ $w_2 = 1 + (-1) \cdot 1 = 0$ $b = -1 + 1 = 0$ Trạng thái: $w_1 = 0, w_2 = 0, b = 0$. Sau một epoch, các trọng số và độ lệch trở về giá trị ban đầu. Điều này cho thấy mạng Hebbian có thể không học được mối quan hệ XOR với các mẫu đã cho trong một epoch duy nhất. Chương 13: Quy tắc Học Perceptron (Perceptron Learning Rule) Perceptron một lớp (SLP): Dạng đơn giản nhất của mạng nơ-ron, dùng cho các bài toán phân tách tuyến tính. Thuật toán: Khởi tạo trọng số $w_i = 0$, độ lệch $b = 0$, chọn hệ số học $\alpha$. Với mỗi cặp huấn luyện $(S, t)$: Tính $Y_{in} = b + \sum x_i W_i$. Tính đầu ra $Y$ (sử dụng hàm bước nhị phân: $Y=1$ nếu $Y_{in} \ge 0$, $Y=0$ nếu $Y_{in} Nếu $t \ne Y$, cập nhật trọng số và độ lệch: $w_i(mới) = w_i(cũ) + \alpha \cdot (t - Y) \cdot x_i$, $b(mới) = b(cũ) + \alpha \cdot (t - Y)$. Dừng khi trọng số không thay đổi. Bài tập 13.1: Huấn luyện Perceptron (AND gate) Cho một mạng Perceptron với hai đầu vào $x_1, x_2$ và một đầu ra $y$. Hàm kích hoạt bước nhị phân ($Y=1$ nếu $Y_{in} \ge 0$, $Y=0$ nếu $Y_{in} $S = [1, 1]$, $t = 1$ $S = [1, 0]$, $t = 0$ $S = [0, 1]$, $t = 0$ $S = [0, 0]$, $t = 0$ Lời giải 13.1: Khởi tạo: $w_1 = 0, w_2 = 0, b = 0, \alpha = 1$. Epoch 1: Mẫu [1,1], t=1: $Y_{in}=0 \implies Y=1$. $t=Y$. Không cập nhật. $w_1=0, w_2=0, b=0$. Mẫu [1,0], t=0: $Y_{in}=0 \implies Y=1$. $t \ne Y$. $w_1 = -1$, $w_2=0$, $b=-1$. Mẫu [0,1], t=0: $Y_{in}=-1 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=-1, w_2=0, b=-1$. Mẫu [0,0], t=0: $Y_{in}=-1 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=-1, w_2=0, b=-1$. Epoch 2: Mẫu [1,1], t=1: $Y_{in}=-2 \implies Y=0$. $t \ne Y$. $w_1=0$, $w_2=1$, $b=0$. Mẫu [1,0], t=0: $Y_{in}=0 \implies Y=1$. $t \ne Y$. $w_1=-1$, $w_2=1$, $b=-1$. Mẫu [0,1], t=0: $Y_{in}=0 \implies Y=1$. $t \ne Y$. $w_1=-1$, $w_2=0$, $b=-2$. Mẫu [0,0], t=0: $Y_{in}=-2 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=-1, w_2=0, b=-2$. Epoch 3: Mẫu [1,1], t=1: $Y_{in}=-3 \implies Y=0$. $t \ne Y$. $w_1=0$, $w_2=1$, $b=-1$. Mẫu [1,0], t=0: $Y_{in}=-1 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=0, w_2=1, b=-1$. Mẫu [0,1], t=0: $Y_{in}=0 \implies Y=1$. $t \ne Y$. $w_1=0$, $w_2=0$, $b=-2$. Mẫu [0,0], t=0: $Y_{in}=-2 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=0, w_2=0, b=-2$. Epoch 4: Mẫu [1,1], t=1: $Y_{in}=-2 \implies Y=0$. $t \ne Y$. $w_1=1$, $w_2=1$, $b=-1$. Mẫu [1,0], t=0: $Y_{in}=0 \implies Y=1$. $t \ne Y$. $w_1=0$, $w_2=1$, $b=-2$. Mẫu [0,1], t=0: $Y_{in}=-1 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=0, w_2=1, b=-2$. Mẫu [0,0], t=0: $Y_{in}=-2 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=0, w_2=1, b=-2$. Epoch 5: Mẫu [1,1], t=1: $Y_{in}=-1 \implies Y=0$. $t \ne Y$. $w_1=1$, $w_2=2$, $b=-1$. Mẫu [1,0], t=0: $Y_{in}=0 \implies Y=1$. $t \ne Y$. $w_1=0$, $w_2=2$, $b=-2$. Mẫu [0,1], t=0: $Y_{in}=0 \implies Y=1$. $t \ne Y$. $w_1=0$, $w_2=1$, $b=-3$. Mẫu [0,0], t=0: $Y_{in}=-3 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=0, w_2=1, b=-3$. Epoch 6: Mẫu [1,1], t=1: $Y_{in}=-2 \implies Y=0$. $t \ne Y$. $w_1=1$, $w_2=2$, $b=-2$. Mẫu [1,0], t=0: $Y_{in}=-1 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=1, w_2=2, b=-2$. Mẫu [0,1], t=0: $Y_{in}=0 \implies Y=1$. $t \ne Y$. $w_1=1$, $w_2=1$, $b=-3$. Mẫu [0,0], t=0: $Y_{in}=-3 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=1, w_2=1, b=-3$. Epoch 7: Mẫu [1,1], t=1: $Y_{in}=-1 \implies Y=0$. $t \ne Y$. $w_1=2$, $w_2=2$, $b=-2$. Mẫu [1,0], t=0: $Y_{in}=0 \implies Y=1$. $t \ne Y$. $w_1=1$, $w_2=2$, $b=-3$. Mẫu [0,1], t=0: $Y_{in}=-1 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=1, w_2=2, b=-3$. Mẫu [0,0], t=0: $Y_{in}=-3 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=1, w_2=2, b=-3$. Epoch 8: Mẫu [1,1], t=1: $Y_{in}=0 \implies Y=1$. $t=Y$. Không cập nhật. $w_1=1, w_2=2, b=-3$. Mẫu [1,0], t=0: $Y_{in}=-2 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=1, w_2=2, b=-3$. Mẫu [0,1], t=0: $Y_{in}=-1 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=1, w_2=2, b=-3$. Mẫu [0,0], t=0: $Y_{in}=-3 \implies Y=0$. $t=Y$. Không cập nhật. $w_1=1, w_2=2, b=-3$. Sau Epoch 8, không có trọng số nào được cập nhật. Mạng đã hội tụ. Các trọng số cuối cùng là $w_1 = 1, w_2 = 2, b = -3$. Chương 14: Quy tắc Học Delta và Quy tắc Lan truyền ngược (Backpropagation) cho Perceptron Nhiều Lớp Lưu ý: Các bài tập về Lan truyền ngược thường rất dài và phức tạp để minh họa bằng tay trong một cheatsheet. Do đó, tôi chỉ tóm tắt lại thuật toán và không đưa ra bài tập cụ thể. Mạng truyền thẳng (Feedforward Networks): Thông tin chỉ truyền một chiều từ đầu vào đến đầu ra, không có phản hồi. Quy tắc Học Delta / Lan truyền ngược: Thuật toán huấn luyện mạng truyền thẳng đa tầng. Quá trình: Truyền tiến (Forward pass) mẫu huấn luyện. Tính toán và truyền ngược (Backward pass) sai số. Điều chỉnh trọng số và độ lệch để giảm sai số. Thuật toán huấn luyện (ví dụ với hàm Sigmoid Unipolar): Khởi tạo trọng số ngẫu nhiên nhỏ, chọn hệ số học $\eta$. Với mỗi cặp huấn luyện: Truyền đầu vào đến lớp ẩn, tính toán đầu ra lớp ẩn. Truyền đầu ra lớp ẩn đến lớp đầu ra, tính toán đầu ra cuối cùng. Tính sai số. Tính tín hiệu sai số $\delta$ cho lớp đầu ra và lớp ẩn. Cập nhật trọng số và bias cho lớp đầu ra và lớp ẩn. Dừng khi sai số được tối thiểu hóa. Thuật toán với hàm Sigmoid Bipolar: Tương tự, nhưng sử dụng hàm Sigmoid Bipolar và đạo hàm tương ứng cho các bước tính tín hiệu sai số.