首页 > 编程知识 正文

吴恩达机器学课程讲义,吴恩达机器学课程 网易

时间:2023-05-06 18:45:01 阅读:230698 作者:1002

【经典】土豪的凉面——机器学习笔记001 机器学习(Machine Learning)笔记001

学习地址:[中英字幕]土豪的凉面机器学习系列课程
文字版参考及PPT来源:Coursera-ML-AndrewNg-Notes
听从学长的建议,将土豪的凉面教授的DL和ML视频作为CV入门学习,本博客为个人学习笔记,旨在记录学习所得,欢迎小伙伴们一起交流学习,批评指正!
第二章:【经典】土豪的凉面——机器学习笔记002

课程总述

Machine Learning(机器学习)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演译。在过去的十年中,机器学习帮助我们自动驾驶汽车,有效的语音识别,有效的网络搜索,并极大地提高了人类基因组的认识。机器学习是当今非常普遍,你可能会使用这一天几十倍而不自知。很多研究者也认为这是最好的人工智能的取得方式。在本课中,您将学习最有效的机器学习技术,并获得实践,让它们为自己的工作。更重要的是,你会不仅得到理论基础的学习,而且获得那些需要快速和强大的应用技术解决问题的实用技术。最后,你会学到一些硅谷利用机器学习和人工智能的最佳实践创新。

本课程提供了一个广泛的介绍机器学习、数据挖掘、统计模式识别的课程。主题包括:

(一)监督学习(参数/非参数算法,支持向量机,核函数,神经网络)。

(二)无监督学习(聚类,降维,推荐系统,深入学习推荐)。

(三)在机器学习的最佳实践(偏差/方差理论;在机器学习和人工智能创新过程)。本课程还将使用大量的案例研究,您还将学习如何运用学习算法构建智能机器人(感知,控制),文本的理解(Web搜索,反垃圾邮件),计算机视觉,医疗信息,音频,数据挖掘,和其他领域。

本章概述

机器学习是目前最激动人心的技术之一。

本章主要有四小节,个人感觉比较简单,主要介绍了机器学习的定义及其应用,结合现实生活中,机器学习的应用相当广泛,强调了学习这门课程的重要价值,并介绍了机器学习中最常见的两种类型:监督学习和无监督学习。

1-1 前言(Introduction)

第一节主要介绍了这门课程涉及到的知识,在解决什么问题。

机器学习的应用范围 Google搜索能对目标网页排序Facebook照片分类功能(图像识别)垃圾邮件过滤 学习目标

学习最先进的机器学习算法(知其算法及其数学含义),并且学会使用这些算法解决实际问题。

Machine Learning

机器学习是从AI,即人工智能(Artificial intelligence)发展出来的一个领域。
“让机器自己学习如何去做”
这里我的理解是,我们常常说,机器(尤指计算机)只能接受**“What to do”**而不会去思考 “How to do”,而机器智能正是让机器通过迭代学习和优化算法,实现自主学习如何去做,何为接近目标,何为远离目标。
机器学习是为计算机开发的一项新功能。如今它涉及工业和基础科学中的许多领域。
网络和自动化技术的发展使我们拥有了前所未有的大量数据集,大量的公司从网络上获取点击数据,并试图采用机器学习算法来挖掘数据,以便更好地理解用户并更好地为用户服务。

机器学习的应用领域

数据挖掘

网页数据挖掘医疗记录计算生物学:更好地理解人类基因组

其他无法用编程实现的领域

自动直升机(让小直升机自己学习驾驶)手写识别NLP (Natual Language Processing)CV (Computer Vision)

私人定制领域

亚马逊NetflixiTunes Genius等中的推荐算法

理解人类的学习过程和大脑

脑研究real AI 1-2 什么是机器学习?

机器学习还没有一个统一的定义,在百度词条中具有这样的解释:

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径。

Arthur Samuel的定义

1959,Arthur Samuel:机器学习是指在没有明确设置的情况下,使计算机具有学习能力的研究领域。
他编写了一个跳棋游戏程序,通过几万次的博弈,使得跳棋程序的“经验”不断丰富,最终使得跳棋程序的技艺高于了Arthur Samuel本人。
但上述这个定义是一个似乎不太正式,也是比较陈旧的定义。

Tom Mitchel的定义

1998,Tom Mitchel:一个适当的学习问题定义如下,计算机程序从经验E中学习解决某一任务T并进行某一度量P,如果通过P测定在T上的表现因经验E而提高,则该过程进行了机器学习。
更通俗的翻译是:
若一个程序通过利用经验E在T任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。
这个定义是相当拗口的,连高高的蜻蜓都吐槽说Tom可能是为了使它押韵哈哈。
举例说明:
对于上述的跳棋游戏,经验E是指程序与自己下几万次跳棋,任务T是指玩跳棋,性能度量P是指与对手玩跳棋时赢的概率。

