Skip to main content

Mô hình tổng quát

Mô hình máy học giám sát tổng quát

Để minh họa cho mô hình máy học giám sát tổng quát, chúng tôi sử dụng hình minh họa sau đây. Mục tiêu của một hệ thống máy học giám sát là tìm ra quy luật để dự đoán chính xác giá trị yy từ dữ kiện đầu vào xx. Hay nói cách khác là ta sẽ tìm một hàm số (ánh xạ) y~=f(x)\tilde{y}=f(x) sao cho giá trị y~\tilde{y} gần nhất với giá trị thực tế yy.

Dữ liệu đầu vào

Trong mô hình máy học tổng quát, dữ liệu đầu vào x\mathbf{x} bao gồm các thông tin để giúp dự đoán kết quả đầu ra. Về mặt hình thức, dữ liệu đầu vào có thể là một giá trị đơn R\mathbb{R}, vector Rn\mathbb{R}^n, ma trận Rn×m\mathbb{R}^{n \times m} hay một tensor Rn×m×...×p\mathbb{R}^{n \times m \times ... \times p}.

Ví dụ, trong bài toán dự đoán giá nhà tại một khu vực của quận Thủ Đức, để dự đoán giá trị thực tế của căn nhà ta cần phải xác định các thông tin đầu vào. Bằng kinh nghiệm, ta thấy rằng giá nhà phụ thuộc vào một số yếu tố cơ bản. Giả sử rằng chúng ta chỉ xét 3 yếu tố cơ bản là số phòng ngủ, diện tích và số tầng. Khi đó ta biểu diễn dữ liệu đầu vào x=[x1,x2,x3]R3\mathbf{x} = [x_{1}, x_{2}, x_{3}]^\top \in \mathbb{R}^3 là một vector, trong đó:

  • x1x_1: số phòng
  • x2x_2: diện tích
  • x3x_3: số tầng

Đối với các bài toán về xử lý hình ảnh, ảnh số bản chất là dữ liệu ma trận đối với ảnh mức xám và là tensor đối với ảnh màu. Nếu như ta không quan tâm đến thứ tự về không gian 2 chiều của ảnh thì ta có thể Phân rã (flatten) ảnh ra thành một vector kích thước Rw×h\mathbb{R}^{w \times h}, trong đó wwhh lần lượt là kích thước chiều rộng và chiều dài của ảnh. Trong Bài Hồi quy Softmax sẽ biểu diễn ảnh đầu vào như một vector. Ngược lại, nếu ta xem xét khai thác mối quan hệ về không gian hai chiều của ảnh thì khi đó dữ liệu đầu vào sẽ là một ma trận Rw×h\mathbb{R}^{w \times h} đối với ảnh hai mức xám hoặc một tensor Rw×h×d\mathbb{R}^{w \times h \times d} với dd là số kênh của ảnh màu đầu vào. Nếu ảnh số sử dụng hệ màu RGB thì d=3d=3.

Hàm số biểu diễn mô hình

Mục tiêu của việc xây dựng mô hình dự đoán là tìm hàm ánh xạ từ dữ liệu đầu vào xx sang giá trị dự đoán y~=f(x)\tilde{y}=f(x) sao cho gần với giá thực tế yy nhất có thể. Nếu như hàm f(x)f(x) cố định và được xây dựng dựa trên kinh nghiệm của người thiết kế trong quá trình quan sát dữ liệu để tìm mối quan hệ giữa xxyy thì ta sẽ không cần sử dụng những mẫu dữ liệu huấn luyện. Việc xác định các hàm f(x)f(x) này phải sử dụng tri thức của chuyên gia trong lĩnh vực và thường không có tính tổng quát cao. Do đó, cần thiết phải có một mô hình có tham số dựa trên dữ liệu huấn luyện thực tế. Mô hình có sử dụng các tham số và được xác định dựa trên dữ liệu này được gọi là mô hình máy học có giám sát.

Hàm số biểu diễn mô hình có tham số

