ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:593.63KB ,
资源ID:3016667      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3016667.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(斯坦福大学机器学习梯度算法总结.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

斯坦福大学机器学习梯度算法总结.docx

1、斯坦福大学机器学习梯度算法总结斯坦福大学机器学习梯度下降算法学习心得和相关概念介绍。1基础概念和记号线性代数对于线性方程组可以提供一种简便的表达和操作方式,例如对于如下的方程组:4x1-5x2=13-2x1+3x2=-9可以简单的表示成下面的方式:X也是一个矩阵,为(x1,x2)T,当然你可以看成一个列向量。1.1基本记号用A 表示一个矩阵A,有m行,n列,并且每一个矩阵元素都是实数。用x , 表示一个n维向量. 通常是一个列向量. 如果要表示一个行向量的话,通常是以列向量的转置(后面加T)来表示。1.2向量的积和外积根据课的定义,如果形式如xT y,或者yT x,则表示为积,结果为一个实数,

2、表示的是:,如果形式为xyT,则表示的为外积:。1.3矩阵-向量的乘法给定一个矩阵A Rmn,以及一个向量x Rn,他们乘积为一个向量y = Ax Rm。也即如下的表示:如果A为行表示的矩阵(即表示为),则y的表示为:相对的,如果A为列表示的矩阵,则y的表示为:即:y看成A的列的线性组合,每一列都乘以一个系数并相加,系数由x得到。同理,yT=xT*A表示为:yT是A的行的线性组合,每一行都乘以一个系数并相加,系数由x得到。1.4矩阵-矩阵的乘法同样有两种表示方式:第一种:A表示为行,B表示为列第二种,A表示为列,B表示为行:本质上是一样的,只是表示方式不同罢了。1.5矩阵的梯度运算(这是老师自

3、定义的)定义函数f,是从m x n矩阵到实数的一个映射,那么对于f在A上的梯度的定义如下:这里我的理解是,f(A)=关于A中的元素的表达式,是一个实数,然后所谓的对于A的梯度即是和A同样规模的矩阵,矩阵中的每一个元素就是f(A)针对原来的元素的求导。1.6其他概念因为篇幅原因,所以不在这里继续赘述,其他需要的概念还有单位矩阵、对角线矩阵、矩阵转置、对称矩阵(AT=A)、反对称矩阵(A=-AT)、矩阵的迹、向量的模、线性无关、矩阵的秩、满秩矩阵、矩阵的逆(当且仅当矩阵满秩时可逆)、正交矩阵、矩阵的列空间(值域)、行列式、特征向量与特征值2用到的公式在课程中用到了许多公式,罗列一下。嗯,部分公式的

4、证明很简单,部分难的证明我也不会,也懒得去细想了,毕竟感觉上数学对于我来说更像是工具吧。转置相关: (AT)T = A (AB)T = BT AT (A + B)T = AT + BT迹相关: For A Rnn, trA = trAT . For A, B Rnn, tr(A + B) =trA + trB. For A Rnn, t R, tr(tA) = t trA. For A, B such that AB issquare, trAB = trBA. For A, B, C such that ABC issquare, trABC = trBCA = trCAB。当乘法变多时也一

5、样,就是每次从末尾取一个矩阵放到前面去,这样的矩阵乘法所得矩阵的迹是一致的。秩相关 For A Rmn,rank(A) min(m, n). If rank(A) = min(m, n), 则A称为满秩 For A Rmn,rank(A) = rank(AT). For A Rmn, B Rnp,rank(AB) min(rank(A), rank(B). For A, B Rmn,rank(A + B) rank(A) +rank(B).逆相关: (A1)1 = A If Ax = b, 左右都乘以A1 得到 x = A1b. (AB)1 = B1A1 (A1)T = (AT)1. F通常表

6、示为AT.行列式相关: For A Rnn, |A| = |AT |. For A, B Rnn, |AB| = |A|B|. For A Rnn, |A| = 0,表示矩阵A是奇异矩阵,不可逆矩阵 For A Rnn and A 可逆, |A|1 = 1/|A|.梯度相关:x(f(x) + g(x) = xf(x) + xg(x). For t R, x(t f(x) = txf(x).xbT x = bxxT Ax = 2Ax (if A 对称)2xxT Ax = 2A (if A 对称)A|A| =(adj(A)T = |A|AT . adj=adjoint3梯度下降算法和正规方程组实例

7、应用例子用的是上节课的房价的例子,有一组数据,有房子面积和房子价格,输入格式举例:老师定义的变量如下:m:训练样本的数目x:输入的变量(输入的特征,在这个例子中为房子面积,后来又加了一个房子的卧室数目)y :输出变量(目标变量,这个例子中就是房价)(x,y):表示的是一个样本:表示的第i个样本,表示为。3.1监督学习概念所谓的监督学习即为告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案。监督指的是在训练样本答案的监督下,h即为监督学习函数。此例中我们假设输出目标变量是输入变量的线性组合,也就是说,我们的假设是存下如下的h(x):Theta表示是特征前面的参数(也称作特征权重

8、)。也就是经过h(x)之后得到的就是预测的结果了。如果假设x0=1,那么原来的h(x)就可以简单的表示为如下形式:,其中n为特征数目,我们为了表达简便,把theta和x都写成向量的形式。下面就是如何求出(向量)使得h(x)尽可能接近实际结果的,至少在训练集接近训练集中的正确答案。我们定义一个花费函数(costfunction),针对每一组,计算出h(x)与实际值的差值。定义如下:这也是用的最小二乘法的思想,但是之所以乘以1/2是为了简化后面的计算。针对训练集中的每一组数据。剩下的问题就是求得minJ()时的取值,因为J()是随着变化而变化,所以我们要求得minJ()时的就是我们想要的(这个mi

9、n也叫做最小花费函数),怎么样求出这组theta呢?采用的方法就是梯度下降算法和正规方程组。我们首先来看梯度下降算法。3.2梯度下降算法梯度下降算法是一种搜索算法,基本思想可以这样理解:我们从山上的某一点出发,找一个最陡的坡走一步(也就是找梯度方向),到达一个点之后,再找最陡的坡,再走一步,直到我们不断的这么走,走到最“低”点(最小花费函数收敛点)。如上图所示,x,y表示的是theta0和theta1,z方向表示的是花费函数,很明显出发点不同,最后到达的收敛点可能不一样。当然如果是碗状的,那么收敛点就应该是一样的。算法的theta更新表示如下:对每一个theta(j),都先求J()对theta

10、(j)的偏导(梯度方向),然后减少,然后将现在的theta(j)带入,求得新的theta(j)进行更新。其中为步长,你可以理解为我们下山时走的步子的大小。步子太小了,收敛速度慢,步子太大了,可能会在收敛点附近来回摆动导致无法到达最低点。P.S.这个符号根据老师所说理解为程序中的赋值符号(=号),如果是=号,则理解为值是相等的(编程里面的=号)。下面我们先理解下,假设现在训练集只有一组数据求关于theta(j)的偏导:带入可以得到关于一组数据的theta(j)的表达式,不妨,这组数据就是第i组,则表示为:然后我们将这个更新theta(j)的方法扩充到m个训练样本中,就可以得到下面的式子:P.S.

11、最外面的那个xj(i)的理解为:第i组数据中的第j个特征(feature)值。3.2.1批量梯度下降算法(batch gxxxxdxxxx algorithm)重复执行上面的这个更新步骤,直到收敛,就可以得到这组的值了。就是这个过程:。这个算法就是批量梯度下降算法,为什么叫批量梯度下降?因为注意到上式中每更新一个j都需要计算所有的样本取值,所以当样本数目非常大的时候(例如上万条甚至数十万条的时候),这样的更新非常慢,找也非常慢,所以就有了另外一种改进的梯度下降算法。3.2.2随机梯度下降算法/增量梯度下降算法做一个小小的改进,用一个样本做一个theta的更新,比如用样本1做theta(1)的更

12、新,用样本2做theta(2)的更新,以此类推。这种方法的好处是速度上肯定比批量梯度下降算法快,而且样本数据越多,体现应该就越明显。劣势是得到的收敛点的值和批量梯度算法比起来也许不是最优的值。3.2.3梯度下降算法总结不管是批量梯度算法还是随机梯度下降算法,他们的共同点有以下:1.时间复杂度都是O(mn) (m为样本数目,n为特征值/影响因子数目)2.都有梯度下降性质:接近收敛时,每次“步子”(指实际减去的数,而不是前面定义的,是手动设置参数,人为改变才会变)会越来越小。其原因是每次减去乘以梯度,但是随着收敛的进行,梯度会越来越小,所以减去的值会。3.判定收敛的方法都是如下两种:1)两次迭代值改变量极小极小2)J()的值改变量极小极小3.3正规方程组写在前面:这种方法是另一种方法了,和梯度下降算法就没啥联系了!首先回顾下前面定义的矩阵梯度运算:例如:则:定义一个矩阵,称作设计矩阵,表示的是所有的样本的输入:因为前面得到的结论:(T*x(i)和x(i)的转置*结果是一样),可以得到可以写成如下的形式:又因为对于任意向量,所以可以得到:运用下面介绍的一系列性质:(5)是由(2)和(3)得到的,进行下面的推导中间加tr不变的原因是因为是一个实数(看成1x1矩阵)加迹等于他本身。将上式设为0,得到正规方程组求解得到

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1