1-3 监督学习(Supervised Learning)

算法的目的就是给出更多正确的答案。

机器学习中最常见的一种学习问题就是监督学习。
1-2中,高高的蜻蜓简单将监督学习解释为:我们教会计算机做某件事;相对应的,无监督学习为:让计算机自己学会做某件事。在本节中,我们将正式定义监督学习。
首先通过一个已知一些房价数据样本,预测某型号房子可能出售的价格的例子,引入回归问题(regressing problem)的概念,即设法预测连续值输出的拟合问题。
通过肿块大小来试图判断肿瘤是良性还是恶性,这显然是一个二分类问题,引出分类问题(classification problem)的概念,即设法预测一组离散的结果。
此处,如果想处理无限多种特征来使算法利用大量特征或者说线索来做推理,显然一般的分类方法无法做到,甚至怎么存储这些特征都是一个问题,这里将会用到在以后会学到的算法:支持向量机(Support Vector Machine, SVM)
监督学习是指:利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。通俗地讲,监督学习指的就是我们给学习算法一个数据集,这个数据集由“正确答案”组成,由此计算出更多“正确答案”。

1-4 无监督学习(Unsupervised Learning)

无监督学习是学习算法的另一大类。根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称之为无监督学习。

聚类算法

无监督学习中的数据集没有任何的标签或者是有相同的标签。无监督学习中的聚类算法能将数据集分为两个不同的聚集簇。这个算法能用在很多地方:如谷歌新闻中将相关主题的新闻聚类到一起;在基因学上,判断不同个体是否拥有一个特定的基因也是通过聚类算法将这些个体聚类到不同类型的……
这就是无监督学习,我们事先并不知道这些数据的相关信息,没有将数据集的正确答案给算法。
无监督学习的其他应用:

组织大型计算机集群
在大数据中心,通过聚类判断哪些机器更易于协同工作,以提高工作效率。社交网络分析
通过社交行为,自动地为你的朋友分组。市场分割
将拥有的用户数据划分为不同的市场,以便更有效地销售。天文数据分析
解释星系是如何诞生的。 “鸡尾酒会算法”

可用作分离两个被混合到一起的音频源。这显然听上去十分复杂,似乎要用到很多代码,但实际上只需要这一行:

这门课中,我们要使用Octave的编程环境,使用这个免费开源的编程环境,每个程序都可以用几行代码来解决(与MATLAB同类)。在后续的学习中,我们会学习如何使用Octave,或者你也可以使用matlab。
上式中,svd是奇异值分解(singular value decomposition)的缩写,一个线性代数常规函数,诸如此类已经内置在Octave中了。因为本视频出自2014年,那个时候python还未完全发展,现在我们使用python也可以方便快捷的实现。

课后习题

1、根据Tom Mitchel的定义,垃圾邮件标记程序中的任务T是什么?

解析:本题应该选择A,任务T为分类垃圾邮件和非垃圾邮件。
经验E为本题中的B项,观察标记垃圾邮件和非垃圾邮件。
性能度量P为本题中的C项:正确分类出垃圾邮件占总垃圾邮件的比例。
2、你有几千件相同的货物要卖,预测未来的三个月能卖出多少件 和 检查每个客户的账户是否被入侵,这两个问题应该分别被归为分类问题还是回归问题?

答案为C,问题一是一个可看作连续值预测的回归问题,问题二显然只有被入侵和未被入侵(1和0)两种的分类问题。
3、以下四个例子中,哪一个是无监督学习算法?(多选)

正确答案为:B和C
A 为邮件过滤问题,因为已经给出之前标记的部分结果,所以是监督学习问题。
B 将一些新闻聚类到不同主题,很明显是无监督学习问题。
C 客户市场分类问题,属于无监督学习问题。
D 是否患有糖尿病问题,属于监督学习,类似于上一节的乳腺癌问题。

本章总结

本章主要介绍了课程的主要内容、什么是机器学习以及学习算法最常用的两个类型:监督学习和无监督学习。
本章给我最深刻的感触就是在Introduction部分,我体会到了机器学习广泛的应用范围和广阔的应用的前景。高高的蜻蜓说:

这种学习就好像在学怎么成为一个木匠,学习算法就好像给你一套工具。可是相比于提供工具,可能更重要的是学会怎么使用这些工具。

所以一个初学者首先要明确自己的学习目标:不光要学会算法,还要学会如何使用算法去灵活地解决现实问题。
机器学习算法应用范围广,能迅速解决以前人们可能好几个月都无法解决的问题,因此高高的蜻蜓称它为最激动人心的技术之一。我们学习这系列课程的目标已经相当明确了:学会如何设计和构建各种机器学习及人工智能系统

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。