线性回归算法、梯度下降、逻辑回归算法原理
线性回归算法
线性模型就是对输入特征加权求和,再加上一个我们称为偏置项(也称为截距项)的常数,以此进行预测
简单(单变量)线性回归的目标是:通过模型来描述某一特征(解释变量x)与连续输出(目标变量y)之间的关系。
当只有一个解释变量时,线性模型的函数定义如下:
y=w0+w1x
其中,权值w0为函数在y轴上的截距,w1为解释变量的系数。我们的目标是通过学习得到线性方程的这两个权值,并用它们描述解释变量与目标变量之间的关系,
当解释变量为非训练数据集中数据时,可用此线性关系来预测对应的输出。
基于前面所定义的线性方程,线性回归可看作是求解样本点的最佳拟合直线。
这条最佳拟合线也被称为回归线(regression line),回归线与样本点之间的垂直连线即所谓的偏移(offset)或残差(residual)——预测的误差。
在只有一个解释变量的特殊情况下,线性回归也称为简单线性回归(simple linear regression),当然,我们可以将线性回归模型扩展为多个解释变量。
此时,即为所谓的多元线性回归(multiple linear regression):
y=w0x0+w1x1+....+wmxm = wTx
其中,w0为x0=1时在y轴上的截距
梯度下降
梯度方向是下降最快的方向:
导数:几何意义是函数曲线上的切线斜率。
偏导:多个自变量,曲线->曲面,偏导数就是指的是多元函数沿坐标轴的变化率.
方向导数:多元函数沿任意方向(而不是偏导的坐标轴)的变化率,那么就引出了方向导数.对i,j两个变量求出偏导,那么任意方向可以表示为u=cosθ*i+sinθ*j (斜线与坐标轴的角度θ)。方向导数就是函数对任意方向u的导数。表达式是 Duf(x,y)=fx(x0,y0)cosθ+fy(x0,y0)sinθ
那么一个平面上无数个方向,函数沿哪个方向变化率最大呢?
方向导数转换为Duf(x,y) = A·I = |A|*|I|cosα=|A|cosα,A = (fx(x0,y0),fy(x0,y0)),I=(cosθ,sinθ),两向量相乘等于对应坐标相乘,α是A和I的角度
当α=0时,也就是向量I(这个方向是一直在变,在寻找一个函数变化最快的方向)与向量A(这个方向当点固定下来的时候,它就是固定的)平行的时候,
方向导数最大.方向导数最大,也就是单位步伐,函数值朝这个方向变化最快.向量A的方向也成为梯度。
沿着梯度的方向,函数变化最快,因为曲面的其他路线,在相同的自变量间隔情况下,y值更小。
在机器学习中,对于权重W,求出代价函数对w的偏导g后,不使用(y-y^),而是定义权重增量Δw=-η*g负梯度与学习速率η的乘积。
在每次迭代中,根据给定的学习速率和梯度的斜率,能够确定每次移动的步幅,我们按照步幅沿着梯度方向前进一步。
# 代价函数一般是误差平方和,沿着梯度方向,最终使得预测与真实类标接近。而且梯度一般包含了(y-y^)
# 误差平方和的梯度为ΔJ(w)=-∑i(y-φ(z))xi,xi为第i个样本,φ(z)为激活函数。 神经网络可以手动计算这个公式,也可以tf.gradients,或优化器
训练模型也就是搜寻使成本函数(在训练集上)最小化的参数组合。
MSE:误差平方和/样本数,称为均方误差。求出的梯度也含有 2/m ,或 1/n
逻辑回归算法
数学知识:
特定事件发生的几率用数学公式表示为P/(1-P),对数函数log=wTx ,那么,预测样本属于某一特定类别的概率为log函数的反函数,φ(z)=1/(1+e^-z),这个反函数就是激励函数,反函数的输出值通过量化器判断是否某一类别。
在给定特征x及其权重w的情况下,sigmoid函数的输出给出了特定样本x属于类别1的概率φ(z)=P(y=1|x;w)
代价函数:
Adaline分类模型的为误差平方和
通过最小化此代价函数,我们可以得到Adaline分类模型的权重w
而逻辑斯谛回归模型,先定义一个最大似然函数L,改写一下对数似然函数作为代价函数J,这样就可以使用第2章中的梯度下降做最小化处理了
# 替换代价函数即可,但只是显示cost不同,w更新的公式还是一样?
逻辑斯谛回归中的回归系数更新用到的梯度下降本质上与第2章中的公式是相同的:计算对数似然函数对第j个权重的偏导
目标是求得能够使对数似然函数最大化的权重值,在此需按如下公式更新所有权重
由于最大化对数似然函数等价于最小化前面定义的代价函数J,因此可以将梯度下降的更新规则定义
这等价于第2章中的梯度下降规则。
通过正则化解决过拟合问题:
过拟合是机器学习中的常见问题,它是指模型在训练数据集上表现良好,但是用于未知数据(测试数据)时性能不佳。如果一个模型出现了过拟合问题,我们也说此模型有高方差,这有可能是因为使用了相关数据中过多的参数,从而使得模型变得过于复杂。
同样,模型也可能面临欠拟合(高偏差)问题,这意味着模型过于简单,无法发现训练数据集中隐含的模式,这也会使得模型应用于未知数据时性能不佳。
偏差-方差权衡(bias-variance tradeoff)就是通过正则化调整模型的复杂度。正则化背后的概念是引入额外的信息(偏差)来对极端参数权重做出惩罚。最常用的正则化形式称为L2正则化(L2 regularization),它有时也称作L2收缩(L2 shrinkage)或权重衰减
使用正则化方法时λ,我们只需在逻辑斯谛回归的代价函数中加入正则化项,以降低回归系数带来的副作用
通过正则化系数,保持权值较小时,我们就可以控制模型与训练数据的拟合程度。增加λ的值,可以增强正则化的强度。
C是正则化系数的倒数