Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3041160
  • 博文数量: 167
  • 博客积分: 613
  • 博客等级: 中士
  • 技术积分: 5473
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-13 21:35
个人简介

人, 既无虎狼之爪牙,亦无狮象之力量,却能擒狼缚虎,驯狮猎象,无他,唯智慧耳。

文章分类
文章存档

2015年(19)

2014年(70)

2013年(54)

2012年(14)

2011年(10)

分类: 大数据

2015-03-13 18:56:15

      由于工作的关系,开始接触机器学习这个技术领域,虽然自己的工作看似和机器学习关系不大,但是利用机器学习进行大数据的分析却是至关重要的。因此从今天开始自己再开始一个关于“机器学习”的系列笔记,将主要记录整理自己学习的收获。今天是对于机器学习的一个基本的介绍。
一、什么是机器学习?为什么需要机器学习?
    所谓机器学习,英文就是Machine Learning,最早的形式类似于数据挖掘、模式识别、人工智能等。无论其如何变化,应用到哪个具体的领域,其核心的思想都没有变:利用数据分析技术发现隐藏在数据背后的规律或模式。这里的主要问题面向那些算法还不清晰,无法直接编程实现解决的问题。比如对于序列排序问题,我们已经有了成熟的冒泡等算法;但是对于识别手写字体或从音频中提取出一个人说的话等,大脑的处理机制尚且不清晰,又何谈编程实现呢?因此对于此类难以编程实现的问题,我们采取数据分析的方法;而之所以我们可以通过数据分析获得模式或者近似的描述,本质上则是因为数据本身不是随机的,其中已经包含着我们还未发现的规律,我们利用数据分析的目的,就是发现、找到这些规律或者这些规律的近似描述。而这里的数据分析,就是我们今天说的机器学习,让计算机通过大量的数据分析,去自己学会解决该问题的算法,所以机器学习的算法也可以称作是“学习型算法”。
二、监督式学习
    接下来我们来分别看看机器学习四个具体的方面:监督式学习、算法理论、非监督式学习以及增强学习。首先我们来看看监督式学习。所谓监督式学习,也许定义有许多说法,不过我们只要把握一点就可以了:监督式学习需要一组“监督数据”来作为训练学习。这里的“监督数据”指的是一组明确标准输入对应的标准输出的数据,也就是“正确”结果明了的数据,我们所做的是运行算法,使得算法根据这些标准数据学习其中的映射关系,因此是“监督”的。
    常见的监督式学习有回归和分类。所谓回归常见的例子就想不同月份房价的数据,一年12个月的房价(平米均价)各不相同,如果我们以时间为x轴,房屋均价为y轴,那么可以绘出一年中的房价/月份涨跌图。如果我们想知道来年一月份的房价,我们只需要找到一条最符合已知数据的曲线就可以了,然后以此预测未来的房屋均价。
    至于分类,最常用的例子是关于肿瘤良性/恶性与大小的关系数据,以肿瘤大小为x轴,良性/恶性为y轴,自根据已有的肿瘤大小和性质的数据,来对新的病例肿瘤性质进行判断。这里的y轴不再像回归例子中是连续变化的数值(比如房屋均价),而是离散的数值(1:良性;0:恶性)。我们同样可以进行机器学习算法训练,然后根据找到的规律来判断新的病例。将分类的思想推广出去,现在我们只是考虑肿瘤大小一个因素,如果加上病者年龄,那么将得到一个三维的函数图;如果再考虑病人的性别,那么维数将继续增加。如果我们面临的问题需要考虑的因素很多,那么我们就可能需要一个高维平面。但是这个高维平面式什么样子呢?这个时候空间中的规律又如何寻找呢?值得庆幸的是,最近几年人们找到了SVM来解决这种高位向量空间的分类问题。SVM现在应用越来越广泛,这个在以后的章节会继续介绍。
三、算法理论
    机器学习依赖于多种多样的算法,这些算法大多基于数学和统计学,因此理解这些算法有时候需要掌握一定的数学基础。统计学上比如随机变量的期望、方差、相关系数等;而数学上则需要比较多的代数知识,比如矩阵的计算、转置、求逆以及特征向量等。一般来说,如果只是使用机器学习现有的算法,那么不需要对于其中的数学原理透彻理解,只需要理解各个算法和使用的条件就可以了。我们学习机器学习的目的分为三个层次:
-1. 了解机器学习领域,知道重要的算法;
-2. 可以根据自己的实际问题,灵活地应用机器学习算法来解决问题;
-3. 理解算法,提出已有算法的改进;
    这里自己的目标也就是到第二个层次了,能够使用机器学习算法解决面临的数据分析问题就可以了。机器学习是一门很有用的数据分析工具。
四、非监督式学习
    同监督式学习对应的就是非监督式学习,非监督式学习的特点就是开始的时候没有一组知道结果的标准数据,完完全全是从一堆毫无头绪的数据中去发现规律。常见的非监督式学习的例子就是聚类。一个经典的例子就是“鸡尾酒会”问题,这个是说在一个人声嘈杂的鸡尾酒会上,你如何从声音的叠加中提取出你想听的某个人的声音。这里就需要对声频数据进行大量的聚类分析,应用领域可以在声音识别、图像像素分析、计算机视觉、社交网络/市场划分等。
五、增强学习
    前面所说的数据分析的输入都是一次性的大量数据,然后对一个新的输入做出预测/判断。但是有些问题需要对一个输入的序列进行分析,也就是说这个时候我们关注的不是一个输入的结果,而是一个输入序列的“策略”。比如无人驾驶飞机的导航程序,一个“上升”或“下降”的指令并不会导致飞机事故,相反只有一系列连续的升降指令才会导致飞机失事。这里的应用领域往往是关注“策略”的领域,如游戏(RTS等)、无人机、机器人导航等。
六、小结
    可以说,机器学习的领域主要是上面所说的三个方面:监督式学习、非监督式学习以及增强学习,但是具体的应用领域则涉及医学、生物学、电子工程、人工智能等多个领域。机器学习作为一个强大的工具在不同的领域对数据分析发挥着不可替代的作用。
阅读(4570) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~