Unit variance là gì

Chữ bias này xuất hiện khá nhiều khi nói về machine learning, một ví dụ gần đây là status trên FB của lão Yann LeCun. Ngày xưa gặp chữ bias trước, nghe dịch là lệch, hoặc chệch, đáng sợ hơn nữa là thiên vị. Lúc học ML, thầy cứ nói các giải thuật học máy phải có bias, không có là nó không học được. Nghe cứ như triết học, ko hiểu chút gì.

Đoạn giới thiệu ở trên không hẳn sai, mà nó dễ gây nhầm lẫn, tại bản thân mình lúc viết đoạn intro trên cũng bị nhầm lẫn. Nhờ 1 chị xinh đẹp góp ý, mới nhận ra chữ bias có những ý nghĩa khác nhau trong những ngữ cảnh khác nhau, sơ bộ có 3 trường hợp chính:

  1. bias được dùng trong Neuron Network, Regression, thường mang ý chỉ hệ số bias [$b$] trong công thức $y=ax + b$. Có thể ngày trước thầy nói không có bias thì giải thuật không thể học được là ý chỉ chữ bias này.
  2. bias trong cái post Yann LeCun hình như ý chỉ tới inductive bias.
  3. bias nói trong bài là bias of an estimator, đây là khái niệm đến từ xác suất thống kê. Từ chỗ này đến hết bài, chữ bias được hiểu thuộc loại thứ 3 này nghe :D.

Trước khi đi vào định nghĩa cho từng cái, mình dùng chung các thông tin sau như ngữ cảnh mặc định:

  • Cho trước tập dữ liệu $D={x^{[1]}, x^{[2]}, , x^{[n]}}$. Các $x^{[i]}$ đều có indepedent identically distribution [i.i.d].
  • Tập dữ liệu $D$ chỉ là một sampling may mắn có được từ không gian data $G$. Bản chất của không gian data $G$ có thể được mô tả thông ra một tập các tham số $\theta$, ví dụ như mean, max, min,
  • Một Estimator [ước lượng] $\hat{\theta}$ được hiểu là một hàm bất kỳ, với đầu vào là tập dữ liệu $D$, đầu ra cố gắng trả về các tham số $\theta$ mô tả $G$. Với định nghĩa trên, ta có thể xem mọi model supervised learning trong học máy đều có thể coi là estimator, vì đường nào lúc training ta cũng nhận vào tất cả data từ $D$

1. Bias

Cho ví dụ, mean thực tế của $G$ là $5.5$, nghĩa là $\theta=5.5$ nhưng chúng ta không đời nào biết được điều này bởi vì chúng ta không bao giờ có được $G$. Nhiệm vụ của chúng ta là cố gắng đoán ra giá trị này thông qua estimator $\hat{\theta}$, mà thằng này $\hat{\theta}$ lại dựa vào data $D$. Mong muốn là nó sẽ càng gần $5.5$ càng tốt. Người ta dựa trên cái gọi là gần đó để đánh giá xem estimator của thằng nào tốt hơn. Và chữ bias ra đời từ đó.

1.1 Định nghĩa toán học:

$$\text{bias}[\hat{\theta}]= \mathbb{E}[\hat{\theta}] - \theta \tag{1} \label{bias}$$

Nhìn công thức trên mới hiểu cái nghĩa lệch/chệch của từ bias. Nếu $\text{bias}[\hat{\theta}] \neq 0$ thì ta gọi estimator bị biased [biased estimator], còn $\text{bias}[\hat{\theta}] = 0$ thì ta gọi là unbiased estimator. Rất tự nhiên là cái unbiased estimator tốt hơn biased estimator, vì cái mình ước đoán nó đúng y chang cái thiệt luôn. Giờ thử tính vài cái xem khi nào bias khác $0$, khi nào bằng $0$.

Ví dụ 1:

