机器学习--回归算法--线性回归算法理论

 

目录

一 回归算法核心思想

1 符合线性模型

2 数据距离拟合超平面的直线距离最小

二 回归算法模型

1 前提要求

1 )线性模型

2)残差分布

3 )极大似然原理

2 模型构建

3 最小二乘解析解的限制问题

1)解析解要求X^T*X矩阵可逆

2)求逆矩阵困难问题

三 模型过拟合与欠拟合问题

1 数据拟合中一般出现欠拟合与过拟合问题

2 欠拟合出现的原因以及解决方法

1)欠拟合出现的一般原因

2)欠拟合问题的解决方法

3 过拟合出现的原因以及解决方法

1)过拟合出现的一般原因

2)过拟合问题的解决方法

4 线性模型过拟合问题(在算法学习上做出限制)

1)Ridge回归

2)Lasso回归

3)ElasticNet回归

4)三种方法的优劣对比

四  线性回归算法的常用评价指标

1 MSE(越趋于0越好,取值范围为0到正无穷)

2 RMSE(越趋于0越好,取值范围为0到正无穷)

3 MAE(越趋于0越好,取值范围为0到正无穷)

4 R^2(越趋于1越好,取值范围为负无穷到1)

五 局部加权线性回归(不推荐使用)

1 重定义损失函数

2 权重w^i(指数衰减函数)

3 缺点(非参数学习,即参数不固定)


一 回归算法核心思想

1 符合线性模型

即特征集X与目标属性Y之间满足线性关系,符合线性模型

2 数据距离拟合超平面的直线距离最小

期望确定某个超平面,使得训练集数据均匀分布于超平面两侧,且距离超平面直线距离最小

二 回归算法模型

1 前提要求

1 )线性模型

y^{^{(i)}}=\theta ^{T}x^{^{(i)}}+\epsilon_{i}   (y^{^{(i)}}\approx \theta ^{T}x^{^{(i)}},截距\theta _{0}以包含在内)

注意:y^{^{(i)}}x^{^{(i)}}\epsilon_{i}均为随机变量,\theta为系数,且\epsilon_{i}满足独立同分布

2)残差分布

 \epsilon_{i}\sim N(0,\sigma ^{2}),根据中心极限定理决定

3 )极大似然原理

假设一场试验中,发生A结果,并未发生B结果或者其他结果,那么说明该试验对A有利,进而数学上可以表达为p(A)=p(A|\theta ^{'}),其中\theta ^{'}为有利于A的条件

2 模型构建

第一步:残差的联合概率密度函数

\epsilon ^{(i)}\sim N(0,\sigma ^2)\rightarrow p(\epsilon ^{(i)})=\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(\epsilon ^{(i)})^{2}}{2\sigma ^2}}

\Rightarrow p(\epsilon ^{(i)})=\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^2}}

\Rightarrow p(\epsilon)=\prod_{i=1}^{m}p(\epsilon^{(i)})=\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^2}}

\Rightarrow p(\epsilon)=p(y^{(i)}|x^{(i)},\theta)=\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^2}}

第二步:构建对数似然函数

L(\theta)=\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^2}}\rightarrow l(\theta)=logL(\theta)=\sum_{i=1}^{m}log(\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^2}})

l(\theta)=\sum_{i=1}^{m}log(\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^2}})

=\sum_{i=1}^{m}log(\frac{1}{\sqrt{2\pi }\sigma })+\sum_{i=1}^{m}log(e^{-\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^2}})

=\sum_{i=1}^{m}log(\frac{1}{\sqrt{2\pi }\sigma })+\sum_{i=1}^{m}log(e^{-\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^2}})

=\sum_{i=1}^{m}log(\frac{1}{\sqrt{2\pi }\sigma })-\sum_{i=1}^{m}\frac{(y^{(i)}-\theta ^{T}x^{(i)})^{2}}{2\sigma ^2}

=\sum_{i=1}^{m}log(\frac{1}{\sqrt{2\pi }\sigma })-\frac{1}{2\sigma ^2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}

