02 回归算法 - 线性回归求解 θ(最大似然估计求解)

简介: 回顾线性回归的公式:θ是系数,X是特征,h(x) 是预测值。h(x) = θ0 + θ1x1 + θ2x2 + … + θnxnh(x) = Σ θixi( i=0~n )h(x) = θTX = [θ1,θ2,θ3,…,θn] * [x1,x2,x3,…,xn]T最终要求是计算出θ的值,并选择最优的θ值构成算法公式,使预测值能够尽可能接近真实值。

回顾线性回归的公式:θ是系数,X是特征,h(x) 是预测值。
h(x) = θ0 + θ1x1 + θ2x2 + … + θnxn
h(x) = Σ θixi( i=0~n )
h(x) = θTX = [θ123,…,θn] * [x1,x2,x3,…,xn]T
最终要求是计算出θ的值,并选择最优的θ值构成算法公式,使预测值能够尽可能接近真实值。

求解线性回归的思路

线性回归主要用到两种方法:最大似然估计、最小二乘法。两种思路截然不同,但最终得到的结果是一致的。

1、最大似然估计求解

y(i):某个样本的实际值。
θTX (i):使用公式求出的某个样本的预测值。
ε(i) :误差。
由于每个样本的预测值和实际值都存在一定的误差,我们获得如下公式:
y(i)= θTX (i) + ε(i)

所有样本的误差ε(i) (1 ≤ i ≤ n) 是独立同分布的,服从均值为 0,方差为某个定值的 б2 的高斯分布。

解释一下上面这个概念。

a、独立同分布( i.i.d )

实际问题中,很多随机现象都可以看做\color{red}{众多因素} 独立影响的综合反映,往往服从正态分布。

特征X:x1~xn 是独立同分布的。
每一个样本根据特征计算出的预测值和真实值之间的误差:ε1n 也是独立同分布的。

概率论中的一个概念,即一组数据彼此时间互不干扰,在现实环境里随机出现。

独立:比如抛硬币,每次硬币落地这一事件都是独立的,不会因为之前抛硬币的结果而改变。而如果是从一堆白球中每次取一个黑球这种事件,由于随着白球的减少下次取出黑球的概率会不断变大,则不能称每次的取球行为相互独立。

同分布:如果一组数据都是从掷6面色子的结果中获取的,则称样本同分布。如果数据中夹杂着几个掷12面色子的结果,则样本不是同分布的。

b、高斯分布

也称为正态分布,正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线

img_36dbb8099633160824c15e3d129e84b5.png

随机变量X服从一个数学期望为μ、方差为σ2的正态分布,记为N(μ,σ2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布

所有样本的误差ε(i) 服从均值为0,方差为σ2: 因为我们最终得到的公式是一个相对完美的公式,所以实际值会均匀得落到公式的两侧,如下所示。所有实际值和预测值的误差均值是0,均值为0意味着误差形成的高斯分布是一个

img_7dc588e0f7fd0e33907edd7cd9ee99ef.png
c、中心极限定理

中心极限定理:只要x1~xn 是独立同分布的,那么y = x1+x2+…+xn
则y服从:均值 = n * (x1~xn 的均值) = nμ;方差 = n*(x1~xn的方差)=nσ2

∵ 每个样本的预测值和实际值之间的误差ε(i)也是独立同分布的,所以所有误差的和 ε(i) 满足上述的定义。

又∵ 误差的均值为0,这点在b高斯分布中已证明。(模型是最优的,所以所有的实际值必然均匀得落在预测值的上下两侧,最后误差的均值是0)

∴ 所有样本的误差ε(i) (1 ≤ i ≤ n) 是独立同分布的,服从均值为 0,方差为某个定值的 б2 的高斯分布。得证。

\color{red}{某种样本取得一个参数的可能性,称之为似然函数。}
设: f (x | θ) 为样本 X=x1,x2,x3,…xn)的联合概率密度函数,如果观测到的X=x,则称θ的函数:L ( θ | x) = f (x | θ) 为似然函数。
即给定样本x情况下,产生参数θ的可能性 = 在给定参数θ的情况下,观测到样本x的概率。
因此:\color{red}{似然函数就用联合概率密度函数来表示。} 联合概率密度的值等于似然函数的值。

如果X是离散的随机变量,似然函数 L (θ | x) = p θ (X=x)
比较似然函数在某个参数点处的取值,
如果:p θ1 (X=x) = L (θ1 | x),p θ2 (X=x) = L (θ2 | x);
其中:p θ1 (X=x) > p θ2 (X=x) 即 L (θ1 | x) > L (θ2 | x);
则:当θ = θ1时观测到X=x的可能性大于θ = θ2时,说明θ1比θ2更像是θ的真实值。

