第1节 线性回归模型
1. 模型概述
对于收集到的数据(xi,yi)(x_i,y_i)(xi,yi),建立线性回归模型yi=θTxi+εi(1)y_i=\\theta^{^T} x_i +\\varepsilon_i (1)yi=θTxi+εi(1)
需要估计的参数为θT\\theta^{^T}θT,我们的目的是让估计的参数θT\\theta^{^T}θT和xix_ixi组合后,得到的估计值y^i\\hat{y}_iy^i与实际值yiy_iyi越接近越好,也就是随机误差项εi\\varepsilon_iεi越小越好。
2. 模型求解
由于假设模型的误差项是服从独立同分布(独立:数据之间互相不影响,同分布:保证模型使用于某一类数据)的高斯分布(标准正态分布)1,即ϵ∼N(0,σ2)\\epsilon \\sim N(0, \\sigma^2)ϵ∼N(0,σ2),则其概率密度函数为
p(ϵi)=12πσexp(−εi22σ2)(2)p(\\epsilon_i)=\\frac{1}{\\sqrt{2\\pi}\\sigma }exp(-\\frac{\\varepsilon_i^2}{2\\sigma^2})(2)p(ϵi)=2πσ1exp(−2σ2εi2)(2)
对(1)式进行变形,则有εi=yi−θTxi\\varepsilon_i=y_i-\\theta^{^T} x_iεi=yi−θTxi,将其带入(2)式,得
p(yi∣xi,θ)=12πσexp(−(yi−θTxi)22σ2)p(y_i|x_i,\\theta)=\\frac{1}{\\sqrt{2\\pi}\\sigma }exp(-\\frac{(y_i-\\theta^{^T} x_i)^2}{2\\sigma^2})p(yi∣xi,θ)=2πσ1exp(−2σ2(yi−θTxi)2)
因为我们的目的是让求解得出的参数θ\\thetaθ和和xix_ixi组合后,得到的估计值y^i=θTxi\\hat{y}_i=\\theta^{^T} x_iy^i=θTxi是真实值yiy_iyi的概率越大越好,也就是让这个概率越大越好。
由于以上只是单个的样本数据,假设我们有mmm个样本数据,样本之间互相独立,则所有的样本的概率等于单个样本的概率的乘积,我们将所有样本的概率记为似然函数L(θ)L(\\theta)L(θ),则
L(θ)=∏i=0m12πσexp(−(yi−θTxi)22σ2)L(\\theta)=\\prod \\limits_{i=0}^m\\frac{1}{\\sqrt{2\\pi}\\sigma }exp(-\\frac{(y_i-\\theta^{^T} x_i)^2}{2\\sigma^2})L(θ)=i=0∏m2πσ1exp(−2σ2(yi−θTxi)2)
由于多个式子相乘难以求解,我们可利用对数将其转化为加法。两边同时取对数,得到对数似然函数lnL(θ)lnL(\\theta)lnL(θ),
lnL(θ)=ln∏i=0m12πσexp(−(yi−θTxi)22σ2)lnL(\\theta)=ln\\prod \\limits_{i=0}^m\\frac{1}{\\sqrt{2\\pi}\\sigma }exp(-\\frac{(y_i-\\theta^{^T} x_i)^2}{2\\sigma^2})lnL(θ)=lni=0∏m2πσ1exp(−2σ2(yi−θTxi)2)
即
lnL(θ)=mln12πσ−1σ212∑i=1m(yi−θTxi)2lnL(\\theta)=mln\\frac{1}{\\sqrt{2\\pi}\\sigma }-\\frac{1}{\\sigma^2}\\frac{1}{2}\\sum_{i=1}^m(y_i-\\theta^{^T} x_i)^2lnL(θ)=mln2πσ1−σ2121i=1∑m(yi−θTxi)2
要对上述式子求最大值,则相当于对12∑i=1m(yi−θTxi)2\\frac{1}{2}\\sum_{i=1}^m(y_i-\\theta^{^T} x_i)^221∑i=1m(yi−θTxi)2求最小值,我们将其记为J(θ)J(\\theta)J(θ),并取名为目标函数,则目标函数为
J(θ)=12∑i=1m(yi−θTxi)2J(\\theta)=\\frac{1}{2}\\sum_{i=1}^m(y_i-\\theta^{^T} x_i)^2J(θ)=21i=1∑m(yi−θTxi)2
那么,求解这个目标函数所使用的方法就是最小二乘法,最小二乘法的代数法解法就是对θi\\theta_iθi求偏导数,令偏导数为0,再解方程组,得到θi\\theta_iθi的估计值。矩阵法比代数法要简洁,下面主要讲解下矩阵法解法。
由于
J(θ)=12∑i=1m(yi−θTxi)2=12∑i=1m(θTxi−yi)2=12(Xθ−Y)T(Xθ−Y)J(\\theta)=\\frac{1}{2}\\sum_{i=1}^m(y_i-\\theta^{^T} x_i)^2=\\frac{1}{2}\\sum_{i=1}^m(\\theta^{^T} x_i-y_i)^2=\\frac{1}{2}(X\\theta-Y)^{^T}(X\\theta-Y)J(θ)=21i=1∑m(yi−θTxi)2=21i=1∑m(θTxi−yi)2=21(Xθ−Y)T(Xθ−Y)
我们需要对其求偏导,∂J(θ)∂θ=12∂(θTXTXθ−θTXTY−YTXθ+YTY)∂θ=12(2XTXθ−2XTY)\\frac{\\partial J(\\theta)}{\\partial \\theta}=\\frac{1}{2}\\frac{\\partial (\\theta^{^T}X^{^T}X\\theta-\\theta^{^T}X^{^T}Y-Y^{^T}X\\theta+Y^{^T}Y)}{\\partial \\theta}=\\frac{1}{2}(2X^{^T}X\\theta-2X^{^T}Y)∂θ∂J(θ)=21∂θ∂(θTXTXθ−θTXTY−YTXθ+YTY)=21(2XTXθ−2XTY),令其等于0,得θ^=(XTX)−1XTY\\hat \\theta=( X^{^T}X)^{-1}X^{^T}Yθ^=(XTX)−1XTY
这里,需要用到矩阵求导的公式2.
-
在了解正态分布之前,我们需要先了解一个概念——概率分布。概率分布是指:经过大量的重复试验,将随机事件的所有可能的出现结果的次数分布记录下来,并在坐标系中做出一条曲线,这条曲线就是数据的概率分布曲线,由概率分布曲线可以估算变量的概率。正态分布就是一种常见的概率分布,它的概率分布曲线是一个钟形曲线,生活中大量的变量都服从正态分布,例如:人群的身高、鞋码、学生成绩等。正态分布只依赖于数据的两个特征:均值和方差。标准正态分布的均值为0,方差为σ2\\sigma^2σ2. ↩︎
-
∂XTA∂A=∂ATX∂X=A,∂XTAX∂X=AX+ATX\\frac{\\partial X^{^T} A }{\\partial A}=\\frac{\\partial A^{^T} X }{\\partial X}=A, \\frac{\\partial X^{^T} A X}{\\partial X}=AX+ A^{^T} X∂A∂XTA=∂X∂ATX=A,∂X∂XTAX=AX+ATX ↩︎