\Rightarrow l(\theta)=\sum_{i=1}^{m}log(\frac{1}{\sqrt{2\pi }\sigma })-\frac{1}{2\sigma ^2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}

第三步:损失函数(平方和损失函数)

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}

第四步:求解损失函数

  • 方式一:最小二乘法(X\subset C^{m,n+1},Y\subset C^{m,1},\theta\subset C^{m+1,1}

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}=\frac{1}{2}(Y-X\theta)^{T}(Y-X\theta)

=\frac{1}{2}(Y^{T}-\theta^{T}X^{T})(Y-X\theta)

=\frac{1}{2}(Y^{T}Y-Y^{T}X\theta-\theta^{T}X^{T}Y+\theta^{T}X^{T}X\theta)

\Rightarrow J(\theta)=\frac{1}{2}(Y^{T}Y-Y^{T}X\theta-\theta^{T}X^{T}Y+\theta^{T}X^{T}X\theta)

\frac{\partial J(\theta)}{\partial \theta}=\frac{1}{2}(-X^{T}Y-X^{T}Y+(X^{T}X+X^{T}X)\theta)=\frac{1}{2}(-2X^{T}Y+2X^{T}X\theta)=0

\Rightarrow X^{T}X\theta-X^{T}Y=0\Rightarrow X^{T}X\theta=X^{T}Y\Rightarrow \theta=(X^{T}X)^{-1}X^{T}Y

\Rightarrow \theta=(X^{T}X)^{-1}X^{T}Y

  • 方式二:梯度下降法(BGD)

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})^{2}

\bigtriangledown _{\theta_{j}}J(\theta)=\frac{\partial J(\theta)}{\partial \theta_{j}}=-\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})x^{(i)}_{j}

\Rightarrow \theta_{j}=\theta_{j}+\alpha\sum_{i=1}^{m}(y^{(i)}-\theta ^{T}x^{(i)})x^{(i)}_{j}

\Rightarrow \theta_{j}=\theta_{j}+\alpha\sum_{i=1}^{m}(y^{(i)}-h_{\theta}(x^{(i)}))x^{(i)}_{j},h_{\theta}(x^{(i)})=\theta ^{T}x^{(i)}

3 最小二乘解析解的限制问题

1)解析解要求X^T*X矩阵可逆

\theta =(X^{T}X)^{-1}X^{T}Y\Rightarrow(X^{T}X)^{-1}可逆,很明显发现:无法保证所有的数据集都满足该限制,那么数学上最优解,我们有的时候无法求出故而增加n阶单位阵I,以及参数\lambda (\lambda >0),从而模型最优解调整\theta =(X^{T}X+\lambda I)^{-1}X^{T}Y

2)求逆矩阵困难问题

所以针对线性模型的平方损失函数,我们在计算机上不采用最小二乘解析解的方式,而是采用梯度下降算法近似求出

三 模型过拟合与欠拟合问题

1 数据拟合中一般出现欠拟合与过拟合问题

当数据量足够的时候,一般过拟合问题成为算法的天花板,因而过拟合问题的解决成为主要问题,即如何保证数据拟合呈现鲁棒性(或者说使得模型具有鲁棒性)

注意:

  • 欠拟合:一般是指模型拟合数据的映射关系复杂度低,损失高
  • 过拟合:一般是指模型拟合数据的映射关系复杂度高,损失低

2 欠拟合出现的原因以及解决方法

1)欠拟合出现的一般原因

  • 算法学习能力不强
  • 数据量不够
  • 特征属性太少(特征属性和目标属性之间没有那么强的映射关系)

2)欠拟合问题的解决方法

  • 换一种算法学习能力强的
  • 增加数据量
  • 增加特征

注意:增加特征常常采用多项式扩展,即低维度映射到高维度,将低维度非线性数据映射到高维度上成为线性数据

 

3 过拟合出现的原因以及解决方法

