斯坦福公开课-机器学习2.监督学习应用-梯度下降(吴恩达andrewng)(代码片段)

Wu_Being Wu_Being     2022-11-29     650

关键词:

文章目录


本系列课程链接:http://open.163.com/special/opencourse/machinelearning.html

  • 线性回归(linear regression)
  • 梯度下降(gradient descent)
  • 正规方程组(the normal equations)

1线性代数(linear algebra)

1-1 符号(Notation)

m 代表训练样本的数量,number of training examples;
x 代表输入变量或者特征(input variables/features),可以有多个;
y 代表输出变量或目标变量(output variable/target) ;
(x, y) 代表一个训练样本(one training example);
ith = (x(i), y(i)) 表示第i个训练样本。

1-2 例子——房价预测

m = 47 个样本,每个样本有两个输入变量(**x1**表示房子面积feet2x2表示房子卧室数目bedrooms),输出变量y表示房子价格。

1-3 假设函数(hypothesis)

h称为假设函数(hypothesis),接到输入,并输出结果,即将输入x映射到输出y

###1-3-1 例子中的假设函数
h(x) = hθ(x) = θ0 + θ1x1 + θ2x2
###1-3-2 例子中的假设函数的参数
x1表示房子面积size(或feet2),x2表示房子卧室数目bedrooms。
n 表示学习问题中特征x的数目,这里的n为2。
θ Theta是算法参数(实数)一个
三维变量
θ (θ0, θ1, θ2,特征前面的参数(也称作
特征权重
),利用训练集合选择或学习,得到合适的参数值 θ (θ0, θ1, θ2,是学习算法的任务,下面就讲求 θ值的方法。

1-3-3 用线性代数-非齐次方程解释参数

x1x2:基础解系;
θ1x1 + θ2x2:通解;
θ0:特解,为了简洁(conciseness)这里的特解定义为1。

给定一些特征x以及一些正确的价格y,我们希望取使得算法预测和实际价格的平方差尽可能的小。
这里我们训练m样本求平方差的和最小,并为了后面方便导数计算就在前方乘以1/2,最后求值最小化minimize J(θ)
注意:这里为简化例子,把值最小化函数写成J(θ),实际特征x的数目n是2, 原值最小化函数实际是J(θ0, θ1, θ2)

##1-4 求值最小化算法
###1-4-1 梯度下降算法(gradient descent algorithm)
我们先给参数向量初始化为一个0向量,然后不断地改变参数向量使得不断减少,直到取取最小值。我们称为梯度下降算法(gradient descent algorithm),也叫搜索算法(search algorithm)

1-普通梯度下降算法

我们通过下面这个三维地表图来解释梯度下降算法(这里为方便绘画,我们令θ是二维向量,即(θ0, θ1),函数的值J(θ)最小时,我们求得θ向量的值。
当你站在某个初始点(即Theta θ可以是三维的0向量,也可以是随机的一个点)环视一周找哪个方向下山最快,就向那个方向走一步的大小(即 α的大小),再重复之前的动作再次梯度下降迭代下去,直到找到一个局部最小值(极小值点,局部最优值)。
当你在不同的初始点开始迭代这样的动作,可能会找到不同的局部最小值(如下图右部分),即梯度下降的结果有时依赖于参数的初始值

[外链图片转存中…(img-C7kc7jsR-1652893852444)]

我们继续研究梯度下降的数学部分。我们在梯度下降过程每次起最陡的方向,就是把**θi**每次减去对应的偏微分值进行迭代更新。

θi := θi - α ∂(J(θ))/∂θi
注意式子的i是对第i个参数进行迭代更新,即第i次下山,而不是第i个θ参数,因为θ**参数本来就是个三维变量。还有,我们用:=表示赋值,而=**表示逻辑判断相等。

其中α表示学习速率,即下山一步的大小,控制收敛的速度,过小则需要花费太多时间收敛,过大则可能会跳过最小值部分。
当你接近局部最小值的时候,步子会越来越小,最终直到收敛,当达到局部最小值的时候,梯度值也会为0,所以当越来越接近局部最小值的时候,梯度值也是越来越小,梯度下降的步子也会越来越小。

其中式子偏微分部分可以如下推导计算,最后梯度下降法为:
θi := θi - α (hθ(x)-y)xi
注意:式子的i是对第i个参数进行迭代更新,即第i次下山,不是第i个**θi**参数。

检测收敛的方法:比较两次迭代的结果,看两次结果是否变化很多,最常见的还是检测J(θ)函数的值,如果该值没有很大变化,则认为达到收敛的效果。
梯度下降算法中,计算的梯度(偏导),事实上已经是梯度变化最大的方向。

2-批梯度下降算法(batch gradient descent algorithm)

对于多个样本,每次迭代都要遍历整个训练集合。

3-随机梯度下降法(stochastic gradient descent)

有时也称为增量梯度下降(incremental gradient descent),对大量数据集合的情况下,这个方法会快很多,但结果不会收敛到一个精确的值,而是向全局最小值徘徊。

1-4-2 最小二乘法

待完善…
#2正规方程组(the normal equations)
待完善…
#更多相关资料
梯度下降算法和正规方程组学习笔记:http://blog.csdn.net/hahajinbu/article/details/49904665
kaggle的比赛:http://www.kaggle.com
正规方程的推导过程:
https://zhuanlan.zhihu.com/p/22474562
AndrewNg - 线性回归【2】正规方程组:
http://blog.csdn.net/victor_gun/article/details/45268785
机器学习-线性回归-正规方程:
http://lib.csdn.net/article/machinelearning/35461
Wu_Being博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!
《【斯坦福公开课-机器学习】2.监督学习应用-梯度下降(吴恩达 Andrew Ng)》: http://blog.csdn.net/u014134180/article/details/76617963

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

监督学习应用例子:以房屋大小和价格为例,本次采用47个样本。m:trainingexamples,训练样本集x:"input",variables/features变量,x为输入变量,在本次例子中,表示房屋大小y:"output",variable/"target"variable,y为输出变量,在本次例子中,表示... 查看详情

斯坦福公开课1:机器学习的动机与应用

什么是机器学习?一个程序对于任务T,输入经验E,通过性能评测方法P衡量该程序在T的性能得到改进。监督学习Regression(举例:房屋价格与房屋面积的关系)Classification(举例:根据年龄和肿瘤大小判断乳腺肿瘤是良性/恶性)... 查看详情

斯坦福公开课-机器学习1.机器学习的动机和应用(吴恩达andrewng)

文章目录0三个目标0先修课程要求基本工具1-网址2-邮箱3-本系列课程链接1机器学习的定义1-1非正式定义1-2正式的定义2监督学习(SupervisedLearning)2-1回归问题——连续拟合线(预测房子价格)2-2分类问题——离散数... 查看详情

斯坦福大学andrewng教授主讲的《机器学习》公开课观后感

课程设置和内容 视频课程分为20集,每集72-85分钟。实体课程大概一周2次,中间还穿插助教上的习题课,大概一个学期的课程。 内容涉及四大部分,分别是:监督学习(2-8集)、学习理论(9集-11集)、无监督学习(12-15... 查看详情

斯坦福吴恩达教授机器学习公开课第二讲笔记——有/无监督学习+线性回归

查看详情

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

监督学习简单来说监督学习模型如图所示其中x是输入变量又叫特征向量 y是输出变量又叫目标向量通常的我们用(x,y)表示一个样本 而第i个样本用(x(i),y(i))表示h是输出函数 监督学习的任务是学习一个模型... 查看详情

斯坦福公开课-机器学习1.机器学习的动机和应用(吴恩达andrewng)

文章目录0三个目标0先修课程要求基本工具1-网址2-邮箱3-本系列课程链接1机器学习的定义1-1非正式定义1-2正式的定义2监督学习(SupervisedLearning)2-1回归问题——连续拟合线(预测房子价格)2-2分类问题——离散数... 查看详情

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

回归与梯度下降:回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locallyweighted回归,logist... 查看详情

线性回归梯度下降-andrewng机器学习公开课笔记1.1

实例   首先举个样例。如果我们有一个二手房交易记录的数据集。已知房屋面积、卧室数量和房屋的交易价格,例如以下表:       假如有一个房子要卖,我们希望通过上表中的数据估算这个... 查看详情

斯坦福机器学习课程汇总

斯坦福机器学习课程汇总前言首先感谢吴恩达建立Coursera这样一个优秀的在线学习平台,以及他发布在这个平台上的机器学习课程。这门课程将整个机器学习领域的基础知识,用浅显易懂的方式,深入浅出的进行了介绍。使得一... 查看详情

coursera公开课笔记:斯坦福大学机器学习第七课“正则化”

Coursera公开课笔记:斯坦福大学机器学习第七课“正则化”NLPJob斯坦福大学机器学习第七课”正则化“学习笔记,本次课程主要包括4部分:1)TheProblemofOverfitting(过拟合问题)2)CostFunction(成本函数)3)RegularizedLinearRegression(线性回归的正... 查看详情

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

...过使得代价函数最小来决定函数參数值。採用斯坦福大学公开课的样例:假如一套房子的价格仅仅考虑由房屋面积(Livingarea)与卧室 查看详情

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

监督学习的应用与梯度下降 监督学习 如上图所示,监督学习:对于给定的训练集合,按照某一学习算法学习之后,得到一种好的假设(Hypotheses)用于预测新的数据。 梯度下降 已知m组数据(x1,y1)…(xm,ym),其中xi是具有n维特... 查看详情

02-监督学习应用.梯度下降

约定符号:m=训练样本数X=输入变量(特征)Y=输出变量(目标变量)(X,Y)=表示一个样本$left(X^(i),Y^(i)ight)$=第i个样本(上标i不是指数) 用线性表示则是:$hleft(Xight)=Theta_0+Theta_1X$如果有2个特征则写成:$hleft(Xight)=Theta_0+Theta_1X_1... 查看详情

原andrewng斯坦福机器学习——lecture2_linearregressionwithonevariable

  Lecture2 Linearregressionwithonevariable 单变量线性回归2.1模型表示.2.2代价函数2.3代价函数的直观理解I2.4代价函数的直观理解II2.5梯度下降2.6梯度下降的直观理解2.7梯度下降的线性回归2.8接下来的内容 2.1模型表示视频:2-1-... 查看详情

斯坦福大学-机器学习的动机与应用

此课在网易公开课上的名字是“机器学习的动机和应用”,而在官网上叫CS229:MachineLearning,就是机器学习主要工具,matlab和Octave,前者收费,后者具有前者大部分功能,但免费。此课用后者已经足够。有学生问能否用C或Jav... 查看详情

斯坦福机器学习课程笔记

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

吴恩达-coursera-机器学习-week1

一、引言(Introduction)1.1欢迎1.2机器学习是什么?1.3监督学习1.4无监督学习二、单变量线性回归(LinearRegressionwithOneVariable)2.1模型表示2.2代价函数2.3代价函数的直观理解I2.4代价函数的直观理解II2.5梯度下降2.6梯度下降的直观理解2.7梯... 查看详情