线性回归
一个简化模型(引出线性回归)
假设1:影响房价的关键因素是卧室个数、卫生间个数和居住面积,记为x1,x2,x3
假设2:成交价是关键因素的加权和
y = w1 * x1 + w2 * x2 + w3 * x3 + b
权重和偏差的实际值在后面决定
线性模型
- 给定n维输入 x = [x1,x2,x3,...,xn]T
- 线性模型有一个n维权重和一个标量偏差 w = [w1,w2,w3,...,wn]T, b
- 输出是输入的加权和 y = w1 * x1 + w2 * x2 + w3 * x3 +...+ wn * xn + b
- 向量版本 y = <w,x> + b(其中<w,x>是两个向量做内积)
线性模型可以看作是单层神经网络
单层
带权重的层只有一层,输出层不当作一个层
衡量预估质量
- 比较真实值和预估值,例如房屋售价和估计
- 假设y是真实值,y^是估计值,我们可以比较
这个叫平方损失
训练模型
- 收集一些数据点来决定数值(权重和偏差),例如过去6个月卖的房子
- 这被称之为训练数据
- 通常越多越好
- 假设我们有n个样本,记 X = [x1,x2,...xn]T, y = [y1,y2,...,yn]T
参数学习
- 训练损失
- 最小化损失来学习参数
显示解(因为是线性模型)
- 将偏差加入权重
- 损失是凸函数,所以最优解满足
总结
- 线性回归是对n维输入的加权,外加片偏差
- 使用平方损失来衡量预测值和真实值的差异
- 线性回归有显示解
- 线性回归可以看作是单层神经网络
基础优化算法
梯度下降
当模型没有显示解的时候
选择学习率
小批量随机梯度下降
- 在整个训练集上算梯度太贵
- 一个深度神经网路模型可能需要数分钟至数小时
- 我们可以随机采样b个样本i1,i2,...,ib来近似损失
- b是批量大小,另一个重要的超参数
选择批量大小
总结
- 梯度下降通过不断沿着反梯度方向更新参数求解
- 小批量随机梯度下降是深度学习默认的求解算法
- 两个重要的超参数是批量大小和学习率