机器学习个人笔记v.pdf
- 文档编号:3439451
- 上传时间:2023-05-05
- 格式:PDF
- 页数:294
- 大小:8.11MB
机器学习个人笔记v.pdf
《机器学习个人笔记v.pdf》由会员分享,可在线阅读,更多相关《机器学习个人笔记v.pdf(294页珍藏版)》请在冰点文库上搜索。
黄海广qq群:
654173748摘要本笔记本笔记是针对斯坦福大学是针对斯坦福大学20142014年机器年机器学习课程学习课程视频做的视频做的个人个人笔记笔记斯坦福大学斯坦福大学2014机器学习教程机器学习教程个人个人笔记笔记(V5.3)最后修改:
2018-08-06斯坦福大学斯坦福大学2014机器学习教程中文机器学习教程中文笔记笔记课程概述课程地址:
https:
/www.coursera.org/course/mlMachineLearning(机器学习)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
在过去的十年中,机器学习帮助我们自动驾驶汽车,有效的语音识别,有效的网络搜索,并极大地提高了人类基因组的认识。
机器学习是当今非常普遍,你可能会使用这一天几十倍而不自知。
很多研究者也认为这是最好的人工智能的取得方式。
在本课中,您将学习最有效的机器学习技术,并获得实践,让它们为自己的工作。
更重要的是,你会不仅得到理论基础的学习,而且获得那些需要快速和强大的应用技术解决问题的实用技术。
最后,你会学到一些硅谷利用机器学习和人工智能的最佳实践创新。
本课程提供了一个广泛的介绍机器学习、数据挖掘、统计模式识别的课程。
主题包括:
(一)监督学习(参数/非参数算法,支持向量机,核函数,神经网络)。
(二)无监督学习(聚类,降维,推荐系统,深入学习推荐)。
(三)在机器学习的最佳实践(偏差/方差理论;在机器学习和人工智能创新过程)。
本课程还将使用大量的案例研究,您还将学习如何运用学习算法构建智能机器人(感知,控制),文本的理解(Web搜索,反垃圾邮件),计算机视觉,医疗信息,音频,数据挖掘,和其他领域。
本课程需要10周共18节课,相对以前的机器学习视频,这个视频更加清晰,而且每课都有ppt课件,推荐学习。
我和我的团队翻译了部分视频,目前已经翻译完毕,内嵌中英文字幕,推荐使用potplayer。
此外,我无偿把字幕贡献给了网易云课堂,他们开了免费课:
吴恩达机器学习。
这篇中文笔记,主要是根据视频内容和中文字幕以及ppt来制作,部分来源于网络,如“小小人_V”的笔记,并持续更新。
本人水平有限,如有公式、算法错误,请及时指出,发邮件给我,也可以加我qq。
今日发现这个笔记被下载超过10万次,应该说这个笔记有点用,我发现以前一些翻译小错误,进行了修改,以免误导初学者。
黄海广2018-3-7夜笔记笔记更新网址更新网址(视频下载地址公布视频下载地址公布):
https:
/DeepLearning.aiDeepLearning.ai笔记:
笔记:
https:
/知乎知乎:
https:
/文档修改历史文档修改历史版本号版本号版本日期版本日期修改总结修改总结修订人修订人1.02014.12.16创建初稿黄海广1.12014.12.31修改黄海广2.02015.02.17修改黄海广2.12015.02.23修改黄海广2.22015.03.02修改黄海广2.32015.03.14修改一些错误,增加了第十章的一些内容黄海广2.42015.05.02修改第十二章一些错误黄海广2.52015.05.13补充第九章部分内容黄海广3.02016.01.11增加第五章OCTAVE操作内容黄海广3.12016.01.15修改部分错误黄海广3.22016.02.15补充第二章部分内容黄海广3.32016.02.19补充第六章内容黄海广4.02016.02.24修改第十一章一些错误黄海广4.12016.03.20补充第四章部分内容黄海广4.22016.03.28补充第十五章、十六章的部分内容黄海广4.32017.06.08修改了一些翻译错误黄海广4.42017.09.23增加了数学基础和部分公式推导黄海广4.52017.09.30修改了第六章的一些错误(视频有错误)黄海广5.02017.11.3修正了一些数学公式黄海广5.12018.3.29重新规范了变量并对页面排版黄海广5.22018.4.19重新更新了数学公式黄海广I目录第1周.11、引言(Introduction).11.1欢迎.11.2机器学习是什么?
.41.3监督学习.61.4无监督学习.102、单变量线性回归(LinearRegressionwithOneVariable).152.1模型表示.152.2代价函数.172.3代价函数的直观理解I.192.4代价函数的直观理解II.202.5梯度下降.212.6梯度下降的直观理解.242.7梯度下降的线性回归.272.8接下来的内容.293、线性代数回顾(LinearAlgebraReview).303.1矩阵和向量.303.2加法和标量乘法.313.3矩阵向量乘法.323.4矩阵乘法.333.5矩阵乘法的性质.343.6逆、转置.35第2周.364、多变量线性回归(LinearRegressionwithMultipleVariables).364.1多维特征.364.2多变量梯度下降.374.3梯度下降法实践1-特征缩放.394.4梯度下降法实践2-学习率.404.5特征和多项式回归.414.6正规方程.424.7正规方程及不可逆性(选修).445、Octave教程(OctaveTutorial).475.1基本操作.475.2移动数据.545.3计算数据.625.4绘图数据.705.5控制语句:
for,while,if语句.765.6向量化.825.7工作和提交的编程练习.86第3周.886、逻辑回归(LogisticRegression).886.1分类问题.88II6.2假说表示.906.3判定边界.926.4代价函数.946.5简化的成本函数和梯度下降.986.6高级优化.1016.7多类别分类:
一对多.1057、正则化(Regularization).1087.1过拟合的问题.1087.2代价函数.1107.3正则化线性回归.1127.4正则化的逻辑回归模型.113第4周.1158、神经网络:
表述(NeuralNetworks:
Representation).1158.1非线性假设.1158.2神经元和大脑.1178.3模型表示1.1218.4模型表示2.1248.5特征和直观理解1.1268.6样本和直观理解II.1288.7多类分类.130第5周.1319、神经网络的学习(NeuralNetworks:
Learning).1319.1代价函数.1319.2反向传播算法.1339.3反向传播算法的直观理解.1369.4实现注意:
展开参数.1389.5梯度检验.1399.6随机初始化.1419.7综合起来.1429.8自主驾驶.143第6周.14610、应用机器学习的建议(AdviceforApplyingMachineLearning).14610.1决定下一步做什么.14610.2评估一个假设.14910.3模型选择和交叉验证集.15110.4诊断偏差和方差.15310.5正则化和偏差/方差.15510.6学习曲线.15710.7决定下一步做什么.15911、机器学习系统的设计(MachineLearningSystemDesign).16111.1首先要做什么.16111.2误差分析.16211.3类偏斜的误差度量.16511.4查准率和查全率之间的权衡.166III11.5机器学习的数据.168第7周.17212、支持向量机(SupportVectorMachines).17212.1优化目标.17212.2大边界的直观理解.17812.3数学背后的大边界分类(选修).18312.4核函数1.19012.5核函数2.19212.6使用支持向量机.194第8周.19713、聚类(Clustering).19713.1无监督学习:
简介.19713.2K-均值算法.20013.3优化目标.20213.4随机初始化.20313.5选择聚类数.20414、降维(DimensionalityReduction).20714.1动机一:
数据压缩.20714.2动机二:
数据可视化.21014.3主成分分析问题.21114.4主成分分析算法.21314.5选择主成分的数量.21414.6重建的压缩表示.21514.7主成分分析法的应用建议.217第9周.21815、异常检测(AnomalyDetection).21815.1问题的动机.21815.2高斯分布.22015.3算法.22115.4开发和评价一个异常检测系统.22315.5异常检测与监督学习对比.22415.6选择特征.22515.7多元高斯分布(选修).22715.8使用多元高斯分布进行异常检测(选修).23016、推荐系统(RecommenderSystems).23316.1问题形式化.23316.2基于内容的推荐系统.23516.3协同过滤.23716.4协同过滤算法.23916.5向量化:
低秩矩阵分解.24016.6推行工作上的细节:
均值归一化.242第10周.24317、大规模机器学习(LargeScaleMachineLearning).24317.1大型数据集的学习.243IV17.2随机梯度下降法.24417.3小批量梯度下降.24517.4随机梯度下降收敛.24617.5在线学习.24817.6映射化简和数据并行.25018、应用实例:
图片文字识别(ApplicationExample:
PhotoOCR).25118.1问题描述和流程图.25118.2滑动窗口.25218.3获取大量数据和人工数据.25418.4上限分析:
哪部分管道的接下去做.25519、总结(Conclusion).25619.1总结和致谢.256附件.258机器学习的数学基础.258高等数学.258线性代数.266概率论和数理统计.276机器学习课程-第1周-引言(Introduction)1第第1周周11、引言引言(Introduction)Introduction)1.1欢迎欢迎参考视频参考视频:
1-1-Welcome(7min).mkv第一个视频主要讲了什么是机器学习,机器学习能做些什么事情。
机器学习是目前信息技术中最激动人心的方向之一。
在这门课中,你将学习到这门技术的前沿,并可以自己实现学习机器学习的算法。
你或许每天都在不知不觉中使用了机器学习的算法每次,你打开谷歌、必应搜索到你需要的内容,正是因为他们有良好的学习算法。
谷歌和微软实现了学习算法来排行网页每次,你用Facebook或苹果的图片分类程序他能认出你朋友的照片,这也是机器学习。
每次您阅读您的电子邮件垃圾邮件筛选器,可以帮你过滤大量的垃圾邮件这也是一种学习算法。
对我来说,我感到激动的原因之一是有一天做出一个和人类一样聪明的机器。
实现这个想法任重而道远,许多AI研究者认为,实现这个目标最好的方法是通过让机器试着模仿人的大脑学习我会在这门课中介绍一点这方面的内容。
在这门课中,你还讲学习到关于机器学习的前沿状况。
但事实上只了解算法、数学并不能解决你关心的实际的问题。
所以,我们将花大量的时间做练习,从而你自己能实现每个这些算法,从而了解内部机理。
那么,为什么机器学习如此受欢迎呢?
原因是,机器学习不只是用于人工智能领域。
我们创造智能的机器,有很多基础的知识。
比如,我们可以让机器找到A与B之间的最短路径,但我们仍然不知道怎么让机器做更有趣的事情,如web搜索、照片标记、反垃圾邮件。
我们发现,唯一方法是让机器自己学习怎么来解决问题。
所以,机器学习已经成为计算机的一个能力。
现在它涉及到各个行业和基础科学中。
我从事于机器学习,但我每个星期都跟直升机飞行员、生物学家、很多计算机系统程序员交流(我在斯坦福大学的同事同时也是这样)和平均每个星期会从硅谷收到两、三个电子邮件,这些联系我的人都对将学习算法应用于他们自机器学习课程-第1周-引言(Introduction)2己的问题感兴趣。
这表明机器学习涉及的问题非常广泛。
有机器人、计算生物学、硅谷中大量的问题都收到机器学习的影响。
这里有一些机器学习的案例。
比如说,数据库挖掘。
机器学习被用于数据挖掘的原因之一是网络和自动化技术的增长,这意味着,我们有史上最大的数据集比如说,大量的硅谷公司正在收集web上的单击数据,也称为点击流数据,并尝试使用机器学习算法来分析数据,更好的了解用户,并为用户提供更好的服务。
这在硅谷有巨大的市场。
再比如,医疗记录。
随着自动化的出现,我们现在有了电子医疗记录。
如果我们可以把医疗记录变成医学知识,我们就可以更好地理解疾病。
再如,计算生物学。
还是因为自动化技术,生物学家们收集的大量基因数据序列、DNA序列和等等,机器运行算法让我们更好地了解人类基因组,大家都知道这对人类意味着什么。
再比如,工程方面,在工程的所有领域,我们有越来越大、越来越大的数据集,我们试图使用学习算法,来理解这些数据。
另外,在机械应用中,有些人不能直接操作。
例如,我已经在无人直升机领域工作了许多年。
我们不知道如何写一段程序让直升机自己飞。
我们唯一能做的就是让计算机自己学习如何驾驶直升机。
手写识别:
现在我们能够非常便宜地把信寄到这个美国甚至全世界的原因之一就是当你写一个像这样的信封,一种学习算法已经学会如何读你信封,它可以自动选择路径,所以我们只需要花几个美分把这封信寄到数千英里外。
事实上,如果你看过自然语言处理或计算机视觉,这些语言理解或图像理解都是属于AI领域。
大部分的自然语言处理和大部分的计算机视觉,都应用了机器学习。
学习算法还广泛用于自定制程序。
每次你去亚马逊或Netflix或iTunesGenius,它都会给出其他电影或产品或音乐的建议,这是一种学习算法。
仔细想一想,他们有百万的用户;但他们没有办法为百万用户,编写百万个不同程序。
软件能给这些自定制的建议的唯一方法是通过学习你的行为,来为你定制服务。
最后学习算法被用来理解人类的学习和了解大脑。
我们将谈论如何用这些推进我们的AI梦想。
几个月前,一名学生给我一篇文章关于最顶尖的12个IT技能。
拥有了这些技能HR绝对不会拒绝你。
这是稍显陈旧的文章,但在这个列表最顶部就是机器学习的技能。
在斯坦福大学,招聘人员联系我,让我推荐机器学习学生毕业的人远远多于机器学习的毕业生。
所以我认为需求远远没有被满足现在学习“机器学习”非常好,在这门课中,我希望能告诉你们很多机器学习的知识。
在接下来的视频中,我们将开始给更正式的定义,什么是机器学习。
然后我们会开始学机器学习课程-第1周-引言(Introduction)3习机器学习的主要问题和算法你会了解一些主要的机器学习的术语,并开始了解不同的算法,用哪种算法更合适。
机器学习课程-第1周-引言(Introduction)41.2机器学习是什么?
机器学习是什么?
参考视频参考视频:
1-2-WhatisMachineLearning_(7min).mkv机器学习是什么?
在本视频中,我们会尝试着进行定义,同时让你懂得何时会使用机器学习。
实际上,即使是在机器学习的专业人士中,也不存在一个被广泛认可的定义来准确定义机器学习是什么或不是什么,现在我将告诉你一些人们尝试定义的示例。
第一个机器学习的定义来自于ArthurSamuel。
他定义机器学习为,在进行特定编程的情况下,给予计算机学习能力的领域。
Samuel的定义可以回溯到50年代,他编写了一个西洋棋程序。
这程序神奇之处在于,编程者自己并不是个下棋高手。
但因为他太菜了,于是就通过编程,让西洋棋程序自己跟自己下了上万盘棋。
通过观察哪种布局(棋盘位置)会赢,哪种布局会输,久而久之,这西洋棋程序明白了什么是好的布局,什么样是坏的布局。
然后就牛逼大发了,程序通过学习后,玩西洋棋的水平超过了Samuel。
这绝对是令人注目的成果。
尽管编写者自己是个菜鸟,但因为计算机有着足够的耐心,去下上万盘的棋,没有人有这耐心去下这么多盘棋。
通过这些练习,计算机获得无比丰富的经验,于是渐渐成为了比Samuel更厉害的西洋棋手。
上述是个有点不正式的定义,也比较古老。
另一个年代近一点的定义,由TomMitchell提出,来自卡内基梅隆大学,Tom定义的机器学习是,一个好的学习问题定义如下,他说,一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升。
我认为经验E就是程序上万次的自我练习的经验而任务T就是下棋。
性能度量值P呢,就是它在与一些新的对手比赛时,赢得比赛的概率。
在这些视频中,除了我教你的内容以外,我偶尔会问你一个问题,确保你对内容有所理解。
说曹操,曹操到,顶部是TomMitchell的机器学习的定义,我们假设您的电子邮件程序会观察收到的邮件是否被你标记为垃圾邮件。
在这种Email客户端中,你点击“垃圾邮件”按钮,报告某些Email为垃圾邮件,不会影响别的邮件。
基于被标记为垃圾的邮件,您的电子邮件程序能更好地学习如何过滤垃圾邮件。
请问,在这个设定中,任务T是什么?
几秒钟后,该视频将暂停。
当它暂停时,您可以使用鼠标,选择这四个单选按钮中的一个,让我知道这四个,你所认为正确的选项。
它可能是性能度量值P。
所以,以性能度量值P为标准,这个任务的性能,也就是这个任务T的系统性能,将在学习经验E后得到提高。
本课中,我希望教你有关各种不同类型的学习算法。
目前存在几种不同类型的学习算法。
机器学习课程-第1周-引言(Introduction)5主要的两种类型被我们称之为监督学习和无监督学习。
在接下来的几个视频中,我会给出这些术语的定义。
这里简单说两句,监督学习这个想法是指,我们将教计算机如何去完成任务,而在无监督学习中,我们打算让它自己进行学习。
如果对这两个术语仍一头雾水,请不要担心,在后面的两个视频中,我会具体介绍这两种学习算法。
此外你将听到诸如,强化学习和推荐系统等各种术语。
这些都是机器学习算法的一员,以后我们都将介绍到,但学习算法最常用两个类型就是监督学习、无监督学习。
我会在接下来的两个视频中给出它们的定义。
本课中,我们将花费最多的精力来讨论这两种学习算法。
而另一个会花费大量时间的任务是了解应用学习算法的实用建议。
我非常注重这部分内容,实际上,就这些内容而言我不知道还有哪所大学会介绍到。
给你讲授学习算法就好像给你一套工具,相比于提供工具,可能更重要的,是教你如何使用这些工具。
我喜欢把这比喻成学习当木匠。
想象一下,某人教你如何成为一名木匠,说这是锤子,这是螺丝刀,锯子,祝你好运,再见。
这种教法不好,不是吗?
你拥有这些工具,但更重要的是,你要学会如何恰当地使用这些工具。
会用与不会用的人之间,存在着鸿沟。
尤其是知道如何使用这些机器学习算法的,与那些不知道如何使用的人。
在硅谷我住的地方,当我走访不同的公司,即使是最顶尖的公司,很多时候我都看到人们试图将机器学习算法应用于某些问题。
有时他们甚至已经为此花了六个月之久。
但当我看着他们所忙碌的事情时,我想说,哎呀,我本来可以在六个月前就告诉他们,他们应该采取一种学习算法,稍加修改进行使用,然后成功的机会绝对会高得多所以在本课中,我们要花很多时间来探讨,如果你真的试图开发机器学习系统,探讨如何做出最好的实践类型决策,才能决定你的方式来构建你的系统,这样做的话,当你运用学习算法时,就不太容易变成那些为寻找一个解决方案花费6个月之久的人们的中一员。
他们可能已经有了大体的框架,只是没法正确的工作于是这就浪费了六个月的时间。
所以我会花很多时间来教你这些机器学习、人工智能的最佳实践以及如何让它们工作,我们该如何去做,硅谷和世界各地最优秀的人是怎样做的。
我希望能帮你成为最优秀的人才,通过了解如何设计和构建机器学习和人工智能系统。
这就是机器学习,这些都是我希望讲授的主题。
在下一个视频里,我会定义什么是监督学习,什么是无监督学习。
此外,探讨何时使用二者。
机器学习课程-第1周-引言(Introduction)61.3监督学习监督学习参考视频参考视频:
1-3-SupervisedLearning(12min).mkv在这段视频中,我要定义可能是最常见一种机器学习问题:
那就是监督学习。
我将在后面正式定义监督学习。
我们用一个例子介绍什么是监督学习把正式的定义放在后面介绍。
假如说你想预测房价。
前阵子,一个学生从波特兰俄勒冈州的研究所收集了一些房价的数据。
你把这些数据画出来,看起来是这个样子:
横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。
那基于这组数据,假如你有一个朋友,他有一套750平方英尺房子,现在他希望把房子卖掉,他想知道这房子能卖多少钱。
那么关于这个问题,机器学习算法将会怎么帮助你呢?
我们应用学习算法,可以在这组数据中画一条直线,或者换句话说,拟合一条直线,根据这条线我们可以推测出,这套房子可能卖$150,000,当然这不是唯一的算法。
可能还有更好的,比如我们不用直线拟合这些数据,用二次方程去拟合可能效果会更好。
根据二次方程的曲线,我们可以从这个点推测出,这套房子能卖接近$200,000。
稍后我们将讨论如何选择学习算法,如何决定用直线还是二次方程来拟合。
两个方案中有一个能让你朋友的房子出售得更合理。
这些都是学习算法里面很好的例子。
以上就是监督学习的例子。
可以看出,监督学习指的就是我们给学习算法一个数据集。
这个数据集由“正确答案”组成。
在房价的例子中,我们给了一系列房子的数据,我们给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的正确答案。
比如你朋友那个新房子的价格。
机器学习课程-第1周-引言(Introduction)7用术语来讲,这叫做回归问题。
我们试着推测出一个连续值的结果,即房子的价格。
一般房子的价格会记到美分,所以房价实际上是一系列离散的值,但是我们通常又把房价看成实数,看成是标量,所以又把它看成一个连续的数值。
回归这个词的意思是,我们在试着推测出这一系列连续值属性。
我再举另外一个监督学习的例子。
我和一些朋友之前研究过这个。
假设说你想通过查看病历来推测乳腺癌良性与否,假如有人检测出乳腺肿瘤,恶性肿瘤有害并且十分危险,而良性的肿瘤危害就没那么大,所以人们显然会很在意这个问题。
让我们来看一组数据:
这个数据集中,横轴表示肿瘤的大小,纵轴上,我标出1和0表示是或者不是恶性肿瘤。
我们之前见过的肿瘤,如果是恶性则记为1,不是恶性,或者说良性记为0。
我有5个良性肿瘤样本,在1的位置有5个恶性肿瘤样本。
现在我们有一个朋友很不幸检查出乳腺肿瘤。
假设说她的肿瘤大概这么大,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率。
用术语来讲,这是一个分类问题。
分类指的是,我们试着推测出离散的输出值:
0或1良性或恶性,而事实上在分类问题中,输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器 学习 个人 笔记
![提示](https://static.bingdoc.com/images/bang_tan.gif)