前文
本文是对吴恩达老师的 机器学习 章节1 教学视频 进行学习时,所记录的学习笔记。
以下是本章主要讲的内容:
1.什么是机器学习、机器学习的定义和其应用领域等。
2.监督学习与无监督学习的内容和区别。
3.通过例子来说明、解释以上概念。
本章总结
机器学习就是让机器利用某一种学习算法(算法大致可以分为监督学习与无监督学习)来对经验(对计算机来说经验是数据)进行学习,从而提高程序性能,其目的是帮助解决关于此经验的某方向的具体问题。
监督学习是通过对有结果数据的不断学习,来达到输入任何未知数据都可以做到对结果做出准确预测的算法。此种算法更多的适用于回归和分类的问题。
无监督学习指对没有任何标签或者都具有相同标签的数据寻找它的数据的模型和规律。它不知道输入数据对应的输出结果是什么,只是把数据进行聚类(把相似数据归为一组)或者异常检测(寻找异常)。
正文
1.0 目录
1.1 什么是机器学习
1.1.1 机器学习介绍和其应用领域
1.1.2 机器学习的定义
1.2 机器学习算法的分类
1.2.1 监督学习
1.2.1 无监督学习
1.1 什么是机器学习
1.1.1 机器学习介绍和其应用领域
机器学习是从AI即人工智能发展出来的一个领域。机器学习会和多种方向进行结合了,来帮助解决此方向的具体问题。
第一个领域 数据挖掘
例如:网站通过收集大量用户的点击、搜索的数据后,用机器学习算法来对所收集的数据进行挖掘。以此来分析用户的需求、偏好等都是什么,然后在此基础上为用户提供更适合的服务。
又或者通过对电子医疗数据的收集,我们能将医疗数据转化为医疗知识,就能更好的理解疾病。
第二个领域 我们无法手动编写的程序
例如:自动飞行的直升机的飞行程序。我们可以通过机器学习来让机器自己学习如何飞行。
第三个领域 识别程序
例如:识别图像,识别语音等。
第四个领域 私人订制程序
例如:音乐软件针对单个用户听歌的数据来推荐歌曲等。
第五个领域 理解人类学习过程及大脑
1.1.2 机器学习的定义
陈旧的定义
陈旧的定义:在没有明确设置的情况下,使计算机具有学习能力的研究领域。
此定义是由Arthur Samuel所定义的。
在1950年代Samuel做了一个下跳棋的程序。此程序只懂得游戏的基本运行规则,所以最初在与Samuel进行跳棋游戏时无法战胜Samuel。但是,在此程序通过与自己博弈上万次并且不断总结跳棋游戏取胜规律后,Samuel就无法获胜了。
更新的定义
更新的定义:一个适当的学习问题下,计算机程序从经验E中学习解决某一人物T进行某一性能度量P,通过测定在T上的表现因经验E而提高。
此定义是由Tom Mitchell所定义的。
举例说明:
比如我现在进行对邮件进行是否为垃圾的筛选。
设: 任务T:给邮件分类
经验E:观察用户是否把邮件记为垃圾邮件
性能度量P:正确归类的邮件的比例
随着程序通过对用户进行任务T时所得到分类经验E的增长,逐渐提高了性能度量P。
对以上进行总结我们可以知道,机器学习的目的就是:让机器利用某一种学习算法来对经验进行学习,从而提高程序性能。
1.2 机器学习算法的分类
最常用的两种学习方法监督学习和无监督学习。
监督学习:教计算机做某件事情
无监督学习:让计算机自己学习
注意:针对不同的问题,使用更合适的算法会让成功率、准确率更高。
接下来我们用预测房价和预测肿瘤是良性恶性的两个例子来说明:哪些问题是回归问题,哪些问题是分类问题。
1.2.1 监督学习
监督学习主要针对的是有关于回归和分类的问题。
监督学习是用正确答案已知的例子来训练学习(他告诉了每个样本的正确答案),也就是会使用标记过的数据。
预测房价问题 ( 回归问题)
首先我们把数据做成图像,其中:
横轴是不同房屋平方英尺数。
纵轴是不同房子的价格,单元是千美金。
我们把以上的数据集交给算法,数据包括了每一个房子的正确的平方米和实际价格。算法的目的就是通过对数据的分析之后,能做到在输入平方米后可以正确预测房价。
它的目的是解决:想买这么大的房子大概需要多少钱?又或者想卖掉的房子应该卖什么价位?
以下就是对数据进行拟合的函数图像:
我们可以看到二次函数对数据的拟合效果更好,这告诉我们在进行机器学习的时候应该选择更合适的算法。
通过上例我们可以看出,预测房价问题是回归问题。
这个问题的答案是要求找到两种或两种以上变量间相互依赖的定量关系。
具体到预测房价问题就是我们找到了更拟合数据的二次函数。
预测肿瘤问题 ( 分类问题 )
首先我们把数据做成图像,其中:
横轴是肿瘤的大小。
纵轴是两个分类,0为良性肿瘤,1为恶性肿瘤。
本例目的是根据肿瘤的大小来预测肿瘤是良性还是恶性。
预测肿瘤是良性恶性的问题是一个分类问题。
分类指的是,我们设法预测一个离散值的输出(即良性恶性)。
在实际的分类问题中,可能是两个以上输的出值。
如果我们在这个问题的基础上多加入了一个年龄属性,那么算法就是将良性肿瘤和恶性肿瘤分开。
比如图像中的这条直线,当一个新病人来的时候,我们就可以根据他的年龄和肿瘤大小来预测他的肿瘤更可能是良还是恶。
在实际情况下,如果想提高这个预测的准确度,很有可能你的学习算法用了很多很多的属性或者特征或者线索来做预测。比如加入肿瘤的厚度、肿瘤细胞形状的均匀性、以及其他特性。
注意:数据的大小可能超过内存的能处理的大小!以支持向量机算法为例,就有一个灵活的数学技巧来让计算机处理无穷多的特征。
监督学习的数据中,他告诉了每个样本的正确答案,用已知的例子来进行训练。
1.2.2 无监督学习
无监督学习中使用的数据是没有任何标签或者都具有相同的标签,它不知道输入数据对应的输出结果是什么。无监督学习只能默默的读取数据,自己寻找数据的模型和规律,比如聚类(把相似数据归为一组)和异常检测(寻找异常)。
无监督学习算法可能判定该数据集包含两个不同的簇。
比如以下图像中的这两簇,这是聚类算法。
举例:谷歌每天都搜索几十万的新闻,并且把同一主题的新闻聚类分成一个簇,即聚类成同一种类型主题的新闻并显示在一起。
在给出一堆数据后,我们并不告诉程序我们的目的是什么,然后让程序自动找出数据的结构。即当我们不把我们需要的答案给程序,而让程序自动为数据分簇。
组织大型数据中心(即组织大型计算机集群)时,把趋于协同工作的计算机放到一起,这样可以减少延迟让数据中心更有效率的工作。
对社交网络进行分析时,可以通过收集用户之间发邮件、聊天的频率和数据,还有在社交软件上是否为好友等数据。然后进行分析,来识别同属一个圈子的朋友或者判断他们是否是朋友。
收集用户的数据,把用户分类。把合适此类用户的产品和服务推荐给此类用户。
在天文数据方面,根据星系形成理论来对天文数据进行聚类分簇处理,可以更好地帮助天文学家研究星系形成。