这是我参与8月更文应战的第29天,活动概略检查:8月更文应战
文章有点,并且大部分都是公式推导,不过推导进程中现已尽量把每一步解说清楚,经过阅览,咱们对怎样运用最小二梯度下降乘法和极大似然法来求解线性模型的
- 最小二乘法
- 几许视点来看最小二乘法
- 概率视点看最小二乘法
什么是回归问题
今日咱们来讨论一下线性模型,之前现已了解到线性模型来做回归问题,回归问题多用来猜测一个具体的数值,如猜测房价、股价(这个应用用随机进程来解)、未来的天气情况等等。例如咱们根据一个区域的若干年的 PM2.5 数值变化来估计某一天该区域的 PM2.5 值巨细,猜测值与当天实践数值巨细越挨近,回归剖析算法的可信度越高矩阵的秩。
线性模型用于回归问题,梯度下降算法的正确进程便是根据给定样本数据训练出一个线矩阵工厂怎样开性模型(拟合梯度电费是怎样收费的现有样本点),然后用这个线性模型来对新样本预估一个值梯度洗脱。一般模型
h=0+1×1+2×2+⋯+nxnh_{theta} = theta_0 + theta_1 x_1 + theta_2 x_2 + dots + theta_n x_nh=0+1x1+2x2+⋯+nx梯度怎样求n
运用一元线性模型去梯度下降做回归问题,那么该使命就称之为一元线性回归。一元线性回归的求解可选用最小二乘法,也能够选用迭代的方法去求解。
预算法备数据
监督学习中,样本 D 一般都是这样标明的,每一个样是一个 n 维特征的 X 向量和标明标签的 y 组成的。在回归问题中 y 是具体数值,而在分类问题中 y 是标明样本所属的类别。
D梯度下降={(x(1),y(1)),(x(2),y(2)),…线性回归方程公式详解,(x(n),y(梯度下降法例题n))}x(i)∈RnD = { (x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),dots, (x^{(n)},y^{(n)}) } x^{(i)} in mathbb{R}^nD={(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))线性回归剖析}x(i)∈Rn
有了样本之后,就能够初步定义模型了,模型其实便是用数学的言语描绘一些事物以及事梯度下降法例题物之间联络,这是我个人对模型的了解,便是用数学言语描绘事物以及事物之间的联络。算法也便是怎样基于模型算法剖析的意图是求解出优化问题的解。
定义模型
那么这儿模型便是标明样本中 X 和 y 之间的联络,下面来定义线性线性回归计算三要素函数来标明 x 和 y 之间联络,函数参数用theta来标明,能够写成下面算法工程师的姿势
h=0+1×1+2×2+⋯+nxnh_{theta梯度下降法matlab} = theta_0 + thet梯度下降法a_1矩阵游戏 x_1 + theta_2 x_2 + dots + theta_n x_nh=0+1x1+2x2+⋯+nxn算法工程师
={0,1,…,n}Ttheta = { theta_0, theta_1, dots,梯度自愿 theta_n }^T={0,1,…,n}T
这儿0theta_00 标明偏置。
设定方针函数
经过核算样本点到线性模型(直线或超平面)间隔来点评咱们模型对数据拟算法合程度,也便是咱们要优化的方针。由于经过衡量实在值估计值之间间隔最小作为方针。咱们方针便是让方针函数(也叫丢掉函数)取值最小,这儿用y^−yhat{y} – yy^−y的作为点到线间隔,咱们可能会有疑问点到直线间隔不是从矩阵工厂怎样开点引一条直线的垂线,其实这是等价的问题,并不需要去求间隔,较少猜测值到实在值之间平方差便是线性回归方程公式等于样本点到线性方差直线之间的间隔。
假设数据量在 100 万之内,咱们无需用梯度下降,能够运用最小二乘法来直梯度洗脱接求解问题。
最小二乘法(LMS)
在线性问题中,咱们找到一条直线来拟合样本,然后核算点到直线间隔来来点评找到模型好坏。
D={(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))}x(i)∈RnD = { (x^{(1)},梯度是什么意思y^{(1)}),(x^{(2)},线性回归计算三要素y^{(算法与机估计之间的联系2)}),dots, (x^{(n)},y^{(n)梯度是什么意思}) } x^{(i)} in mathbb{R梯度下降法原理}^nD矩阵的乘法运算={(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n梯度下降法公式))}x矩阵的逆(i)∈Rn
h=0x0+1×1+⋯+nxnh_{theta} = theta_0 x_0 + theta_1 x_1 + dots + t梯度下降heta梯度下降法原理和进程_n x_nh梯度下降法=梯度下降法公式0x算法剖析的意图是0+1x1+⋯+nxn
接下来用线性方程组来矩阵标明模型,之所以矩矩阵的秩阵,能够将一些线性方程算法的有穷性是指组数学问题转换到空间上问题
0x0+1×1(1)+2×2(1)+⋯+mxm(1)=y(1)0x0+矩阵乘法1×1(2)+2×2(2)+⋯+mxm(2)=y(2)⋮0x0+1×1(N)+2×2(N)+⋯+矩阵类似mxm(N)=y(N)b线性回归egin{aligned} theta_0 x_0 + theta_1 x_1^{(梯度是什么意思1)} + theta_2 x_2^{(1)} + cdots + theta_m x_m^{(梯度下降法matlab1)} = y^{(1)} theta_0 x_0 + theta_1 x_1^{(2算法的五个特性)} + theta_2 x_2^{(2)} + cdots + theta_m x_m^{(2)} = y^{(2)} vdots thet矩阵式大灯是什么意思a_0 x_0 + theta_1 x_1^{(N)} + theta_2 x_2^{(矩阵工厂怎样开N)} + cdots + theta_m x_m^{(N)} = y^{(N)} end{aligned}0x0+1x1(1)+2x2(1)+⋯+mxm(1)=y(1)0x0+1x1(2)+2x2(2)+⋯+mxm(2)=y(2)⋮0x0+1x1(N)+2x2矩阵游戏(N)+⋯+m矩阵xm(N)=y(N)
现在测验用矩阵方法来标明这个线性方程组,矩阵 A 标明咱们样本,每一行标明一个样本,算法是什么每一列标明样本的特征,这儿梯度下降算法的正确进程有 N 个样本,小写 n 标明每一个样本的特征数量。也便是每一个样本的增梯度下降法原理和进程广矩阵,
A=[1×1(1)x2(1)…xm(1)1×1(2)x2(2)…xm(2)⋮⋮⋮⋱⋮1×1(N)x1(N)…矩阵的秩xm(N)]A = be矩阵游戏gin{bm梯度下降算法的正确进程atrix} 1 &线性回归剖析 x_1^{(1)}矩阵等价 & x_2^{(1)} & dots & x_m^{(1)} 1 & x_1^{(2)} & x_2^算法的有穷性是指{(2)} &线性回归方程的a和b怎样求; do梯度ts & x_m^{(2)} 矩阵的逆 vdots & vd线性回归ot梯度下降法s梯度下降法公式 & vdots & ddots & vdots 1 & x_1^{(N)} & x_1^{(N)} & dots & x_m^算法工程师{(N)} e矩阵的逆nd{bmatrix}A=⎣⎢⎢⎢⎢⎢⎡11⋮1x1(1)x1(2)⋮x1(N)x2(1)x2(2)⋮x1(N)……⋱…xm(1)xm(2)矩阵的逆⋮xm(N)⎦⎥⎥⎥⎥⎥⎤
由于在方程梯度下降法求最小值中的参数咱们将截距用0theta_00来标明,所在样本 A 矩阵中榜首列是的值 1 由于这一列将和标明0theta_00(截距)相乘,这儿 theta 是 (n+1)1(n+1) times 1(n+1)1 形状的参数矩阵,参数矩阵形状是由 A 矩阵形状和标明标签 Y (N1)(N times 1) (N1)的向量的形状所供认的。
AN(n+1)(n+1)1=y(N1)A_{N times (n+1)} theta_{(n+1) times 1} = y_{(N times 1)}AN(n+1)(矩阵等价n+1)1=y(N1)
数据矩阵 A 是 N(n+1)Ntimes(n+1)N(n+1)和(n+矩阵游戏1)梯度稀释法的具体进程1(n+1)times1(n+1)1得到矩阵便是 NNtime矩阵工厂怎样开s线性回归方程的a和b怎样求N1 ,这便是标签的形状。
∑i=1N(h(x(i))−y(i))2sum_{i=1}^N (h_{theta}(x^{(i)}) – y^{(i)})^2i=1∑N(算法的有穷性是指h(x(i))−y(i))2
有了矩阵标明方法,咱们就能够用矩阵方法来标明咱们丢掉函数
S=min∣∣A−Y∣∣2S = min ||A theta – Y||^2S=min∣∣A−Y∣∣2
接下来对矩阵进行求模并进行化简。具体推导进程如下,这儿咱们有必要介绍一下矩阵的运算,特别是矩阵的转置操作,矩阵中加减法比较好了解,但是乘法就比较特别了在矩阵没有交流率 AB≠BAAB neq BAAB=BA
=(A−Y)T(A−Y)=(TAT−YT)(A−Y)=TATA−TATY−YTA+YTY=TATA−2TATY+YTYb梯度下降法原理egin{aligned} = (Atheta – Y)^T(Atheta – Y) = (梯度theta^TA^算法是什么T – Y^T)(Atheta – Y) = theta矩阵的乘法运算^TA^TAtheta – theta^T算法规划与剖析A^TY – Y^TAtheta +Y^TY = theta^TA^TAtheta – 2theta^TA^TY +Y线性回归方程^TY end{aligned}=(A−Y)T(A−Y)=(TAT−YT)(A−Y)=TA梯度下降算法的正确进程TA−TATY−YTA+YTY=TATA−2TATY+YTY
ATA^TAT 形状是(n+1)N(n+1) times N(n+1)N 而 Tt线性回归方程公式heta线性回归方程例题详解^TT 的形状为 1(n+1)1 times (n+1)1(n+1) 所以TATtheta^TA^线性回归方程公式详解TTAT相乘得到1N1times N1N的矩阵在乘以 YYY 这个N1Ntimes 1N1的向量得到是一个标量,咱们能够测验推导一下线性回归方程 YTAY^TAthetaYTA 得到也是一个标量,由于他们都是标量所以能够相加得到
TATY−YTA=−2TATYthe线性回归方程公式ta^TA^TY – Y^TAtheta = -2theta^TA^TYTATY−YTA=−2TATY
之梯度自愿是什么意思前咱们都是经过梯度下降方法来不断更新梯度怎样求参数。具体做法便是咱们对参数关于丢掉函数进行求导后来更新参数,下面便是经过导数乘矩阵乘法以一个学习率,学习率标明模型学习速度,也便是每一个更新参数起伏,然后用这个值来更新参数得到新的参数。
j=j+∂L∂jtheta_j = theta_j + alpha fra梯度c{partial L}{pa梯度自愿rtial theta_j}j梯度电费是怎样收费的=j+∂j∂L
经过经过不断迭代来优化参数 thet矩阵等价a 来找到最优解。这是之间咱们做回归问题的一般进程。
这是之前经过回归咱们现已了解到了线性模型,今日咱们来体系学习线性模型。
∂梯度下降法原理和进程S∂=0frac{partial S}{partial theta} = 0∂∂S=0
∂S∂=∂(TATA−2TATY+YTY)∂frac{partial S}{partial t矩阵式大灯是什么意思heta} = frac{partial( theta^TA^TAtheta – 2 theta^TA^TY + Y^TY)}{partial thet矩阵的秩a}∂∂S=∂∂(TATA−2TATY+YTY)
有关矩阵求导咱们现已了解到有以下公式
∂XT∂X=1frac{partial X^T}{partial X} = 1∂X∂XT=1
然后咱们能够初步对矩阵求theta的偏导, 化简得到下面公式
∂S∂=∂(TATA−2∂(TATY)∂+∂YTY∂frac{pa矩阵等价rtial S}{partial theta} = fr算法的五个特性ac{partial( the线性回归方程ta^TA^TAt矩阵的逆heta}{theta} – 2 frac{partia梯度l (theta^TA^TY )}{partial theta} + frac{partial Y^TY}{partia算法与机估计之间的联系l theta}∂∂S=∂(TATA−2∂∂(TATY)+∂∂YTY
∂T∂=1frac{partial theta^T}{partial theta} = 1线性回归∂∂T=1
∂S∂梯度自愿是什么意思=∂(T算法规划与剖析ATA)∂−2ATYfrac{partial S}{partial theta} = frac{partial (the算法是什么ta^TA^TAtheta) }线性回归相联系数r{partial theta} – 2A^TY∂∂S=∂∂(TATA)−2ATY
这一部分∂(TATA)∂frac{partial (theta^TA^TAtheta) }{partial theta}∂∂(TATA) 是梯度下降法matlab求导的难点,接下来咱们重点便是霸占这部分求导。
有关向量求导咱们先介绍一个公式
d(矩阵等价uTv)d(x)=duTdxv+dvTdxufrac{d(u算法的时刻复杂度是指什么^T线性回归模型v)}{d(x)} = frac{du^T}{dx} v + frac{dv^T}{dx} ud(x)d(uTv)=dxdu梯度下降法公式Tv+dxdvT梯度下降法公式u
这儿 u v 是关 x 的函数,咱们在线性代数现已学习过有关矩阵求导,上面便是对矩阵进行求导中梯度稀释法的具体进程一个公式,在接下来在推导进程中,咱们算法剖析的意图是会用这个公式,假设咱们还不了解能够回去看看线性代数。
d(xTx)dx=dxTdxx+dxTdxx=梯度自愿是什么意思2xfrac{d(x^Tx)}{dx} =线性回归方程公式 frac{dx^T}{dx} x + frac{dx^T}{dx} x梯度下降法求最小值 = 2xdxd(xTx)=dxdxTx+dxdxTx=算法规划与剖析2x
进一线性回归方程的a和b怎样求步来看咱们引入方阵 B ,留意由于这儿 B 是方阵,就能够 BX 当作一个整体来处理下面问题。
d(XTBX)算法dx=dXTdXB线性回归方程例题详解X+dXTBTdXX=(B+BT)Xfrac{d(X^TB梯度下降算法的正确进程X)}{矩阵式大灯是什么意思dx} = frac{dX^T}{dX} BX + frac{dX^TB^T}{dX} X = (B + B^T)Xdxd(XTBX)=dXdXTBX+dXdXTB矩阵的逆TX=(B+BT)X
咱们知道ATAA^TAA梯度怎样求TA 是一个方阵,这样咱们问题就线性回归模型好处理了。咱们经过上面推导等式
∂TATA∂=(ATA+AAT)=2ATAfrac{partial theta^TA^TAtheta矩阵的秩}{partial线性回归相联系数r theta} = (A^TA梯度稀释 + AA^T)theta = 2 A^TAtheta∂∂TATA=(ATA+AAT)=2ATA
∂S∂=2ATA−2ATY=0fr矩阵类似ac{partial S}{parti梯度怎样求al theta} = 2 A^TAtheta – 2A^TY = 0∂∂S=2ATA−2ATY=0
=(A算法TA)−1AT算法的时刻复杂度取决于Ytheta = (A^TA)^{-1}A^TY=(ATA)−1ATY
关于数据量不是很大情况下,能够挑选最小二乘法,由于关梯度下降算法推导于矩阵的逆是带梯度下降法matlab来许多运算,求矩阵的逆运算,关于梯度下降问题,收敛比较慢。
最小二乘几许概念
x1+x2=3矩阵工厂怎样开−x1+x2=1begin{aligned} x_1 + x_2 = 3 -x_1 + x线性回归_2 = 1 end{aligned}x1+x2=3−x1+x2=1
{x1=1×2=2begin{cases} x_1 =1 x_2 = 2 end{cases}{x1=1x2=2
[11−11]算法[x1x2]=[31]begin{bmatrix} 1 & 1梯度下降法 -1 & 1 end{bmatrix} begin{bmatrix} x_1 x_2 end{bmatrix} = begin{bmatrix} 3 1 end{bmatrix}[1−1梯度下降法求最小值11][x1x2]=[31]
a1x1+a2x2=ya_1x_1 + a_2x_2 = ya1x1+a2x2=y
(1−1)x1+(11)x2=(31)left( begin{mat梯度下降rix}梯度稀释 1 -1 end{matrix} r矩阵的逆ight) x_1 + left( begin{matrix} 1 1 end{matrix} right) x_2 =left( begin{matrix} 3 1 end{matrix梯度下降法公式} right)(1−1)x1+(11)x2=(31)
D={(x1,y1),(x2,y2),(x3,y3)}D = {(x^1,y^1),(x^2,y^2),(x^3,y^3) }D={(x1,y1),(矩阵的逆x2,y2),(x3,y3)}
D={(0,2),(1,2),(2,3)}D = {(0,2),(1,2),(2,3) }D={(0,2),(1,2),(2,3)}
1x+0=ytheta_1 x + theta_0 = y1x+0=y
(012)1+(111)0=(223)left( begi矩阵工厂怎样开n{matrix} 0 1 2 end{matrix} right)梯度下降发 theta_1 + left( begin{matrix} 1 1 1 end矩阵的秩{matrix} right) theta_0 =left( begin{matrix} 2 2 3 end{matrix} right梯度洗脱)⎝⎛012⎠⎞1+⎝⎛111⎠⎞0=⎝⎛2矩阵的乘法运算23⎠⎞
a11+线性回归剖析a20=y^a_1theta_1 + a_2 theta_0 = hat{y}a1梯度下降法1+a20=y^
Lmin=(y−y^)L_{min} = (y – hat{y})Lmin=(y−y^)
找到 y^ha算法的时刻复杂度是指什么t{y}y^ 是向量构成平面上投影便是 y
y^=A∗hat{y} = Atheta^{*}y^=A∗
e=y−y^矩阵=y−A∗e = y – hat{y} = y – Atheta^{*}e=y−y^=y−A∗
{e梯度是什么意思⋅a1=0e⋅a2=0→{a1Te=0a2Te=0→AT线性回归相联系数re=梯度是什么意思0begin{cases} ecdot a_1 = 0 ecdot a_2 = 0 end{cases} r线性回归系数ightarrow begin{cases} a_1梯度下降发^Te = 0 a_2^Te = 0 end{cases} rightarrow A^Te = 0{e⋅a1=0e⋅a2=0→{a1Te=0a2Te=0→ATe=0
AT(y−A∗线性回归方程例题详解)=0ATy−ATA∗=0ATy=ATA∗∗=(ATA)−1ATybegin{aligned} A^T(y – Atheta^{*}) = 0 A^Ty – A^TAtheta^{*} = 0 A^Ty = A^TAtheta^{*} theta梯度是什么意思^{*} = (A^T梯度下降法matlabA)^{-1}A^Ty end{aligned}AT(y−A∗)=0ATy−ATA∗=0ATy=ATA∗∗=(ATA)−1ATy
概率方法来了解最小二乘
yi=Txi+iy^i = theta^Tx^i + epsilon^iyi=Txi+i
概率视点(极大似然)
从概率视点来看一下线性回归问题,以及最小二乘
D={(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))}x(i)∈RnD = { (x^{(1)},y^{(1)}),(线性回归方程的a和b怎样求x^{(2)},梯度下降法matlaby^{(2)}),矩阵的秩dots, (x^{(n)},y^{(n)}) } x^{(i梯度怎样求)} in mathbb梯度下降法例题{R}梯度自愿^nD={(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))}x(线性回归系数i)∈Rn
最小二乘法
L()=∑i=1N∣∣Txi−yi∣∣2L(theta) = sum_{i=1}^N ||theta^Tx^i – y^i||^2L()=i=1∑N∣∣Txi−yi∣∣2
P(i)=12exp(−(i)222)P(epsilon^i线性回归系数) = frac{1}{sqrt{2pi}sigma}expleft( – frac{(epsilon^i)^2}{2sigma^2} ri梯度怎样求ght)P(i)=21exp(−22(i算法导论)2)
数梯度稀释据带矩阵工厂怎样开有必定噪声,也便是数据有必定梯度稀释法的具体进程随机性
y=Tx梯度下降+y = theta^Tx + epsilony=Tx+
极大似然估计(MLE)
极梯度下降法matlab大似然估计,浅显了解来说,便是使用已知的样本效算法是什么果信息,反推最具有可能(最大概率)导致这些样本作用呈现的模型参数值
L()=logP(Y∣X;)梯度下降算法的正确进程=log算法的时刻复杂度是指什么∏iNP(yi∣xi;)=∑i=1NlogP(yi∣xi;)L(theta) = log P(Y|X;theta) = log算法的有穷性是指 prod_i^{N} P(y^i|x^i;theta) = sum_{i=1}^N log P(y^i|x^i;theta)L()梯度下降算法的正确进程=logP(Y∣X;)=lo线性回归方程公式详解g∏iNP(yi∣xi;)=∑i=1NlogP(yi∣xi;)
现在是模型已定,咱们用样本数据去梯度下降法求最小值估计参数 theta, 也便是什么参数和样本矩阵类似数据组合后得到 Y算法工程师YY。其实咱们首要知道 y 和 x 存在已定联络,这种联络是由 theta算法的五个特性 所供认梯度下降的。
也能够这样了解,假定咱们能够找到 f(xi)=ixi+0f(x^i) = theta_i x^i + theta_0f(xi)=ixi+0 那么 yiy^iyi 与这个函数之间距离能够梯度稀释当作遵守正态分布。
P(yi∣xi,)=12exp(−(y−Txi)222)P(y^i|x^i,theta) = frac{1}{sqrt{2pi}sigma} exp left( – frac{(y – theta^Tx^i)梯度下降法原理和进程^2}{2sigma^2} right)P(yi∣xi,)=21exp(−22(y−Txi)2)
L()=∑i=1Nlog12exp(−(y−Txi)222)L线性回归方程公式(theta) = sum_{i=1}^N log f梯度下降法例题rac{1}{sqrt{2pi}sigma} exp left( – frac{(y – theta^Tx^i线性回归方程公式详解)^2}{2sigma^2} right)L()=i=1∑Nlog21exp(−22(y−Txi)2)
L()=∑i=1N(log12−122(yi−Txi)2)L(th梯度洗脱eta) = sum_{i=1}^N left( log frac{1}{sqrt{2pi} s线性回归方程igma} – frac{1}{梯度是什么意思2sigma^2}(y^i – theta^Tx^i)^2 right)L()=i=1∑N(log21−221(yi−Tx梯度下降法i)2)
其实咱们便是找到一个 theta 让上面的方针函数值最大,由于 sigma 是不变的值,那么想要方针函数越大,咱们就需要让 (yi−Txi)(y^i – theta^Tx^i)(yi−Txi) 越小
=argmax−122(yi−Txi)2the梯度下降法ta = arg max_{theta} – frac{1}{2sigma^2}(y^i – theta^Tx^i)^2=argmax−线性回归方程公式详解221(yi−Txi)2
=argmin(yi−Txi梯度下降法matlab)2theta = arg mi算法的时刻复杂度是指什么n_{theta} (y^i – t矩阵的迹heta^Tx^i)^2=argmin(yi−Txi)2
最小二乘估计
=argmin(yi−Txi)2thet梯度下降法公式a = arg min_{theta} (y^i – theta^Tx^i)^2=argmin(yi−Txi)2
L()=∑i=1N∣∣Txi−yi∣∣2L(theta) = sum_{i=1}^N ||theta^Tx^i – y^矩阵的乘法运算i||^2线性回归剖析L()=∑i=1N∣∣Txi−yi∣∣2