1. 监督学习的应用与梯度下降

  1. 监督学习的应用与梯度下降

    1. 监督学习

如上图所示,监督学习:对于给定的训练集合,按照某一学习算法学习之后,得到一种好的假设(Hypotheses)用于预测新的数据。

  1. 梯度下降

已知m组数据(x1,y1)…(xm, ym),其中xi是具有n维特征的向量,此外,我们设定xi(0) =1(即截距项)。我们做如下假设:

h(x) = = (此为回归模型的假设模型)

对于给定的训练集合,如何选择最优的θ值(权重或参数)呢(这里的x是n+1*m维矩阵)?一个合理的方法是:至少在训练集合上,θ会使预测值h(x)越接近实际值y越好。因此,我们定义一个成本函数(cost function) J(θ):

J(θ) =

该成本函数使用误差的平方和,类似于普通最小二乘法(没有平均化误差平方和)。

  1. 最小均方算法

    给定的训练集合,如何选择最优的θ值使J(θ)?这里我们采用梯度下降法。梯度下降法的基本思想是在起始随机得到θ值后,之后每次更新θ值的方式如下:

    θj := θj? α*(其中α称之为学习速率)

    即θ每次以一定的步伐按照J(θ)最快速下降的方向更新值。我们进一步分解参数更新公式的右边。

    = = *

    = (h(x)-y) * = (h(x)-y)*xi

    因此,参数更新的方式如下:

    θj := θj + α(y-h(xi))*xji

    该更新方法称之为LMS算法(least mean squares,最小均方法),也被称为Widrow-Hoff 学习算法。该方法显得很自然和直观化。比如,当误差(y-h(x))越大的时候,那么参数更新的步伐就越大。检测是否收敛的方法:1) 检测两次迭代θj的改变量,若不再变化,则判定收敛;2) 更常用的方法:检验J(θ),若不再变化,判定收敛。需要注意的是,学习系数一般为0.01或者0.005等,我们可以发现样本量越大,(y-h(xi))*xji会相对较大,所以在学习系数中用一个常数除以样本来定相对合理,即0.005/m。

    对于LMS算法,刚才推导的公式是针对于一个样本,如果样本多于一个,那么我们可以有两种方式更新参数。一种是每一次更新都使用全部的训练集合,该方法称之为批量梯度下降(batch gradient descent)。需要注意的是,梯度下降法很可能得到局部最优解,而我们这里的回归分析模型仅有一个最优解,因此局部最优解就是最终的最优解。(成本函数为凸函数)。另外一种是针对训练集合中每一个样本,每次都更新所有的参数值,该方法称之为随机梯度下降(stochastic gradient descent)。当数据量很大的时候,批量梯度下降法计算量较大,而随机梯度下降方法往往相对较优。通常情况下,随机梯度下降比批量梯度下降能更快的接近最优值(但也许永远也得不到最优值),数据量大的情况下,通常选择使用随机梯度下降法。

    梯度下降法的缺点是:靠近极小值时速度减慢(极小值处梯度为0),直线搜索可能会产生一些问题(得到局部最优等),可能会‘之字型‘地下降(学习速率太大导致)。

  2. 标准方程组推导

    最小化成本函数的方式不只是有梯度下降法,这里我们采用标准方程组的方式求解得到精确的解。对于成本函数J(θ) ,我们定义输入变量X是m*(n+1)维矩阵(包含了截距项),其中m表示样本数,n表示特征数。输出是m*1维矩阵,参数θ是n+1*1维矩阵,则J(θ)可以如下表示:

    J(θ) = (Xθ – )T * (Xθ-)

    要求解θ使得J(θ)最小,那么只需要求解J(θ)对θ的偏微分方程即可。

    ?θJ(θ) = [(Xθ – )T * (Xθ-)]

    = T]*(Xθ – ) + (Xθ – )T ]*

    = XT*(Xθ – ) + XT*(Xθ – )

    = XT*(Xθ – )

    = XT*X*θ – XT*

    因此,令?θJ(θ) = 0,即可求得使J(θ)最小的θ的值,因此:XT*X*θ – XT* = 0,得到 θ = (XT*X)-1 * (XT*)。在求解回归问题时候,可以直接使用该结果赋值于θ,不过这里存在的问题是对矩阵的求逆,该过程计算量较大,因此在训练集合样本较大的情况并不适合。

    注:?θJ(θ)表示对J(θ)中的每一个θ参数求偏微分。这里化简的方式是矩阵偏微分注意:AT*B) = BT)*A, AT = (A)T, AT*B = (BT*A)T

  3. 概率解释

    对于回归问题,我们不禁要问为什么线性回归或者说为什么最小均方法是一个合理的选择呢?这里我们通过一系列的概率假设给出一个解释。(下一讲)

原文地址:https://www.cnblogs.com/kexinxin/p/9904390.html

时间: 2024-11-24 09:33:28

