最小二乘法的极大似然解释

简介: 在真实数据中,一个x值可能对应多个y值,因为实际y值可能是受多种因素影响,所以我们可以假设任意一个x对于的y的真实值服从正态分布。我们什么时候可以认为模型 hθ(x)hθ(x) 拟合出来的点最好?当然是 hθ(x)hθ(x) 取值概率最大的时候。

最开始学习机器学习的时候,首先遇到的就是回归算法,回归算法里最最重要的就是最小二乘法,为什么损失函数要用平方和,而且还得是最小?仔细想想最小二乘法视乎很合理,但是合理在哪,怎么用数学方法来证明它合理。

J(θ)=12∑i=1m(hθ(x(i))−y(i))2

J(θ)=12∑i=1m(hθ(x(i))−y(i))2


 在真实数据中,一个x值可能对应多个y值,因为实际y值可能是受多种因素影响,所以我们可以假设任意一个x对于的y的真实值服从正态分布。我们什么时候可以认为模型 hθ(x)hθ(x) 拟合出来的点最好?当然是 hθ(x)hθ(x) 取值概率最大的时候。

37fe1939b75001df67673c2633efd795_SouthEast.png

 如上图,红蓝两条线来拟合绿色的这些数据点,明显红色的直线拟合效果更好一些。为什么?仔细看图中直线上红色x点,红色的x点正好是当前x值下,训练数据中出现概率最高的位置(之前我们已经假设每个位置y值符合高斯分布)。所以我们要求的就是使得拟合出的线(高纬度是超平面)上概率最大的 θθ,这个时候我们就可以用到极大似然估计。

 接下来我们用极大似然来证明最小二乘法。假设误差 ε(i)(1≤i≤m)ε(i)(1≤i≤m)(就是上图中绿色数据点到红色x点的距离)是独立同分布的,服从均值为0,方差为某定值 σ2σ2的高斯分布,我们可以得到似然函数。

y(i)=θTx(i)+ϵ(i)p(ϵ(i))=12π−−√σe−(ϵ(i))22σ2p(y(i)|x(i);θ)=12π−−√σe(−(y(i)−θTx(i))22σ2)

y(i)=θTx(i)+ϵ(i)p(ϵ(i))=12πσe−(ϵ(i))22σ2p(y(i)|x(i);θ)=12πσe(−(y(i)−θTx(i))22σ2)


L(θ)=∏i=1mp(y(i)|x(i);θ)=∏i=1m12π−−√σe(−(y(i)−θTx(i))22σ2)

L(θ)=∏i=1mp(y(i)|x(i);θ)=∏i=1m12πσe(−(y(i)−θTx(i))22σ2)


 对上面似然函数求对数得到对数似然函数 ℓ(θ)ℓ(θ)

ℓ(θ)=logL(θ)=log∏i=1m12π−−√σe(−(y(i)−θTx(i))22σ2)=∑i=1m12π−−√σe(−(y(i)−θTx(i))22σ2)=mlog12π−−√σ−1σ2⋅12∑i=1m(hθ(x(i))−y(i))2

ℓ(θ)=logL(θ)=log∏i=1m12πσe(−(y(i)−θTx(i))22σ2)=∑i=1m12πσe(−(y(i)−θTx(i))22σ2)=mlog12πσ−1σ2⋅12∑i=1m(hθ(x(i))−y(i))2


 上式中, σσ 是定值,我们要使得上式最大,就得使 12∑mi=1(hθ(x(i))−y(i))212∑i=1m(hθ(x(i))−y(i))2最小,于是我们就得到了最小二乘。

J(θ)=12∑i=1m(hθ(x(i))−y(i))2

J(θ)=12∑i=1m(hθ(x(i))−y(i))2


 其实通过这个公式我们可以求得关于 θθ的解析解,可以直接计算出 θθ,但我们一般不这么做,因为求解析解过程中需要求矩阵的逆,这是一个非常耗时的工作(时间复杂度 Θ(n3)Θ(n3)),另外矩阵也不一定可逆,一般都是用梯度下降。但我们还是看下如何求 θθ的解析解。

J(θ)=12∑i=1m(hθ(x(i))−y(i))2=12(Xθ−y)T(Xθ−y)

J(θ)=12∑i=1m(hθ(x(i))−y(i))2=12(Xθ−y)T(Xθ−y)


对 J(θ)J(θ)求一阶导得到梯度。

∇θJ(θ)=∇θ(12(Xθ−y)T(Xθ−y))=∇θ(12(θTXT−yT)(Xθ−y))=∇θ(12(θTXTXθ−θTXTy−yTXθ+yTy))=12(2XTXθ−XTy−(yTX)T)=XTXθ−XTy

∇θJ(θ)=∇θ(12(Xθ−y)T(Xθ−y))=∇θ(12(θTXT−yT)(Xθ−y))=∇θ(12(θTXTXθ−θTXTy−yTXθ+yTy))=12(2XTXθ−XTy−(yTX)T)=XTXθ−XTy


因为 J(θ)J(θ)是存在极小值的凸函数,什么时候取最小值呢?当然是梯度为0的时候。

XTXθ−XTy=0XTXθ=XTyθ=(XTX)−1XTy

目录
相关文章
|
6天前
|
算法 vr&ar Python
【视频】什么是梯度下降?用线性回归解释和R语言估计GARCH实例
【视频】什么是梯度下降?用线性回归解释和R语言估计GARCH实例
|
9月前
|
机器学习/深度学习 算法 决策智能
粒子群PSO算法实验及其代码解释
粒子群PSO算法实验及其代码解释
|
算法 数据可视化 数据挖掘
高斯混合模型 GMM 的详细解释
高斯混合模型(后面本文中将使用他的缩写 GMM)听起来很复杂,其实他的工作原理和 KMeans 非常相似,你甚至可以认为它是 KMeans 的概率版本。 这种概率特征使 GMM 可以应用于 KMeans 无法解决的许多复杂问题。
169 0
|
Python
计量经济学笔记之OLS回归的推导
计量经济学笔记之OLS回归的推导
158 0
计量经济学笔记之OLS回归的推导
|
机器学习/深度学习 人工智能 资源调度
【机器学习】线性回归——最小二乘法的概率解释高斯噪声(理论+图解+公式推导)
【机器学习】线性回归——最小二乘法的概率解释高斯噪声(理论+图解+公式推导)
237 0
【机器学习】线性回归——最小二乘法的概率解释高斯噪声(理论+图解+公式推导)
|
机器学习/深度学习 数据可视化 Python
多元线性回归的模型解释、假设检验、特征选择(一)
多元线性回归的模型解释、假设检验、特征选择(一)
216 0
多元线性回归的模型解释、假设检验、特征选择(一)
|
算法 Python 数据可视化
多元线性回归的模型解释、假设检验、特征选择(二)
多元线性回归的模型解释、假设检验、特征选择(二)
277 0
多元线性回归的模型解释、假设检验、特征选择(二)
|
机器学习/深度学习 算法
用有趣的方式解释梯度下降算法
用有趣的方式解释梯度下降算法
用有趣的方式解释梯度下降算法
|
机器学习/深度学习 算法
[算法系列]SVM的数学推导原理
[算法系列]SVM的数学推导原理
[算法系列]SVM的数学推导原理
|
人工智能 开发者
回归方程求解小例子 | 学习笔记
快速学习回归方程求解小例子
103 0
回归方程求解小例子 | 学习笔记