线性模型是通过训练学到一个线性组合的来进行预测的函数。
线性回归的性能评估指标是均方误差,基于均方误差最小化来进行模型求解的方法叫做最小二乘法,而这个求解w、b的过程称为最小二乘“参数估计”。
从回归引入分类任务:使用一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来。y = sigmoid(wx+b)
逻辑回归中y/1-y称为几率,反映x作为正例的相对可能性,对其取对数则得到对数几率。故逻辑回归实际是用线性回归模型的预测结果去逼近真实标记的对数几率,因此,其对应的模型称为对数几率回归logistic regression。
如何从假设、损失函数、梯度来推导线性回归和逻辑回归?
线性回归推导
1. 假设(使用最大似然估计解释最小二乘)¶
假设误差是独立同分布的,服从均值为0,方差为
的高斯分布
2. 损失函数
高斯分布的概率密度函数
最大似然函数
经过上述推导,我们得到最小二乘公式,如何由最小二乘求解θ值?
假定X是m行n列的矩阵,从矩阵入手进行推导。 m个n维样本组成矩阵X,则
梯度下降算法
实际工作中,由于计算性能的影响,我们不可以直接采用矩阵运算的方式求解θ,这时对于成本函数J,我们要得到全局最小值,就需要用到梯度下降法了。
下面,我们求出成本函数J(θ)的导数,让参数θ不断迭代,使成本函数J沿着负梯度的方向下降,达到全局最小值。
三种梯度下降算法,包括批量梯度下降(BGD)、随机梯度下降(SGD)、mini-batch SGD。一般我们所说的SGD指的是mini-batch SGD。
1) BGD每更新一个参数会使用所有样本,这样每次参数迭代都会使用所有样本。当样本值m很大时,参数会消耗很多时间,可得到全局最优解。
2) SGD通过每个样本来迭代一次,若样本量很大时,可能只用部分样本就已将θ迭代至最优了,SGD可能跳出局部最小值。
3) 工程中,一般使用mini-batch SGD,不是拿到一个样本即更新梯度,也不是拿到所有样本才更新梯度,而是采用若干随机样本的平均梯度作为更新方向。
假设总共1000个样本,每次更新参数取10个样本,则
Min-batch的中间值如何选择?
样本值较小,直接选用batch grant descent。
样本值很大,一般mini-batch size: 64 128 256 512(2的次方电脑运行更快)
LR
1.假设
假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度下降求解参数,来达到将数据二分的目的。
2. 损失函数¶
3. 梯度下降算法
采用梯度下降算法沿着函数负梯度方向进行迭代。
不难发现,线性回归和逻辑回归求导后得到的梯度下降式是一样的(除了hθ函数不相同,LR对线性回归用sigmoid函数做了非线性变换),它们都是广义线性模型。
由于LR的三种梯度下降算法与线性回归的相同,这里不再赘述。