- 代价函数(Cost Function)
代价函数是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。
在线性回归中,最常用的是均方误差。
对于
hx=θTx=θ0x0+θ1x1+⋯+θnxn
其中x0=1
给定m个属性集x=x1;x2;⋯;xn线性回归基于均方误差的代价函数为:
Jθ0,θ1,…,θn=12mi=1mhxi-yi2
m:训练样本的个数;
n:样本属性个数(有n个属性,就应有多少个θ)
h(x):用参数θ和x预测出来的y值;
y:原训练样本中的y值,也就是标准答案;
下标(i):第i个样本;
- 损失函数(Loss Function)
损失函数是用来估量模型的预测值h(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, h(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。所以从作用上来看,代价函数和损失函数是同一个东西。
- 过拟合(Overfitting)
过拟合现象是指在拟合一个统计模型时,使用了过多的参数。当一个模型足够复杂的时候,可以完美地适应数据,但这会减少或破坏模型一般化的能力。
- 泛化能力(Generalization Ability)
在机器学习方法中,泛化能力通俗来讲就是指学习到的模型对未知数据的预测能力。在实际情况中,通常通过测试误差来评价学习方法的泛化能力
- 正则化(Regularization)
正则化在本质上是为了防止过拟合, 进而增强泛化能力。
- 目标函数(Object Function)
目标函数定义为:最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function + 正则化项)。
线性模型的目标函数通常可以表示成如下式子:
Jθ0,θ1,…,θn= 12mi=1mhxi-yi2+λi=1nθj2
- 评价函数
R方(R-Square)
R方通常用来描述数据对模型的拟合程度的好坏。
公式为:
R2=1-i=1myi-yi2i=1myi-y2
模型的决定系数(Determinate Coefficient) 等于复相关系数的平方。与简单线性回归中的决定系数相类似,它表示反应变量y 的总变异中可由回归模型中自变量解释的部分所占的比例,是衡量所建立模型效果好坏的指标之一。显然,R2越大越好,但是也存在与复相关系数一样的不足,即使向模型中增加的变量没有统计学意义,值仍会增大。
修正R方(Adjusted R-Squared)
Radj2=1-m-11-R2m-n-1
其中m是样本数量,n是模型中变量的个数。
由于用R2 评价拟合模型的好坏具有一定的局限性,即使向模型中增加的变量没有统计学意义,R2 值仍会增大。因此需对其进行校正,从而形成了校正的决定系数(Adjusted R Square) 。与R2不同的是,当模型中增加的变量没有统计学意义时,校正决定系数会减小,因此校正R2 是衡量所建模型好坏的重要指标之一,校正R2 越大,模型拟合得越好。但当p/n 很小时,如小于0.05 时,校正作用趋于消失。
MSE/MAE
均方误差(MSE)是回归损失函数中最常用的误差,它是预测值与目标值之间差值的平方和,其公式为:
MSE=i=1mhxi-yiP2m
其中 yiP为真实值;
hxi是预测值;
平均绝对误差(MAE)是另一种常用的回归损失函数,它是目标值与预测值之差绝对值的和,表示了预测值的平均误差幅度,而不需要考虑误差的方向(注:平均偏差误差MBE则是考虑的方向的误差,是残差的和),范围是0到∞,其公式为:
MAE=i=1mhxi-yiPm
显然均方差更容易求解,但平均绝对误差则对于异常值更稳健。
线性回归的原理
线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。给定的数据集学得一个通过属性的线性组合来进行的预测函数
hθx=θTx
损失函数推导
MSE=i=1mhxi-yiP2n
MAE=i=1mhxi-yiPm
损失函数求解
首先考虑 n = 1 的情况,即一元线性回归
给定属性集x=x1;x2;⋯;xm,试图学得:hxi=θ0+θ1xi 使得:hxi≅yi
西瓜书中采用了MSE衡量 hxi、yi之间的差别。基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。
令Jθ0,θ1=i=1myi-θ1x-θ02,使Jθ0,θ1最小化的过程,称为线性回归模型的最小二乘”参数估计”。(m是属性数目,n是数据数目)
分别对θ1、θ0分别求导有:
∂Jθ0,θ1∂θ1=2θ1i=1mxi2-i=1myi-θ0xi
∂Jθ0,θ1∂θ0=2mθ0-i=1myi-θ1xi
令两式分别为零,可得:
θ1=i=1myixi-xi=1mxi2-1mi=1mxi2
θ0=1mi=1myi-θ1xi
正则线性回归
给定m个属性集x=x1;x2;⋯;xn,试图学得:hxi=θTx=θ0x0+θ1x1+⋯+θnxn ,其中x0=1。使得:hxi≅yi
令
Jθ0,θ1,…,θn= 12mi=1mhxi-yi2+λi=1nθj2
则采用梯度下降:
θj≔θj-α∂∂θjJθ0,θ1,…,θn
θj≔θj-α1mi=1mhxi-yixij+λmθj
(j=0,1,…n)
定义一个合理的阈值,两次迭代之间的差值小于该阈值时,迭代结束。
逻辑回归
逻辑回归(Logistic Regression, LR)模型其实在线性回归的基础上,套用了一个逻辑函数,sigmod函数,得到:
y=11+ⅇ-θTx
变化为:
lny1-y=θTx
又因为:
lnPy=1xPy=0x=θTx
解得:
py=1x=ⅇθTx1+ⅇθTx
py=0x=11+ⅇθTx
对其求极大对数似然函数即可得θT
sklearn参数详解
from sklearn.linear_model import LinearRegression
linear = LinearRegression()
linear.fit(X, y) #fit函数,拟合线性模型。其中X,y分别为训练数据的特征和标签。
linear.predict(y_new) #predict函数,用线性模型来进行预测。
from sklearn.linear_model import LogisticRegression
log_reg = LogisticRegression()
log_reg.fit(X, y)
log_reg.predict(y_new)
实际上这篇东西我用word文档整理的,但是发布出来,只好直接复制过来。