机器学习具体解释线性回归梯度下降最小二乘的几何和概率解释

blfbuaa blfbuaa     2022-09-05     691

关键词:

线性回归

即线性拟合,给定N个样本数据x1,y1,(x2,y2)....(xN,yN)当中xi为输入向量,yi表示目标值,即想要预測的值。採用曲线拟合方式,找到最佳的函数曲线来逼近原始数据。通过使得代价函数最小来决定函数參数值。
採用斯坦福大学公开课的样例:假如一套房子的价格仅仅考虑由房屋面积(Living area)与卧室数目(bedrooms)两个因素决定,如今拿到手有m个样本,例如以下图所看到的。

此例中。输入x=(x1,x2)为2维向量。分别相应房屋面积和卧室数目,y相应价格。如今想依据上述样本数据,预測新的输入x(k)相应的y(k)
技术分享
我们採用x的线性函数hθ(x)=θ0+θ1x1+θ2x2来近似y值,当中θ0为偏移量。

x0=1,简写为hθ(x)=θTx

如今的问题是怎样选择θ的值,来使得hθ(x(i))最大程度接近y(i)值。

最小二乘代价函数

採用最小二乘法定义代价函数J(θ)=12mi=1(hθ(x(i))?y(i))2,表示每一个样本的预測值与真实值得差值平方的累加和。
如今问题转化为代价函数J(θ)最小相应的θ值。当中因子12是为了后面的计算方便。

梯度下降:

梯度下降的思想是沿着函数负梯度方向,不断更新θ值,每次更新一次。函数值下降一次。算法例如以下:

1.初始化θ值;
2.更新θ值,使得J(θ)值更小 :θ:=θ?α?θJ(θ)
3.假设J(θ)值能够继续降低,返回第2步;

当中α称为学习率,决定着每一次迭代跨越的步长。θT=(θ0,θ1,θ2)为一个三维向量,梯度偏导数计算方法:
技术分享
对于单个样本数据,则更新方法为θj:=θj?α(hθ(x)?y)xj

关于梯度下降与梯度上升
注意到,我们上述求偏导数得到(hθ(x)?y)xj,此方向为梯度上升方法,因为我们要求J(θ)的最小值,所以应沿着负梯度方向,即θj:=θj?α(hθ(x)?y)xj,若提取负号,就变为θj:=θj+α(y?hθ(x))xj,尽管变为正号,仍然是沿着负梯度方向,仅仅是公式形式变了。在《机器学习实战》中。就採用的后一种形式θj:=θj+α(y?hθ(x))xj,在那本书里被称为梯度上升,实际上仍然为负梯度方向。

1.批梯度下降(batch gradient descent)
技术分享
上述为批梯度下降θ值得更新算法,每一次更新θ值,都须要计算整个样本集数据。即综合全局梯度方向算出下一步最优梯度方向。

在学习率α比較小的情况下。上述算法必定收敛。同一时候因为J(θ)为凸二次函数,局部最优值,即全局最优值。
可是对于样本集非常大的情况下,此种算法必定导致效率非常低,因为每一次对θ的更新,都需计算每一个样本的预測值与真实值的差。

2.随机梯度下降(stochastic gradient descent)
技术分享
算法的长处是,遍历整个数据集。每一次更新θ的值仅仅计算单个样本数据的梯度方向。可是此种算法不一定收敛到最小值。可能会在最小值附近震荡。在数据量非常大的情况下。仍建议採用随机梯度下降算法。


3.mini-batch梯度下降
把批梯度下降与随机梯度下降算法折中。即每次採用若干样本的梯度综合,更新θ的值,被称为mini-batch梯度下降。
θj=θj+αn(y(i)?hθ(x(i)))(for every j)

解析式求解

改写J(θ)成矩阵的形式:
J(θ)=12mi=1(hθ(x(i))?y(i))2=12(Xθ?Y)T(Xθ?Y)。当中X为m×n,θ为n×1,Y=(y(1),y(2)...y(m))T
?θJ(θ)=?θ12(θTXTXθ?θTXTY?YTXθ+YTY)=12(2XTXθ?2XTY)=XTXθ?XTY=0
解得θ=(XTX)?1XTY;
XTX为神秘矩阵时。通常选择在原始函数中加入正则项,确保矩阵非神秘。


一种简单的正则化项为:E(θ)=12θTθ, 原始目表函数变为J(θ)+λE(θ)=12mi=1(hθ(x(i))?y(i))2+λ2θTθ,当中λ为调和因子,对目标函数求导并令为0,解得θ=(XTX+λI)?1XTY