1)过拟合出现的一般原因

  • 算法学习能力太强
  • 数据量不够
  • 进行训练的数据和实际数据相差比较大

2)过拟合问题的解决方法

  • 对算法学习能力做出限制
  • 增加数据量
  • 一般不需要进行太深的维度扩展(比如多项式扩展)

4 线性模型过拟合问题(在算法学习上做出限制)

注意:线性回归模型过拟合情况下,我们采用三种方式:Ridge回归,Lasso回归,ElasticNet回归

1)Ridge回归

通过对损失函数添加L2正则项(不对截距进行正则)

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2}+\lambda\sum_{j=1}^{n}(\theta_{j})^{2}(\lambda>0)

2)Lasso回归

通过对损失函数添加L1正则项(不对截距进行正则)

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2}+\lambda\sum_{j=1}^{n}|\theta_{j}|(\lambda>0)

3)ElasticNet回归

通过对损失函数添加L1正则项和L2正则项以及赋予权重系数p

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2}+\lambda\left ( p\sum_{j=1}^{n}|\theta_{j}|+(1-p)\sum_{j=1}^{n}(\theta_{j})^{2} \right )

注意:\lambda>0,p\subset (0,1)

4)三种方法的优劣对比

在实际数据中,数据维度中是存在噪音和冗余的,而稀疏解是可以找到有用的维度,并减少噪音和冗余的影响,提高模型的鲁棒性和准确性

  • 第一点 Ridge回归不具有稀疏解特性,但是具有更快的求解速度(采用了梯度下降方法)
  • 第二点 Lasso回归具有稀疏解特性,可以更好的去除噪音冗余数据特征(采用了坐标轴下降方法)
  • 第三点 ElasticNet回归既具有求解速度也具有稳定性

注意:实际应用中,由于数据在进行建模之前,通过特征工程已经去除了噪音和冗余特征,所以说Ridge回归采用的更为普遍

四  线性回归算法的常用评价指标

注意:MSE/RMES/MAE评价指标有量纲影响,R^2评价指标无量纲影响

 

1 MSE(越趋于0越好,取值范围为0到正无穷)

MSE=\frac{1}{m}\sum_{i=1}^{m}(\hat{y}-y^{(i)})^{2}

2 RMSE(越趋于0越好,取值范围为0到正无穷)

RMSE=\sqrt{\frac{1}{m}\sum_{i=1}^{m}(\hat{y}-y^{(i)})^{2}}

3 MAE(越趋于0越好,取值范围为0到正无穷)

MAE=\frac{1}{m}\sum_{i=1}^{m}|\hat{y}-y^{(i)}|

4 R^2(越趋于1越好,取值范围为负无穷到1)

R^{2}=1-\frac{RSS}{TSS}=1-\frac{\sum_{i=1}^{m}(\hat{y}-y^{(i)})^{2}}{\sum_{i=1}^{m}(\bar{y}-y^{(i)})^{2}},(\bar{y}=\frac{1}{m}\sum_{i=1}^{m}y^{(i)})

注意:

  • RSS:表示残差平方和,代表预测值与真实值之间的差异情况,是MSE的m倍
  • TSS:表示总平方和,代表样本之间差异情况,是伪方差的m倍

五 局部加权线性回归(不推荐使用)

1 重定义损失函数

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}w^{i}(y^{(i)}-h_{\theta}(x^{(i)}))^2

2 权重w^i(指数衰减函数)

w^{i}=e^{-\frac{(x^{(i)}-x)^2}{2k^2}}

注意:

  • x:待预测样本
  • k:波长参数
  • 样本距离待预测样本越远,系数w^{i}越小(\rightarrow 0
  • 样本距离待预测样本越近,系数w^{i}越大(\rightarrow 1

3 缺点(非参数学习,即参数不固定)

每一次预测新样本,都需要重新训练所有样本(本质上每个待预测样本,参数\theta都不相同)

你可能感兴趣的:(机器学习,python,随机梯度下降,最小均方误差)