机器学习的定义
-
Arthur Samuel给出的定义,Field of Study that gives computers the ability to learn without being explicitly programmed.(在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域)
-
Tom Mitchell给出的定义,A computer program is said to learn from experience E with respect to some task T and some performace measure P,if its performance on T,as measured by P,improves with experience E.(对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习)
Andrew Ng认为Tom Mitchell给出的例子仅仅是为了押韵,不是很容易理解。
Arthur Samuel给出这样的定义是有原因的。Samuel写了一个国际象棋的程序,但他本人并不擅长国际象棋。让这个程序和自己进行对弈,从而进行学习知道什么样的棋局能够胜利。
对于Mitchell给出的定义,我们使用一个下棋的例子来进行说明。在下棋程序中,经验E指的就是程序的上万次的自我联系的经验,任务T就是下棋,性能度量P指的就是在比赛过程中取胜的概率。
机器学习的分类
机器学习大致可以分为两类,监督学习和无监督学习。
监督学习,给定一个算法,需要部分数据已经有了正确答案。
无监督学习,给算法输入数据,要求算法自行分析这些数据得到结果。
有监督学习
监督学习的有可以分为:线性回归、逻辑回归。
- 线性回归,用于根据连续变量估计实际数值(房价、呼叫次数、总销售额等)
- 逻辑回归,该算法可根据已知的一系列因变量估计离散数值。
线性回归的算法问题,假设存在这样的数据,房价和房屋面积的关系。如下图:
如果给定了房屋面积,需要求出房价。这样就需要得到房屋面积和房价之间的关系。这样的问题就需要使用线性回归来解决。线性回归解决的问题就是连续变量之间的实际关系,这样的问题在高中数学里面也是十分常见的。
逻辑回归的问题,通过一个根据肿瘤大小来判断是良性还是恶性的问题来进行说明。
纵坐标只有两个值,0表示是良性的,1表示恶性的。横坐标表示的肿瘤的大小。那么最终的问题就是通过机器学习来对肿瘤的大小进行分析,判断是良性的还是恶性的。
需要说明的是,在逻辑回归中,很多时候特征是会有很多的。在上述的例子中,特征就只有一个就是肿瘤的大小。考虑到如果有很多的特征的时候,这个时候就需要使用到支持向量机。支持向量机能让电脑处理无限个特征。
无监督学习
在有监督学习中,会对每个数据进行标记。这样算法在进行分析的时候,就会有一个正确的数据来进行参考。
在无监督学习中,只有一个数据集,需要算法自行对数据进行分析,找出其中的特征,能够对数据进行分类。
下面就是无监督学习的一些常见的实际应用。
谷歌的新闻
谷歌爬虫每天会从网络中爬取大量的新闻,通过无监督的学习算法,自动将这些新闻进行分类,这样就不需要人工进行分类了。在这样的例子中,其实算法之前没有经过训练,通过分析新闻,然后自动地进行分类
市场营销
在电商中一般会有大量的用户信息。通过无监督算法,将这些用户进行分类,划分到更小的市场中
社交网络
无监督学习通过分析email中的联系人情况,Facebook或者是Google+中的朋友,就能够判断出你与其他好友之间的亲密关系。
通过我的发现,我发现无监督学习貌似在分类方面应用的较多。
机器学习算法编程
Andrew Ng推荐使用的是Octave来完成。
总结
通过本章学习,对机器学习算法有了一个初步的认识。
为了了能到远方,脚下的每一步都不能少。