上面解释得比较偏于理论,用一个例子来进一步解释

1号背包:白球1个 黑球99个 ,显然取得黑球的概率是99%;
2号背包:白球99个 黑球1个,显然取得黑球的概率是1%;
现在我被蒙上眼睛,在某个背包中取出了一个黑球。那么问题来了,我最有可能是从哪个背包中取出黑球的?显然刚才我从1号背包中取球的概率较大。

题干中,黑白两种球取出来的概率就是参数值 θ 。观测值是黑球,对应的公式为:
p θ1 (X=x) = L (θ1 | x) > L (θ2 | x) = p θ2 (X=x) ;
p θ1 (X=黑球) ; 背包1从中取得黑球的概率为99%;
p θ2 (X=黑球) ; 背包2中取得黑球的概率为1%;

上述例子中的θ只有背包1和背包2两种参数,但在实际中可能会出现很多组θ:( θ1,θ2,θ3,…,θn)
\color{red}{我们要观测这些参数值中可能性最大的一个似然函数: }
\color{red}{max L(¸|x) }
\color{red}{即最大似然函数 ,看它取得最大值时对应的参数¸是多少。}
\color{red}{这个¸就是我们最终想要的东西。}

最大似然函数求解θ过程

理论知识补充完了,接下来先回到最初的式子:
y(i)= θTX (i) + ε(i);实际值=预测值+误差;
即 ε(i) = y(i) - θTX (i)
由于误差是服从高斯分布的,高斯分布的概率密度函数:

img_2dc041ae6b1f5f67e341bc8292b56f79.png
正态分布的概率密度函数

由于 ε(i) 均值为0,将 ε(i) 代入公式得②:

img_14be14d8e732a4423e80a8a671977a98.png
② 第i个观测值对应的误差的概率密度函数

将公式 ε(i) = y(i) - θTX (i) ① 代入概率密度函数②得③:

img_501cc4c5416c081638b2813f605ffb0e.png

如何从②转化到③是最难理解的一步。

首先需要理解的是, ε(i) = y(i) - θTX (i),只有在给定了x的情况下,y才有取值的可能。

p(x;θ),在给定了θ情况下x的取值;
p(y|x;θ),在给定了x的情况下,还给定了某种参数θ的情况下,y的概率密度函数是多少;
由于x和θ是一个定值,所以θTX (i)可以理解成才一个定值C。

接着思考随机变量 ε(i),误差期望值(均值)是0, E(ε(i)) = 0 => E(ε(i)+C) = C

ε(i)是服从正态分布的(高斯分布),ε(i)+C是一个服从均值为C,方差不变的正态分布。

所以:既然y(i)= θTX (i) + ε(i);y也是服从一个均值为(均值=θTX (i),方差= ε(i)的方差)的正态分布的。但是有一个前提条件:X和θ是被给定的。

img_501cc4c5416c081638b2813f605ffb0e.png

所以公式③左侧的含义:在给定了x和某种参数θ的情况下y的概率密度函数。

∵ 联合概率密度函数等于似然函数,L ( θ | x) = f (x | θ);
∴ 得出公式④


img_08b51b05498019daec2cd7eb7e47889a.png
④联合概率密度函数等于似然函数

联合概率密度函数是怎么得到的?
∵ ε(i)是独立同分布的;
又∵ y(i)也是独立同分布的;
又∵ 根据概率公式: P(AB)表示A和B同时发生的概率;如果A、B相互独立 则P(AB)=P(A)*P(B);
∴ 将公式③左侧进行连乘,得到了公式④上行的右半部分;进一步展开即可得到公式④下行的结果。

到目前为止④联合概率密度函数等于似然函数是我们得出的结果,以上的叙述可以帮你很好的理解似然函数的概念。

总结几个容易混淆的概念

1、f(x|θ) 是什么?
f(x|θ) 是联合概率密度函数,是我所有样本基础上的某个事件是否发生的联合概率密度函数。

2、换个角度再解释下面这个公式:

img_455cfd7a6d9799058acc2388ae2d2e29.png

以上的式子,是发生在单个样本情况下服从的一个正态分布。
即p(y (1)|x (1);θ)…p(y (m)|x (m);θ) 都服从以上式子的正态分布。
所以他们的联合概率密度函数就是1~m个正太分布公式的连乘。
理论依据:y (i)是独立同分布的。