Cho $G$ được mô tả bởi hàm phân phối xác suất Bernoulli, hàm này rất đơn giản, chỉ cần 1 tham số mean, gọi nó là $\theta$ luôn cho giống ở trên. Trong trường hợp này, $\theta$ là một số thực R, nằm trong khoảng $[0;1]$. Tập data sample $D={x^{[1]}, x^{[2]}, , x^{[n]}}$ được chọn ra từ $G$.

Rồi, giờ chúng ta đi mò mẫm tìm $\theta$ dựa trên những gì đã biết [là $D$]. Con tim ta mách bảo: lấy trung bình mẫu của $D$ đi, có vẻ nó sẽ khá gần với mean thiệt của $G$ luôn đó. Nghe theo tiếng gọi con tim, ta không ngần ngại chọn estimator $\hat\theta$ như sau: $$\hat\theta = \frac{1}{n} \sum_{i=1}^{n} x^{[i]}$$ Nhưng lý trí không tin mù quáng như vậy được. Bây giờ chọn con tim hay là nghe lý trí, lý trí đòi đánh giá *estimator* $\hat{\theta}$ bằng công thức $[\ref{bias}]$.

$$ \begin{aligned} \text{bias}[\hat\theta] &= \mathbb{E}[\hat{\theta}] - \theta \\\
&= \mathbb{E}[\frac{1}{n} \sum_{i=1}^{n} x^{[i]}] - \theta \\\
&= \frac{1}{n} \sum_{i=1}^{n} \mathbb{E}[x^{[i]}] - \theta \text{ [Tính chất của } \mathbb{E}]\\\
&= \frac{1}{n} \sum_{i=1}^{n} \theta - \theta \text{ [Tính chất của phân phối Bernoulli } \mathbb{E}[x^{[i]}]=\theta ]\\\
&= 0 \end{aligned} $$ Quá đẹp, vậy estimator $\hat{\theta}$ không bị bias, con tim không cần suy nghĩ cũng đúng.

Ví dụ 2:

Cho $G$ được mô tả bởi hàm phân phối xác suất Gaussian $\mathcal{N}[\mu, \sigma^2]$. Tập data sample $D={x^{[1]}, x^{[2]}, , x^{[n]}}$ được chọn ra từ $G$. Yêu câu giờ là đi tìm $\sigma^2$ từ $D$.