最小二乘法的概率解释与几何解释

1.概率解释

假定原始拟合函数为:y(i)=θTx(i)+?(i)。即每一个样本受到一个噪声?(i)因子的影响,同一时候噪声分别服从正态高斯分布,即均值为0,方差为σ2


?(i)~N(0,σ2)
?P(?(i))=12πσexp(?(?(i))22σ2)
?P(y(i)|x(i);θ)=12πσexp(?(y(i)?θTx(i))22σ2)
写法P(y(i)|x(i);θ)表示在參数θ的情况下,给定x(i)y(i)服从的分布。


因为假定噪声因子之间?(i)为独立同分布,写出其似然函数为。如今的目的是採用最大释然预计得方法计算出最优的參数θ
技术分享
改成对数释然函数为:
技术分享
我们目的要最大化释然函数。即要求最小化第二项 12mi=1(hθ(x(i))?y(i))2。此即我们的最小二乘的方法。
採用最小二乘的方法作为优化目标即潜在的使用了最大释然预计的方法。

2.几何解释

以下从几何角度解释最小二乘法的原理:为了结合以下的图形解释,须要改变一下数据的表示方法。

假定样本量的数目为N,样本i记为(xi,ti),且样本特征xi的维数为M,M<N
1.全部样本目标真实值ti。构成一个N维列向量t=(t1,t2...tN)T;
2.全部样本的特征数据x构成一个N×M的矩阵X;矩阵X的第j个列向量记维φj。即X=(φ0,φ1,...,φM?1)
3.假定真实最优參数为θ?=(θ0,θ1,...θM?1)T,则有t=Xθ?=(φ0,φ1,...,φM?1)θ?
技术分享
我们的目的是寻找最好的拟合參数θ,使得拟合出的预測值y=Xθ=(φ0,φ1,...,φM?1)θ离真实值向量t近期。注意到X是样本数据,是固定值,每一列的φi即相当于M维空间的一个基向量。(φ0,φ1,...,φM?1),即构成了M维子空间的一组基向量。记做子空间S

子空间S中不论什么向量都能够通过基向量的线性组合表示。最小二乘法在几何上解释,即寻找一个向量y与向量t之间欧式距离最小。如今的目的即是在S中寻找一个向量y,使得y离向量t的距离近期。最由图中能够看出,离t近期的向量y即是向量t向子空间S的正交投影。

局部加权回归(LWR)

LWR算法是非參数模型的一种。因为每一次预測新的数据,都须要採用原始样本计算一次,必定降低了效率。线性回归算法属于參数模型的一种,当得到最优參数θ,预測新的数据时,就不须要原始数据样本了。


最小二乘法的目标(代价)函数是J(θ)=12mi=1(hθ(x(i))?y(i))2。它採用了整体样本数据的性质,来预測新的数据,即所以样本的权重同样,不考虑局部性质。它的缺点是若原始数据分布由多个模型函数共同产生,採用最小二乘法的原则并不能最佳地逼近原始数据形态。

而局部加权回归通过增大预測的数据x(i)附近的样本点的权重。较小相对较远的样本数据的权重,来预測输出值h(x(i))
局部加权回归算法:
技术分享
当中ω(i)为第i个样本的权重
一种经常使用的权重分布函数为。相似高斯分布曲线:
技术分享
參数τ控制偏离预測点距离权重的下降幅度。


技术分享

參考:机器学习公开课—Andrew Ng














































斯坦福机器学习课程笔记

...模拟)---策略(风险函数)--算法(最优化方法)第一节:机器学习的基本概念和分类第二节:线性回归,最小二乘批梯度下降(bgd)和随机梯度下降(sgd)第三节:过拟合,欠拟合非参数学习算法:局部加权回归概率角度解释线性回归... 查看详情

机器学习入门之单变量线性回归(上)——梯度下降法(代码片段)

 在统计学中,线性回归(英语:linearregression)是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一... 查看详情

线性回归

...推广多项式回归广义线性回归正则化参考资料台湾大学《机器学习基石》视频Ng《机器学习》视频周志华《机器学习》线性回归原理小结Lasso回归算法:坐标轴下降法与最小角回归法小结写作提纲基础线性回归模型&损失函数优... 查看详情

吴恩达机器学习学习笔记——2.7第一个学习算法=线性回归+梯度下降

梯度下降算法:              线性回归模型:      线性假设:                     平方差成本函数:将各个公式代入,对θ0、θ1分别求偏导得:再将偏导数代入梯度下降算法... 查看详情