3、L(θ|x) = f(x|θ)
即给定样本x情况下,产生参数θ的可能性 = 在给定参数θ的情况下,观测到样本x的概率。
L(θ|x) 后面统一简写为L(θ),即最大似然函数 ,看它取得最大值时对应的参数θ是多少。

现在似然函数已经求完了,接下来我们要求L(θ) 是最大值情况下的 θ 的值。

首先考虑公式④的求导,显然不太好求。


img_08b51b05498019daec2cd7eb7e47889a.png

但我们知道对于任意一个变量,对它取对数,log(x)、ln(x),它们的单调性和x的单调性是一样的。随着x的增大,对数函数也增大,x减小,对数函数也减小。所以如果考虑求最大值,log(L( θ)) 、L(θ)它们极值点对应的自变量θ所在的位置是一样的。

根据结论推导出如下公式:


img_86373c2598156a042aa18c3662bb2f89.png

看公式的最后一行,减号左边的式子是一个常数,要取整个式子的最大值,就是求后面这部分式子的最小值。

所以现在问题转化为求如下式子最小值时θ的值:


img_d2877ff1e67543cae188de5bee54fd6d.png

该函数就是我们线性回归中最后需要求解的目标函数。

讲到这里又需要引入一个新的概念:损失函数(代价函数)

在机器学习中,我们希望找到一个面向整个模型的度量函数,使得这个度量函数越小越好。

本来我们求的是似然函数的最大值,现在把问题转换成了求目标函数的最小值。

损失函数:衡量的是单个观测值在当前系统下的一个损失情况。
代价函数:衡量所有样本在当前系统下的损失情况。

总结一下求解最大似然估计的步骤:

1、写出似然函数L(θ)
2、对似然函数取对数,并整理 ln L(θ)
3、求导数
4、解方程-导数为0的点(极值) ∂ ln L(θ) / ∂ θ = 0

好了,实在听不懂就算了,后文讲解一个更简单的求解θ的办法:最小二乘求解。

03 回归算法 - 线性回归求解 θ(最小二乘求解)

相关文章
|
2月前
|
机器学习/深度学习 存储 算法
sklearn应用线性回归算法
sklearn应用线性回归算法
26 0
|
2月前
|
机器学习/深度学习 数据采集 算法
线性回归算法是什么
线性回归算法是什么
27 0
|
2月前
|
机器学习/深度学习 算法 数据可视化
探索线性回归算法:从原理到实践
探索线性回归算法:从原理到实践【2月更文挑战第19天】
25 0
探索线性回归算法:从原理到实践
|
8月前
|
机器学习/深度学习 算法 API
机器学习算法之线性回归
机器学习算法之线性回归
|
6月前
|
机器学习/深度学习 算法
机器学习算法——线性回归
最近一直在学机器学习,但感觉学习效率低,理解不深入,所以想通过写博客总结来加深自己的理解,写一下我的理解过程, 也希望能帮到其他人。
31 0
|
23天前
|
机器学习/深度学习 算法 C++
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
|
3月前
|
机器学习/深度学习 人工智能 算法
利用Python实现简单的机器学习算法——线性回归
本文介绍了如何使用Python语言和相关库,通过实现线性回归算法来进行简单的机器学习模型训练和预测。通过详细的代码示例和解释,帮助读者了解机器学习中的基础概念和实践操作。
|
4月前
|
机器学习/深度学习 算法
流行的机器学习算法——线性回归
线性回归(Linear Regression)是非常流行的机器学习算法。线性回归可以用来确定两种或两种以上变量之间的定量关系。具体来说,线性回归算法可以根据一组样本数据,拟合出一个线性模型,并通过对该模型的参数进行估计和预测,达到对未知数据进行预测的目的。
|
5月前
|
算法 数据挖掘 C#
C# | 线性回归算法的实现,只需采集少量数据点,即可拟合整个数据集
什么是线性回归呢? 简单来说,线性回归是一种用于建立两个变量之间线性关系的统计方法。在我们的软件开发中,线性回归可以应用于数据分析、预测和优化等领域。 什么情况下会用到线性回归呢? 线性回归可以用于探索数据之间的关系,可以用于预测未来的趋势。通过少量的数据点就能得到一个可以代表整个数据集的模型。换句话说,只需要采集少量的数据点,就可以拟合出整个数据集。
72 0
|
6月前
|
机器学习/深度学习 数据挖掘
knn 线性回归 决策树房价预测实战
knn 线性回归 决策树房价预测实战
48 0