Logistic回归
“ 回归 ”: 用一条直线对给定数据进行拟合(最佳拟合直线)
“ Logistic 回归” : 根据现有数据对分类边界建立回归方程,以此直线进行分类
给定数据集 \( [(x_{1},y_{1}),(x_{2},y_{2}),…,(x_{m},y_{m})] \) ,每个样本 x 有 d 个属性\特征 \( x_{i}=(x_{i}{1},…x_{i}{d}) \)
对于给定数据集,该数据集的线性拟合公式为:
其中 \( w^{T}=[w_{0},w_{1},w_{2},…,w_{d}] \)
若要进行分类任务(以二分类为例),需要找到一个单调可微的函数将分类任务的真实标记 y 和线性回归模型的预测值关联起来。
分类输出标记 y = {0 , 1} , 回归模型的预测值 \( z = w^{T}x \) , 因此需要一个函数将 z 转化为 0 / 1 值。 最理想的函数是 “ 单位阶跃函数 ”,但是这个函数是不连续的函数,它的跳跃点从0到1的跳跃过程很难处理。需要一个近似单位阶跃的函数,更容易处理且单调可微,这就是 “ 对几率函数(logistic function) ” 函数 ,它是 **“Sigmoid函数”**的一种:\( y_{w}(x) = \frac{1}{1+z^{-1}} = \frac{1}{1+(w{T}x){-1}} \)。
确定了分类器的函数形式,最终的问题就是如何确定最佳回归参数,向量 w 就是回归参数 ,求解最佳参数的方法是最优化方法 。
2. 误差评估
在logistic回归中明确了分类预测函数,其中\( z = w^{T}x \)是分类边界,即决策边界就是划分样本类别的边界,可以是点,可以是线,可以是面,"决策边界是预测分类函数的 \( y_{w}(x) \)的属性,不是训练集的属性,因为能够划分类别界限的是\( y_{w}(x) \),而训练集是用来训练调节参数"
在前面确定了 logistic regression的分类原理和方法,接下来要要评估分类效果,即评估\( y_{i} \) 和 \( f(x_{i}) \) 之间的误差,通过均方误差来描述误差,误差评估的函数又称为代价函数,均方误差是回归任务中常用的度量标准:
我们的目标就是通过调节参数 w 使 J(w)能够达到最小,
3. 梯度下降法Gradient Descent
训练学习的目标就是不断调节参数w来使J(w)达到最小,通常使用梯度下降方法来调节w:
w_{j}=w_{j}-\alpha \frac{\partial }{\partial w}J(w)
梯度方向是函数值下降最为剧烈的方向。那么,沿着 J(w) 的梯度方向走,我们就能接近其最小值,或者极小值,从而接近更高的预测精度。学习率 α 是个相当玄乎的参数,其标识了沿梯度方向行进的速率,步子大了,很可能这一步就迈过了最小值。而步子小了,又会减缓我们找到最小值的速率。在实际编程中,学习率可以以 3 倍,10 倍这样进行取值尝试:α=0.001,0.003,0.01…0.3,1
3.1 批量梯度下降法(Batch Gradient Descent)
对一个大小为m的训练集,w的迭代过程如下,重复迭代直到收敛:
矩阵表示如下:
这种方法是批量梯度下降法,每次更新一次系数就要完整遍历一次数据集,如果训练集体积巨大,那么计算的复杂度太高。
3.2 随机梯度下降法(Stochastic Gradient Descent)
由于批量梯度下降法计算开销太大,一种改进方法是一次仅用一个样本点来更新回归系数,该方法称为随机梯度下降算法。由于可以在新样本到来时对分类器进行增量式更新,因而随机梯度下降算法是一个在线学习算法。与“在线学习”相对应,一次处理所有数据被称作是“批处理”。
KaTeX parse error: No such environment: align* at position 7: \begin{̲a̲l̲i̲g̲n̲*̲}̲ & \mbox{重复直到收敛…