1. 监督学习的应用与梯度下降的相关文章

Stanford大学机器学习公开课(二):监督学习应用与梯度下降

本课内容: 1.线性回归 2.梯度下降 3.正规方程组 监督学习:告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案 1.线性回归 问题引入:假设有一房屋销售的数据如下: 引入通用符号: m =训练样本数 x =输入变量(特征) y =输出变量(目标变量) (x,y)—一个样本 ith—第i个训练样本=(x(i),y(i)) 本例中:m:数据个数,x:房屋大小,y:价格 监督学习过程: 1) 将训练样本提供给学习算法 2) 算法生成一个输出函数(一般用h表示,成为假设) 3)

【机器学习】1 监督学习应用与梯度下降

监督学习 简单来说监督学习模型如图所示 其中 x是输入变量 又叫特征向量  y是输出变量 又叫目标向量 通常的我们用(x,y)表示一个样本  而第i个样本 用(x(i),y(i))表示 h是输出函数 监督学习的任务是学习一个模型,使模型能够对任意的输入,做出很好的预测. 习惯的样本训练数目用m表示 梯度下降算法 h(x) = Θ0 +Θ1x1+...+Θixi J(Θ)= 1/2 *∑(i from 1 to m) (h(Θ)(x (i) - y(i))^2 Θ(i) := Θ(i) - α *

斯坦福大学公开课:监督学习应用,梯度下降

监督学习应用例子:以房屋大小和价格为例,本次采用47个样本. m: training examples,训练样本集 x: "input",variables/features变量,x为输入变量,在本次例子中,表示房屋大小 y: "output", variable/"target" variable,y为输出变量,在本次例子中,表示房屋价格 (x,y): training examples 表示训练样本 监督学习的流程如下(以房子为例): tra

2.监督学习应用.梯度下降

// 搜索算法 --- 挨个尝试 1. 梯度下降 批梯度下降, 随机梯度下降 2. 矩阵求导方法

斯坦福大学机器学习公开课学习—2.监督学习应用·梯度下降

这节课的学习,相信一般上过统计或者运筹相关课程的同学应该都会有所了解.课上涉及的知识虽然很基础,但是也是很重要的. 在搜集了一些房价相关数据的基础上,利用线性回归算法来预测房价. 为了方便算法的训练推导,进行了很多符号的标准规定,从这当中也学到了一些知识,以后自己在进行一些算法的推导时也可学习课上的这些标准符号和推导方式. 下面给出这堂课上的一些干货. 1.机器学习算法的基本框架 2.最小二乘法——线性回归常用的代价函数,即误差平方和最小 3.参数学习算法——梯度下降算法,包含批量梯度下降和随机

机器学习-监督学习应用:梯度下降

回归与梯度下降: 回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally weighted回归,logistic回归,等等,这个将在后面去讲. 用一个很简单的例子来说明回归,这个例子来自很多的地方,也在很多的open source的软件中看到,比如说weka.大概就是,做一个房屋价值的评估系统,一个房屋的价值来自很多地方,比如说面积.房间的数量(几室几厅).地 段.朝向等等

第二集 监督学习的应用 梯度下降

一:线性回归: 例:上一节课的房屋大小与价格数据集 本例中:m:数据个数,x:房屋大小,y:价格 通用符号: m = 训练样本数 x = 输入变量(特征) y = 输出变量(目标变量) (x,y) – 一个样本  –第i个训练样本 = 对假设进行线性表示  h(x)=θ0+θ1*x 在线性回归的问题上大部分都会有多个输入特征,比如这个例子的输入特征可能也有房间大小,卧室数目两个特征,那么就用x1=房间大小,x2=卧室数目.则方程式就变成了: h(x)=θ0+θ1*x1+θ2*x2 为了将公式简洁

0A03 无监督学习:梯度下降

---恢复内容开始--- 梯度下降的定义: 梯度下降是一种因为计算机储存及能力有限,采取逐步逼近,迭代求解的方法. 梯度下降的步骤: 任取一点作为起始点 查看在当前点向那个方向移动能得到最小的z值,并向该方向移动. 重复该步骤,直到无法找到更小的z值,此时认为达到最低点. 几个基础的算法概念: 步长:是每一次梯度下降是向目标前行的长度. 假设函数:由特征产生目标变量的函数. 损失函数:可以想象成给任意参数组合打分的函数. 优缺点: 该方法比OLS求解要快,但是有时候梯度下降无法找到全局最优点.

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

机器学习入门:线性回归及梯度下降 本文会讲到: (1)线性回归的定义 (2)单变量线性回归 (3)cost function:评价线性回归是否拟合训练集的方法 (4)梯度下降:解决线性回归的方法之一 (5)feature scaling:加快梯度下降执行速度的方法 (6)多变量线性回归   Linear Regression 注意一句话:多变量线性回归之前必须要Feature Scaling! 方法:线性回归属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个