Cũng là con tim mách bảo: vì $\sigma^2$ là hệ số Variance của Gaussian, nên như ví dụ 1, mình cũng đi tìm Variance của $D$ là cho kết quả đúng thôi. Gọi $\hat{\sigma}^2$ là estimator của chúng ta, tức là: $$\hat{\sigma}^2 = \text{Var} [D]$$ Check lại bias: \begin{align} \text{bias}[\hat{\sigma}^2] &= \mathbb{E}[\hat{\sigma}^2] - \sigma^2 \\\
&= \mathbb{E}[\text{Var}[D]] - \sigma^2 \\\
\mathbb{E}[\text{Var}[D]] &= \mathbb{E}\{\mathbb{E}[[x^{[i]} - \hat{\mu}]^2]\} \text{ [Định nghĩa của Var, với } \hat{\mu} = \frac{1}{n}\sum_{i=1}^{n}x^{[i]}] \\\
&= \mathbb{E}[\frac{1}{n}\sum_{i=1}^{n}[x^{[i]} - \hat{\mu}]^2] \text{ [Định nghĩa của } \mathbb{E}] \\\
&= \frac{1}{n}\mathbb{E}[\sum_{i=1}^{n}[x^{[i]} - \frac{1}{n}\sum_{j=1}^{n}x^{[j]}]^2] \\\
&= \frac{1}{n}\mathbb{E}[\sum_{i=1}^{n}\frac{[[n-1]x^{[i]} - \sum_{j=1, j\neq i}^{n}x^{[j]}]^2}{n^2}] \\\
&= \frac{1}{n}\mathbb{E}[\sum_{i=1}^{n}\frac{[n-1]^2x^{[i]2} - 2 \times [n-1]x^{[i]} \times \sum_{j=1, j\neq i}^{n}x^{[j]} + [\sum_{j=1, j\neq i}^{n}x^{[j]}]^2 }{n^2}] \\\
&= \frac{1}{n}\sum_{i=1}^{n}\frac{[n-1]^2\mathbb{E}[x^{2}] - 2 \times [n-1]\mathbb{E}[x^{[i]} \times \sum_{j=1, j\neq i}^{n}x^{[j]}] + \mathbb{E}[[\sum_{j=1, j\neq i}^{n}x^{[j]}]^2] }{n^2}] \\\
&= \frac{1}{n^3}\sum_{i=1}^{n}[[n-1]^2\mathbb{E}[x^{2}] - 2 \times [n-1]\mathbb{E}[x^{[i]} \times \sum_{j=1, j\neq i}^{n}x^{[j]}] + \mathbb{E}[[\sum_{j=1, j\neq i}^{n}x^{[j]}]^2]] \\\
&= \frac{1}{n^3}\sum_{i=1}^{n}[[n-1]^2A - 2 \times [n-1]B + C] \tag{2.1} \label{2.1} \\\
\end{align} Căng dữ, tính từng cái $A, B, C$ cho đỡ nhức đầu: \begin{align} A &= \mathbb{E}[x^{2}] \tag{2.2} \label{2.2} \\\
B &= \mathbb{E}[x^{[i]} \times \sum_{j=1, j\neq i}^{n}x^{[j]}]\\\
&= \mathbb{E}[x^{[i]}] \times \mathbb{E}[\sum_{j=1, j\neq i}^{n}x^{[j]}] \text{ [} x^{[i]} \text{độc lập với} \sum_{j=1, j\neq i}^{n}x^{[j]}] \\\
&= \mathbb{E}[x] \times \sum_{j=1, j\neq i}^{n}\mathbb{E}[x] \\\
&= \mathbb{E}[x] \times [n-1]\mathbb{E}[x] \\\
&= [n-1][\mathbb{E}[x]]^2\\\ \tag{2.3} \label{2.3} \end{align} Để tính $C$, không mất tính tổng quá, chọn $i=1$ \begin{align} C &= \mathbb{E}[[\sum_{j=1, j\neq i}^{n}x^{[j]}]^2] \\\
C &= \mathbb{E}[[x^{[2]} + x^{[3]} + + x^{[n]}]^2] \\\
&= \mathbb{E}[[x^{[2]} + x^{[3]} + + x^{[n]}] \times [x^{[2]} + x^{[3]} + + x^{[n]}]] \\\
&= \begin{aligned}[t] \mathbb{E}[ &x^{[2]2} + x^{[2]}x^{[3]} + + x^{[2]}x^{[n]} + \\\
&x^{[3]}x^{[2]} + x^{[3]2} + + x^{[3]}x^{[n]} + \\\
&x^{[4]}x^{[2]} + x^{[4]}x^{[3]} + + x^{[4]}x^{[n]} + \\\
&x^{[n]}x^{[2]} + x^{[n]}x^{[3]} + + x^{[n]2}] \end{aligned} \\\
&= \begin{aligned}[t] [ &\mathbb{E}[x^{[2]2}] + \mathbb{E}[x^{[2]}x^{[3]}] + + \mathbb{E}[x^{[2]}x^{[n]}] + \\\
&\mathbb{E}[x^{[3]}x^{[2]}] + \mathbb{E}[x^{[3]2}] + + \mathbb{E}[x^{[3]}x^{[n]}] + \\\
&\mathbb{E}[x^{[4]}x^{[2]}] + \mathbb{E}[x^{[4]}x^{[3]}] + + \mathbb{E}[x^{[4]}x^{[n]}] + \\\
&\mathbb{E}[x^{[n]}x^{[2]}] + \mathbb{E}[x^{[n]}x^{[3]}] + + \mathbb{E}[x^{[n]2}]] \end{aligned} \\\
&=[n-1]\mathbb{E}[x^2] + [n-1][n-2][\mathbb{E}[x]]^2 \tag{2.4} \label{2.4} \\\
\end{align}