机器学习入门:线性回归及梯度下降

机器学习入门:线性回归及梯度下降  本文会讲到:   (1)线性回归的定义 (2)单变量线性回归 (3)costfunction:评价线性回归是否拟合训练集的方法 (4)梯度下降:解决线性回归的方法之一 (5)featurescali... 查看详情

机器学习入门:线性回归及梯度下降

http://blog.csdn.net/xiazdong/article/details/7950084本文会讲到: (1)线性回归的定义(2)单变量线性回归(3)costfunction:评价线性回归是否拟合训练集的方法(4)梯度下降:解决线性回归的方法之一(5)featurescaling:加快梯度下降执行速度的方... 查看详情

机器学习100天(十四):014梯度下降算法求解线性回归

机器学习100天,今天讲的是:使用梯度下降算法求解线性回归问题。一、梯度下降更新公式之前我们介绍了正规方程法直接求解线性回归问题,但是梯度下降算法在机器学习中更为常用,因为面对复杂问题时,梯度下降算法能够... 查看详情

机器学习100天(十四):014梯度下降算法求解线性回归

机器学习100天,今天讲的是:使用梯度下降算法求解线性回归问题。一、梯度下降更新公式之前我们介绍了正规方程法直接求解线性回归问题,但是梯度下降算法在机器学习中更为常用,因为面对复杂问题时,梯度下降算法能够... 查看详情

梯度下降 - 我可以绘制最小化的函数吗?线性回归

...egression【发布时间】:2018-08-2920:48:51【问题描述】:我是机器学习的新手。我从梯度下降的线性回归开始。我有这方面的python代码,我以这种方式理解。我的问题是:梯度下降算法最小化函数,我可以绘制这个函数吗?我想看看... 查看详情

机器学习算法(优化)之一:梯度下降算法随机梯度下降(应用于线性回归logistic回归等等)

本文介绍了机器学习中基本的优化算法—梯度下降算法和随机梯度下降算法,以及实际应用到线性回归、Logistic回归、矩阵分解推荐算法等ML中。梯度下降算法基本公式常见的符号说明和损失函数X :所有样本的特征向量组成的... 查看详情

梯度下降算法&线性回归算法

**机器学习的过程说白了就是让我们编写一个函数使得costfunction最小,并且此时的参数值就是最佳参数值。定义假设存在一个代价函数fun:(Jleft( heta_0, heta_1ight))通过不断地调整( heta_0)和( heta_1)是函数(Jleft( heta_0, heta_1ight))取得最... 查看详情

线性回归(hgl的机器学习笔记2)

线性回归:是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。梯度下降,http://www.cnblogs.com/hgl0417/p/5893930.html 最小二乘:对于一般训练集:         &n... 查看详情

第二篇[机器学习]学习机器学习,从最简单的线性回归开始

机器学习,分为监督学习和无监督学习,监督学习里有回归和分类,分类有线性回归和逻辑回归。从最简单的线性回归开始:通过已有数据需要预测的线性方程:实际值和预测值的误差,求最小误差函数(最小二乘法):1.梯度... 查看详情

ng机器学习视频笔记——线性回归代价函数梯度下降基础

ng机器学习视频笔记(一)——线性回归、代价函数、梯度下降基础 (转载请附上本文链接——linhxx) 一、线性回归        线性回归是监督学习中的重要算法,其主要目的在于用一个函数表... 查看详情

正规方程,梯度下降,岭回归——机器学习(代码片段)

线性回归一.介绍1.1线性回归API介绍——LinearRegression二.线性回归的损失和优化2.1全梯度下降算法(FG)2.2随机梯度下降算法(SG)2.3小批量梯度下降算法(mini-batch)2.4随机平均梯度下降算法(SAG)三... 查看详情

梯度下降

...以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(GradientDescent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通... 查看详情

机器学习算法---逻辑回归及梯度下降

一、逻辑回归简介  logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。  logistic回归是一种广义线性回归(generalizedlinearmodel),因此与多重线性回归分析... 查看详情

机器学习线性回归的损失和优化(代码片段)

线性回归的损失和优化线性回归的损失和优化1.损失函数2.优化算法2.1正规方程2.1.1什么是正规方程2.1.2正规方程求解举例2.1.3正规方程的推导推导方式一推导方式二2.2梯度下降(GradientDescent)2.2.1什么是梯度下降2.2.2梯度的概念2.2.3梯... 查看详情