《机器学习》第一周 一元回归法 | 模型和代价函数,梯度下降

课程地址:https://www.coursera.org/learn/machine-learning/lecture/8SpIM/gradient-descent

一 Model and Cost Function 模型及代价函数

1 Model Representation 模型表示

  首先,教授介绍了一下课程中将会用到的符号和意义:

m:训练样本的数目

x:特征量

y:目标变量

(x,y):一个训练样本

(x^(i),y^(i)):i不是指数,而是指第i行的样本

Univariate linear regression:一元线性回归

hθ(x)=θ0+θ1*x

2 Cost Function 代价函数

整体目标函数 --> 代价函数(平方误差函数,平方误差代价函数)

二 Gradient Descent 梯度下降

梯度下降算法可以将代价函数j最小化。梯度函数是一种很常用的算法,它不仅被用在线性回归上,也被广泛地应用于机器学习领域中的众多领域之中。

 下图是代价函数J中解决线性回归问题的问题概述:

我们希望通过改变theta参数的值来最小化代价函数。

这里,我们考虑有两个参数的情况,我们可以考虑到一个三维图形,两条坐标分别表示theta0和theta1。

梯度下降要做的事,就是从某个起始theta对值开始,寻找最快的下降方向往下走,在路途上也不断地寻找最快下降的方向更改路线,最后到达一个局部最低点。

可以看到,如果起始点稍有偏差,那么我们可能会得到一个非常不同的局部最优解,这也是梯度下降的一个特点。

我们从上图中获得了梯度下降的直观感受,接下来让我们看看梯度下降的定义:

分析一下梯度下降定义公式的一些细节:

我们用“:=”来表示赋值。注意,如果我们写作“=”,表达的意识并不是赋值,而是判断为真的说明,比如a=b,就是断言a的值是等于b的。

α在这里是一个数字,被称为学习效率,在梯度下降算法中,它控制了我们下山时会卖出多大的步子。因此如果α比较大,那我们用大步子下山,如果它比较小,我们就迈着很小的小碎步下山。

在公式中,有一个很微妙的问题。在梯度下降中,我们要同时更新theta0和theta1,而不是先后更新。如果先更新了theta0,再更新theta1就会造成theta1的值出错。

时间: 2024-09-30 06:07:55

《机器学习》第一周 一元回归法 | 模型和代价函数,梯度下降的相关文章

机器学习-第一周

机器学习-第一周 这是机器学习的第一周课程,涉及到的内容较少,主要是认识一下什么是机器学习以及机器学习两个主要的分类:有监督学习和无监督学习.另外,通过一个最基础的线性回归模型来介绍机器学习中的一些相关的概念. 本周内容思维导图 Introduce 什么是机器学习? A computer program is said to learn from experience E with respect to some task T and some performance measure P, if

中国mooc北京理工大学机器学习第一周(二)

---恢复内容开始--- 今天学习第一周的第二课时:降维. 一.PCA主成分分析 主成分分析(Principal Component Analysis,PCA),是一种统计方法,直观来讲是把数据按照weights来筛选出主成分消除(或者隐蔽)不太重要的方面,使得高纬度数据投射到低维度. 直观来讲是应用了统计学上方差和协方差的知识,若协方差越接近1则表示A,B越接近:反之,若等于零则无关. 这里可以理解在一个高纬度角度(n维空间)去找一个角度使得从你这个角度看过去很多cov(A,B)很小的数值为零

斯坦福机器学习第一周

一.监督学习和无监督学习 1.监督学习,就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力. 监督学习中可以通过分类预测,也可以通过线性回归来预测. 如果目标变量是离散型,如是 / 否 . 1/2/3 . ― 冗或者红 / 黄 / 黑 等 ,则可以选择分类器算法; 如果目标

中国mooc北京理工大学机器学习第一周(一)

从今天开始跟着北理工的老师走一遍sklearn,在这里做笔记. 一.聚类 1.K-Means方法 先贴代码,所有数据的下载地址:http://pan.baidu.com/s/1hrO5NW4 import numpy as np from sklearn.cluster import KMeans def loadData(filePath):#def一个读取数据的loadData fr = open(filePath,'r+') lines = fr.readlines() retData =

第一周-构建之法

<构建之法>第一章阅读笔记 本书第一章标题为"软件=程序+软件工程",如标题所言,在开头就十分精炼地概述了"软件"的概念,这样哪怕读者是门外汉,这一部分对于他们来说也很浅显易懂好消化,至少不会一上来就被一棍打懵.通过灵活又务实地举例子,把编程的意义.软件工程的概念等等都尽可能清晰而具象地向读者剖析出来. 第一章分好几部分分别讲解了"软件是什么"."软件工程与计算机科学技术的关系".软件工程的知识领域".&

中国mooc北京理工大学机器学习第一周(三)

三.基于聚类的整图分割 需要利用PIL进行图片处理,在anaconda安装的时候提示PIL只能用在py26,搜索知,可以conda install pillow 即可. def loadData(filePath): f = open(filePath,'rb') data = [] img = image.open(f) m,n = img.size for i in range(m): for j in range(n): x,y,z = img.getpixel((i,j)) #getpi

Lasso回归算法: 坐标轴下降法与最小角回归法小结

前面的文章对线性回归做了一个小结,文章在这: 线性回归原理小结.里面对线程回归的正则化也做了一个初步的介绍.提到了线程回归的L2正则化-Ridge回归,以及线程回归的L1正则化-Lasso回归.但是对于Lasso回归的解法没有提及,本文是对该文的补充和扩展.以下都用矩阵法表示,如果对于矩阵分析不熟悉,推荐学习张贤达的<矩阵分析与应用>. 1. 回顾线性回归 首先我们简要回归下线性回归的一般形式: hθ(X)=Xθhθ(X)=Xθ 需要极小化的损失函数是: J(θ)=12(Xθ?Y)T(Xθ?Y

讲透机器学习中的梯度下降

本文始发于个人公众号:TechFlow,原创不易,求个关注 在之前的文章当中,我们一起推导了线性回归的公式,今天我们继续来学习上次没有结束的内容. 上次我们推导完了公式的时候,曾经说过由于有许多的问题,比如最主要的复杂度问题.随着样本和特征数量的增大,通过公式求解的时间会急剧增大,并且如果特征为空,还会出现公式无法计算的情况.所以和直接公式求解相比,实际当中更倾向于使用另外一种方法来代替,它就是今天这篇文章的主角--梯度下降法. 梯度下降法可以说是机器学习和深度学习当中最重要的方法,可以说是没有

机器学习笔记:线性规划,梯度下降

主要内容来自stanford Andrew Ng视频课程的总结. 讲的非常好,还有相应的习题,课程能够在以下站点搜索到. https://www.coursera.org/ 机器学习的目的是在训练数据的基础上得出一个模型,该模型对于给定的输入x.给出对应的输出y. 用公式表示就是:y = h(x). 注意x表示一维向量,x={x1,x2,x3...}.这里的xi也就是特征(feature),h就是模型. 若输出y是连续值.则是回归预測问题.若y是离散值,则是分类问题.假设给定的训练数据是(输入-