Linear Regression Problem
Linear Regression Problem
- 直观的概念:对一个客体的多个特征 x = ( x 0 , x 1 , … , x d ) \bold x = (x_0, x_1, \ldots, x_d) x=(x0,x1,…,xd),使用加权和计算得到一个实数值作为结果: y ≈ ∑ i = 0 d w i x i y \approx \sum_{i=0}^d w_i x_i y≈∑i=0dwixi(不需要像感知器一样做进一步的符号判断,即分类)
- 线性回归假设: h ( x ) = w T x h(\bold x) = \bold w^T \bold x h(x)=wTx
- 误差衡量:平方误差 e r r ( y ^ , y ) = ( y ^ − y ) 2 err(\hat y, y) = (\hat y - y) ^ 2 err(y^,y)=(y^−y)2
Linear Regression Algorithm
- 线性回归的样本内误差 E i n ( w ) = 1 N ∑ n = 1 N ( w T x n − y n ) 2 = 1 N ∥ X w − y ∥ 2 E_{in}(\bold w) = \frac 1N \sum_{n=1}^N(\bold w^T \bold x_n - y_n)^2= \frac 1N \| \bold X \bold w - \bold y\|^2 Ein(w)=N1∑n=1N(wTxn−yn)2=N1∥Xw−y∥2
- 求梯度
- E i n ( w ) = 1 N ∥ X w − y ∥ 2 = 1 N ( w T X T X w − 2 w T X T y + y T y ) E_{in}(\bold w) = \frac 1N \| \bold X \bold w - \bold y\|^2 = \frac 1N (\bold w^T \bold X^T \bold X \bold w - 2 \bold w^T \bold X^T \bold y + \bold y^T \bold y) Ein(w)=N1∥Xw−y∥2=N1(wTXTXw−2wTXTy+yTy)
- ∇ E i n ( w ) = 2 N ( X T X w − X T y ) \nabla E_{in}(\bold w) = \frac 2N(\bold X^T \bold X \bold w - \bold X^T \bold y) ∇Ein(w)=N2(XTXw−XTy)
- 对可逆的
X
T
X
\bold X^T \bold X
XTX:
- 唯一解: w l i n = ( X T X ) − 1 X T y = X † y \bold w_{lin} = (\bold X^T \bold X)^{-1}\bold X^T \bold y = \bold X^\dagger \bold y wlin=(XTX)−1XTy=X†y( X † \bold X^\dagger X†有 d + 1 d+1 d+1个特征值为1)
- 普遍情形:一般情况下都有 N ≫ d + 1 N \gg d+1 N≫d+1,逆矩阵存在
- 没有反矩阵存在:
- 可能有多个解: w l i n = X ∗ y \bold w_{lin} = \bold X^\ast \bold y wlin=X∗y,以其他方式定义 X ∗ \bold X^\ast X∗
Generalization
- 线性回归是一种学习算法:
- E i n E_{in} Ein很小
- E o u t E_{out} Eout也很小
- 隐式地迭代“伪逆”过程
- 另一种解释方法:
E
i
n
{E_{in}}
Ein的平均值
- E ˉ i n = ϵ D ∼ P N { E i n ( w L I N w . r . t . D ) } \bar E_{in} = \epsilon_{\mathcal D \sim P^N} \{ E_{in}(\bold w_{LIN} \ w.r.t. \ \mathcal D) \} Eˉin=ϵD∼PN{Ein(wLIN w.r.t. D)}
- 上式可表示为 noise level ⋅ ( 1 − d + 1 N ) \text{noise level} \cdot (1 - \frac {d + 1} {N}) noise level⋅(1−Nd+1),即数据量越大越接近噪声水平
- 还有 E ˉ o u t = noise level ⋅ ( 1 + d + 1 N ) \bar E_{out} = \text{noise level} \cdot (1 + \frac {d + 1} {N}) Eˉout=noise level⋅(1+Nd+1)
- 学习曲线
- 当 N → ∞ N \to \infty N→∞时,两个误差都收敛于 σ 2 ( noise level ) \sigma^2(\text{noise level}) σ2(noise level)
- 泛化误差期望: 2 d + 1 N 2 \frac{d + 1}{N} 2Nd+1
- 当噪声不是很大时,学习确实发生了
Linear Regression for Binary Classification
- 可否使用线性回归来完成二元分类
- 可以证明 e r r 0 − 1 ≤ e r r s q r err_{0-1} \le err_{sqr} err0−1≤errsqr
- 可以使用线性回归的平方误差给出 E o u t E_{out} Eout的更宽松上界 e r r ^ \widehat {err} err
- 相对于二元分类PLA算法这一NP任务,线性回归求得最佳解的效率更高
- 使用上界的松紧程度权衡算法效率
- 思路:可以先使用线性回归达到一个足够好的程度作为初始状态进行PLA