Thay hết \ref{2.2}, \ref{2.3}, \ref{2.4} vào \ref{2.1}, ta có: \begin{align} \mathbb{E}[\text{Var}[D]] &= \frac{1}{n^3}\sum_{i=1}^{n}[[n-1]^2A - 2 \times [n-1]B + C] \\\
&= \frac{1}{n^3}\sum_{i=1}^{n}[[n-1]^2\mathbb{E}[x^{2}] - 2 \times [n-1]^2[\mathbb{E}[x]]^2 + [n-1]\mathbb{E}[x^2] + [n-1][n-2][\mathbb{E}[x]]^2] \\\
&= \frac{1}{n^3}\sum_{i=1}^{n}[n[n-1]\mathbb{E}[x^{2}] - n[n-1][\mathbb{E}[x]]^2 ] \\\
&= \frac{n-1}{n^2}\sum_{i=1}^{n}[\mathbb{E}[x^{2}] - [\mathbb{E}[x]]^2 ] \\\
&= \frac{n-1}{n^2}\sum_{i=1}^{n}\text{Var}[x] \text{ [Định nghĩa của Var, tham khảo [3]]} \\\
&= \frac{n-1}{n}\text{Var}[x] \\\
&= \frac{n-1}{n}\sigma^2 \\\
\end{align}

Từ đó: \begin{align} \text{bias}[\hat{\sigma}^2] &= \mathbb{E}[\hat{\sigma}^2] - \sigma^2 \\\
&= \frac{n-1}{n}\sigma^2 - \sigma^2 \\\
&= \frac{-1}{n}\sigma^2 \neq 0 \\\
\end{align} Sau chặng đường dài, lần này lý trí thắng, estimator này bị bias.

1.2 Kết lại

Hai cái ví dụ, một mớ tính toán chỉ là phần kỹ thuật, cốt lõi là để thấy rằng những cảm nhận ban đầu tưởng như đúng [như $\mathbb{E}$ của $D$ thì may mắn đúng bằng $\mathbb{E}$ của $G$ luôn], nhưng nhiều trường hợp lại sai khác [$\text{Var}$ của $G$ với phân phối Gaussian không bằng $\text{Var}$ của $D$].

Về phần tính toán, ví dụ 1 thì đơn giản, tham khảo theo sách [1], ví dụ 2 căng hơn xíu, cái cách trên là mình tự làm [có phần bỏ sức trâu bò], có cách chứng minh tinh tế hơn, tham khảo số tại đây. Ví dụ 2 này cũng được nhắc đến trong sách số [2], tác giả dùng để đưa đến khái niệm bias, nhưng chỉ lước lướt qua.

Toàn bộ nội dung chính của bài viết này lấy từ 5.4.2 sách [1] [trừ phần chứng minh của ví dụ 2, sách không thèm làm].

Câu hỏi đặt ra là:

  • Việc một estimator bị bias thì ảnh hưởng như thế nào đến quá trình training ?
  • Như phần đầu có nói, trực giác thì thấy rằng unbiased estimator thì tốt hơn biased estimator, tuy nhiên có phải luôn luôn như vậy ? Có phải trong thực tế chọn estimator không bias luôn luôn là tốt nhất ?

2. Variance

Đuối

Tham khảo

[1] I. Goodfellow, Y. Bengio, and A. Courville, Deep Learning, vol. 13, no. 1. 2015.

[2] Bishop, Christopher M. Pattern recognition. Machine Learning 128 [2006]: 1-58.

[3] Probability and Statistics Cookbook: //pages.cs.wisc.edu/~tdw/files/cookbook-en.pdf

Video liên quan

Chủ Đề