1、机器学习的应用案例
1、数据挖掘: 自动化和网络提供了大量的源数据,如网页点击数据;电子医疗数据;生物数据;工程数据等;
2、应用于不能手动编写的代码开发: 如无人直升机;手写字迹识别;大多数自然语言处理(NLP),和计算机视觉等
3、私人订制程序: 如Amazon,Netflix,iTunes Genius的产品推荐等。
2、机器学习的定义
Arthur Samuel(1959)将机器学习定义为:为赋予计算机学习能力而无需明确学习的研究领域。这是一个比较老旧的同时非正式的定义。
Tom Mitchell(1998)从案例的角度定义机器学习:一个计算机程序从经验E学习一些任务T和一些性能指标P,如果他在T上的性能(由概率P测量),随着经验E的提高而提高。对于跳棋游戏,上述的E,T,P则分别对应:E对应着玩跳棋游戏的经验;T对应着玩跳棋游戏的任务;P对应着程序赢得下一次游戏的概率。下面通过一个例子来进一步理解任务,经验和性能指标。
在上述小例子中,任务对应的是A,经验对应的是B,而性能指标对应的是C。
机器学习又可以分为监督学习和非监督学习两种。
3、监督学习
在监督学习中,首选会给定一套数据集和这套数据集对应的已知的输出结果,同时认为这套输入的数据集和结果之间存在关系。
监督学习的一大分类为“回归(regression)”问题,这类问题中,我们试图预测连续的结果值,更通俗地说,我们试图通过输入的变量获得一个连续函数。下面是一个“回归”问题的例子,房价预测问题,加入当前已经有一系列房子大小的数据和不同大小房子对应的价格数据,我们想要获得一个房价关于房子大小的连续函数,这就是一个回归问题。
监督学习的另外一大分类为“分类(classification)”问题,在这类问题中,我们试图以离散的形式来预测结果,换句话说,就是把输入变量映射到离散的输出分类中。如下图根据肿瘤的大小来预测这个肿瘤是良性的还是恶性的。
或者通过更加复杂的分类标准,通过年龄和肿瘤大小两个因素作为输入参数,来进行判定肿瘤的良性还是恶性。
更加复杂的问题包括输入的特征可以有无限多个,根据这些输入的特征来获取分类的结果。下面是一个小例子来判断问题属于回归问题还是聚类问题。
4、无监督学习
无监督学习是我们可以处理结果数据较少或者没有结果参考的数据集。我们可以从不知道变量之间的相互作用的数据之中提取出有用的结构。我们可以基于数据变量之间的关系来聚类数据从而获得这个结构。在无监督学习中,预测出的结果不会有反馈机制。
聚类学习一个应用的案例:Google新闻每天都会从各大新闻网站搜集各种新闻的标题数据信息,之后将他们按照词义进行聚类,从而完成每天同一个大事件不同新闻的整合推送。另一个应用案例为:首先收集1000000个人的基因结构数据,之后根据他们基因数据的异同将他们划分到不同的类别之中,如不同的年龄,性别,工作等。
另一个无监督学习算法的实际应用为音频分离和提取,如“鸡尾酒聚会问题”,通过“鸡尾酒算法”可以将混杂在一起的不同声音进行分别提取,使用的函数如下所示:
[W,s,v] = svd((repmat(sum(x.*x,1) size(x,1),1).*x)*x');
下面的小例子简单测试哪些问题属于非监督学习:
上述小测验中,新闻自动归类和将客户进行市场细分两个例程属于非监督学习的范畴。