1、何谓机器学习
除却一些无关紧要的情况,人们很难直接从原始数据本身获得所需信息。例如,对于垃圾邮件的检测,侦测一个单词是否存在并没有太大的作用,然而当某几个待定单词同时出现时,再辅以考察邮件的长度及其他因素,人们就可以更准确地判断该邮件是否为垃圾邮件。简单地说,机器学习就是把无序的数据转换成有用的信息。
大量的经济活动都依赖于信息,我们不能在海量的数据中迷失,机器学习将有助于我们穿越数据迷雾,从中抽取出有用的信息。
2、机器学习的主要任务
2.1 监督学习
监督学习:该类算法必须知道是要预测什么,即目标变量的分类信息,主要任务是分类和回归。
分类是将实例数据划分到合适的分类中。
回归主要用于预测数值型数据,大多数人可能都见过回归的例子----数据拟合曲线:通过给定数据点的最优拟合曲线。
2.2 无监督学习
无监督学习:此时数据没有类别信息,也不会给定目标值。主要任务是聚类和密度估计。
聚类是将数据集合分成由类似的对象组成的多个类的过程。
密度估计是寻找描述数据统计值的过程。
此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。
3、如何选择合适的算法
选择实际可用的算法,必须考虑下面两个问题:(1)使用机器学习算法的目的,想要算法完成何种任务,比如是预测明天下雨的概率还是对投票者按照兴趣分组;(2)需要分析或收集的数据是什么。
首先考虑使用机器学习算法的目的。如果想要预测目标变量的值,则可以选择监督学习算法,否则可以选择无监督学习算法。确定选择监督学习算法之后,需要进一步确定目标变量的类型,如果目标变量是离散型(标称型),如是/否、1/2/3/、A/B/C或者红/黄/黑等,则可以选择分类算法;如果目标变量是连续型的数值(数值型),如0.0~100.00、--999~999等,则需要选择回归算法。
如果不想预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分为离散的组。如果这是唯一的要求,则使用聚类算法;如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。
4、开发机器学习应用程序的步骤
(1)收集数据
(2)准备输入数据
(3)分析输入数据
(4)训练算法
(5)测试算法
(6)使用算法