Nếu như hàm f(x)f(x) được xác định bằng dữ liệu huấn luyện thì ta cần có các tham số phụ thuộc vào dữ liệu. Đặt tham số của mô hình là θ\theta, khi đó ta ký hiệu mô hình máy học là:

y~=fθ(x) \tilde{y} = f_\theta(x)

Việc xây dựng cấu trúc chung cho mô hình có tham số này vẫn phụ thuộc vào kinh nghiệm của chuyên gia. Tuy nhiên, tính tổng quát của mô hình sẽ cao hơn do các tham số θ\theta của mô hình được xác định bởi dữ liệu thực tế thay vì được gắn mặc định sẵn. Ví dụ, bằng kinh nghiệm ta biết rằng mối liên hệ giữa xxyy là một dạng thức bậc 2. Khi đó ta có công thức của mô hình như sau: f(x)=ax2+bx+cf(x)=ax^2+bx+c. Trong trường hợp này, tham số θ=[a,b,c]\theta=\begin{bmatrix}a, b, c\end{bmatrix}^\top. Nhiệm vụ của ta là tìm tham số θ\theta sao cho giá trị dự đoán y~=f(x)\tilde{y} = f(x) gần với giá trị thực tế yy nhất.

Hàm độ lỗi

Để đánh giá sự sai khác giữa y~\tilde{y}yy ta sẽ xây dựng Hàm độ lỗi (Loss Function) L(θ;x,y)\mathcal{L}(\theta; x, y). Trong đó, θ\theta là biến số cần tìm với cặp dữ liệu huấn luyện (x,y)(x, y) để hàm độ lỗi L\mathcal{L} là nhỏ nhất. Do đó, ta cần chọn hàm độ lỗi có một số tính chất sau:

  • L(θ;x,y)0\mathcal{L}(\theta; x, y) \ge 0 với mọi tham số θ\theta. Do hàm độ lỗi thể hiện sự sai khác giữa giá trị dự đoán và giá trị thực tế, nên về mặt ý nghĩa độ lỗi phải là một hàm không âm.

  • L(θ;x,y)=0\mathcal{L}(\theta; x, y) = 0 nếu y~=y\tilde{y} = y. Đây là trường hợp hoàn hảo khi dự đoán chính xác giá trị thực tế. L(θ;x,y)>0\mathcal{L}(\theta; x, y) > 0 nếu y~y\tilde{y} \ne y. Nếu y~\tilde{y} càng khác xa yy thì giá trị hàm mất mát càng lớn.

  • L(θ;x,y)\mathcal{L}(\theta; x, y) có thể tính được đạo hàm. Việc tìm tham số θ\theta để hàm độ lỗi nhỏ nhất thường dựa trên một số công cụ giải tích liên quan đến đạo hàm. Do đó việc chọn hàm độ lỗi có thể tính được đạo hàm sẽ giúp cho việc tìm giá trị nhỏ nhất của L\mathcal{L} dễ dàng hơn.

Việc huấn luyện mô hình lúc này sẽ tương đương với việc tìm tham số θ\theta của hàm ff sao cho hàm chi phí L\mathcal{L} là nhỏ nhất. Về mặt hình thức, quá trình huấn luyện mô hình sẽ được biểu diễn như sau:

θ=argminθL(θ;x,y)\theta^* = \operatorname*{argmin}_\theta \mathcal{L}(\theta; x, y)

Trong đó, θ\theta^* là tham số tối ưu của mô hình để fθ(x)yf_{\theta}(x) \approx y. Việc tìm θ\theta^* sẽ dựa trên các mẫu dữ liệu huấn luyện (x,y)(x,y) của hàm độ lỗi L\mathcal{L} với biến số là θ\theta.

Việc tìm giá trị nhỏ nhất của hàm số sẽ dựa trên các giải thuật có liên quan đến vector đạo hàm (gradient vector) của tham số. Một trong những giải thuật cơ bản và nền tảng là Gradient Descent được trình bày trong bài tiếp theo Thuật toán Gradien Descent.