本文作者:陈 鼎,中南财经政法大学统计与数学学院
文字编辑:任 哲
技术总编:张馨月
(一) 线性模型与岭回归
1.线性模型
给定由m个属性表示的特征向量X=(x1,x2,x3,...,xm),其中xi是特征向量X在第i个属性上的取值,线性模型(linear model)通过构造一个特征向量的线性组合来表示预测值f(x)与特征向量X之间的函数关系,其一般表示形式如下:
利用矩阵方法可以表示为:
其中W = (w1,w2,....,wm),通过特定算法求解出W矩阵与常数项b,线性模型就可以确定。
为了求解系数矩阵W与常数项b,给定样本数据集(x1,y1),(x2,y2),(x3,y3),...(xn,yn),我们考虑优化如下损失函数:
观察上述损失函数,易知损失函数为凸函数,具唯一最小值。此处损失函数又叫均方误差,基于均方误差最小化进行模型求解的方法称为最小二乘法(ordinary least squares)。将损失函数分别对W与b求偏导数并令偏导数为0,所需公式如下:
求解方程组,得到W的最小二乘估计:
最小二乘估计量具有线性,无偏性,方差最小的优良统计性质。
2.岭回归
观察正规方程组的解,当X转置与X矩阵相乘得到的矩阵不可逆(即特征数量远大于训练样本个数)时,将无法通过最小二乘得到W的估计;同时,在训练模型时易会出现过拟合的情况。为了解决上述问题,常用的方是引入正则化项,优化后得到正则化框架如下:
其中Loss为损失函数,P(w)为惩罚项(Penalty),lambda为正则化力度为超参数。常用的惩罚项有L1(Lasso)与L2(Ridge,即岭回归),小编将以L2为例,简要说明其原理。
岭回归,又称权值衰减,其惩罚项为W的转置乘W矩阵,令
对J(w)函数求一阶偏导数并令其为0,求得W的最优解为:
其中I为单位矩阵,观察上述估计量,X转置X为半正定矩阵,加了lambda倍的单位矩阵后显然可逆,即岭回归很好地解决了原估计量中矩阵不可逆的问题。
(二) Logistic回归与sigmod函数
1.线性分类与Logistic回归
线性分类(Liner Classification)旨在寻找一个激活函数,将线性回归问题转换成一个线性分类问题。线性分类问题分为两大类,即硬分类与软分类。硬分类是输入一个值(f(x)),返回一个确定的类别(y={0,1});软分类则输入一个值(f(x)),返回这个样本属于某种类别的概率p(即y=[0,1])。硬分类的代表为感知机、线性判别分析(Fisher LDA),而软分类则包括了logistic回归,朴素贝叶斯分类器(naivebayes classifier),高斯判别分析(Gaussian discriminant analysismodel)等。
Logistic回归是一个著名的线性分类算法,利用Logistic回归可以将线性回归问题很好地转化成一个线性二分类问题。由线性模型的原理可知,预测值f(x,W)是一个区间为实数集R的连续型变量;而Logistic回归通过激活函数将预测值转换到(0,1)区间上的对应输出,输出结果代表样本属于"正例"类别的概率p。若概率p>0.5,分类器则判别样本属于正例;若概率p<0.5,则分类器判别样本属于反例。需要注意的是,在Python的sklearn模块中,默认将取训练集中数目较少的类别视为正例。
2.Sigmod函数
Sigmod函数是一个单调递增的平滑曲线,是Logistic回归中很好的激活函数。Sigmod函数表达式与图像如下:
image图1.Sigmod分布函数,x轴为输入的f(x,W)预测值,纵坐标为对应分类概率值p
从直观上看,给定一个线性模型中的样本预测值f(x,W),我们总能在sigmod函数中找到一个(0,1)之间的实数与f(x)一一对应,该实数表示样本属于正例类别的概率p。从数学角度,Sigmod函数求出了给定f(x,W)条件下的该类别属于某个类别的条件概率:
(三) 优化策略
在确定模型之后,我们需要确定一个最合适的判定标准,在所有的可能模型集合中找出一个最优的模型(即确定W),就需要用到损失函数。在Logistic回归中,常用的损失函数为对数似然损失函数。其函数表达式由最大似然估计法(MLE)导出,表达式如下:
考虑优化如下损失函数:
该损失函数本质上为信息论中的交叉熵(Cross Entropy)的相反数,损失函数数值越小,则该模型分类的准确率就越高。
图2.当样本真实结果为正例(1)时,预测该样本为正例类别的把握(概率)越大,则对数损失的函数值越小(图源网络)
(四) 算法
梯度下降法(gradient descent)是求解无约束最优化问题的一种常用统计方法。梯度的方向是函数值增大速度最快的方向。计算一个函数的最小值,我们随机选取一个初始点,让该点往该点梯度的反方向一步一步“移动”,不断更新,进行迭代,若该点最后的位置趋于不变(即函数值趋于收敛),则停止迭代过程,迭代过程如下:
其中,α为学习率,即每次迭代时迈出的“步长”;▽g(x)为梯度,表示每次迭代时移动的方向。在求解一元函数极小值问题中,梯度等价于函数在该点的一阶导数。需要注意的是,在噪声相对较大的模型中,梯度下降法容易陷入"局部极小值"的问题,此时可以适当调整步长,或是利用随机梯度下降法(stochastic gradient descent)优化算法。
image图3.梯度下降的可视化迭代过程(图源网络)
网友评论