深度学习小结1---线性回归、逻辑回归、softmax回归、SVM

223 阅读3分钟

1.前向累积和反向累积的区别:

(1)计算复杂度(计算每个变量的梯度)都是O(n)。 (2)对于前向累积,内存复杂度是O(1),因为计算完不需要存储;对于反向累积,内存复杂度是O(n),因为需要存储正向的所有中间结果

2.线性回归(用于二分类)

  • 线性回归是对n维输入的加权,外加偏差,即用一条直线近似表示输入输出间的关系
  • 可以看成是单层神经网络,有一个n维权重和一个标量偏差,输出是输入的加权和:y=w1x1+w2x2+...+b2
  • 使用平方损失(最小二乘法)来衡量预测值和真实值的差异
  • 最优显示解,因为损失是凸函数

3.softmax回归(用于多分类)

  • softmax回归是一个多类分类模型,估算输入数据归属于每一分类的概率
  • 使用softmax操作得到每个类的预测置信度,从而得到y的估计值
  • 使用交叉熵来衡量预测和真实值的区别
  • 也是一个单层神经网络,输出层也是一个全连接层

(经常考察softmax交叉熵损失求导)

4.逻辑回归(用于二分类)

  • P(Y=1|x)=1/1+e^(wx+b)
  • 输出的分类概率是由输入的线性函数表示的模型,先拟合0-1决策边界(wx+b),再建立边界与分类的概率联系
  • 逻辑回归= 线性回归+sigmoid函数,即把线性回归的输出作为sigmoid的输入
  • 逻辑回归损失函数(交叉熵函数,常考)loss=-[ylna+(1-y)ln(1-a)],其中y表示样本真实标签,0或1,a表示预测结果为0或者1的概率,a属于[0,1],当y=1时,loss=-lna,a越接近1,损失函数越小;当y=0,loss=-ln(1-a),a越接近0,损失函数越小

5.支持向量机(SVM,用于二分类)

  • 正超平面,决策超平面,负超平面
  • support vector:决定决策超平面边界的点
  • 核心:求解能够正确划分训练数据集并且几何间隔最大的分离超平面
  • 推导见笔记
  • 核函数的作用:解决数据映射(基于原始数据,做一些变换,数据在特征上变多)到更高维度后空间复杂度太高的问题,核函数在低维空间中就做完了内积,把结果映射到高维空间,结果一样且节省空间。

6.优化方法之梯度下降

挑选一个初始值w0并迭代更新w,沿着反梯度方向更新参数。学习率太大会导致振荡

  • 小批量随机梯度下降:在整个训练集上算梯度太贵,可以随机采样b个样本来近似损失。批量大小不能太小,不适合并行(GPU)计算;不能太大,会使得内存消耗增加。随机指的是批量大小一定,每次抽取的样本是随机的。

  • 优化算法里,损失为什么要求均值?损失计算的是多个样本的loss均值,因此在计算epoch的损失时,需要用loss_epoch除以批量数。针对批量大小的数据集进行训练时,网络中每个参数更新时减去的梯度是batchsize中每个样本对应参数梯度求和后取的平均值。