3.3 最简单也同样最常用的线性模型【stanford-cs329p】


Linear Regression

  • 一个简单的房价预测
    • 假设有三个特征:$x_1$ 是卧室数,$x_2$ 是卫生间个数,$x_3$ 是房子居住面积
    • 预测价格是 $y=w_1x_1+w_2x_2+w_3x_3+b$
    • 权重 $w_1,w_2,w_3$ 和偏置 b 从训练数据中学习
  • 总的来说,给数据 $x=[x_1,x_2,…,x_p]$,线性回归预测就是向量内积加上偏移 $y=w_1x_1+w_2x_2+…+w_px_p+b=<w,x>+b$
    • 可训练的权重 $w=[w_1,w_2,…,w_p]$ 和偏置 b

Objective Function

  • 收集了n个训练样本 $X=[x_1,x2,…,x_n]^T\in \mathbb{R}^{n\times p}$ 和标签 $y=[y_1,…,y_n]^T\in \mathbb{R}^n$
  • 目标:最小化均方误差(MSE)
    • $w^,b^=\mathop{\arg\min}\limits_{w,b} \mathcal{l}(X,y,w,b)=\mathop{\arg\min}\limits_{w,b}\frac1n\sum_\limits{i=1}^n||y_i-<x_i,w>-b||^2$

Use linear regression for classification

  • 回归:实数集的连续输出
  • 多类别分类:
    • 向量输出,第i个输出反应了对于i类别的置信度分数
    • 对每个类别学习一个线性模型 $o_i=<x,w_i>+b$
    • 标签 $y=[y_1,…,y_m]$ 中如果 $i=y$ ,那么 $y_i=1$
    • 最小化MSE损失
    • 预测标签 $argmax_i{o_i}_{i=1}^m$
    • 这种方法带来的问题是要学习的东西太多了,即使该类别与这个数据没有关系,也要去学习使得这个类别的置信度为0,关注了很多不需要关注的事情,样本类别太多的时候就会去关注那些没必要的类别

Softmax Regression

  • 标签 $y=[y_1,…,y_m]$ 中如果 $i=y$ ,那么 $y_i=1$
  • 让模型更关注把正确类的置信度弄对,别的就不太关心,于是把分数变成可能性,加起来等于1
    • $\hat{y}=softmax(o)$ 其中 $\hat{y}i=\frac{\exp(o_i)}{\sum{k=1}^m\exp(o_k)}$
    • 是一个线性+softmax操作子,只是从最大化标签变成了最大化概率
  • 交叉熵损失来比较两种分布 $\hat{y}$ 和 $y$
    • 最小化 $H(y,\hat{y})=\sum_\limits{i}-y_i\log(\hat{y}_i)=-\log\hat{y}_y$,使得正确概率最大