实用机器学习:什么是机器学习?看完就明白了

随着计算机和互联网越来越深入到生活中的方方面面,人们搜集到的数据也呈指数级的增长 。在这种情况下,大数据( big data )应运而生 。大数据通常体量特别大,而且数据比较复杂,使得无法直接使用传统的数据库工具对其进行存储和管理 。大数据带来了很多挑战,如数据的搜集、整理、存储、共享、分析和可视化等 。广义的大数据处理涵盖了上述所有领域;狭义的大数据更多是指如何使用机器学习来分析大数据,从海量的数据中分析出有用的信息 。
大数据分析的核心是机器学习算法 。很多时候,我们有足够的数据,但是对如何利用这些数据缺乏理解 。同时,实际问题往往比较复杂,并不能直接套用机器学习算法,我们需要对实际问题进行一些转化,使得机器学习算法可以应用 。虽然实际问题表现形式各异,但是在将它们转化为机器学习能够处理的问题时一般转化为如下4类问题: (1)回归问题; (2)分类问题; (3)推荐问题; (4)排序问题 。这4类问题是实际应用中最主要的类型,覆盖了大部分实际问题 。在1.3节,我们将详细介绍每类问题的具体例子 。
1.1什么是机器学习
机器学习( machine learning )是计算机科学的一个分支,也可以认为是模式识别( pattern
recognition )、人工智能( artificial intelligence )、统计学( statistics )、数据挖掘( data mining )等多个学科的交叉学科 。机器学习与数值优化( numerical optimization )也有很高的重合度 。
机器学习研究如何从数据中学习出有效的模型,进而能对未来作出预测 。例如,如果商店能够预测某件商品在未来一段时间的销售量,就可以提前预订相应数量的商品,这样既可以避免缺货,又可以避免进太多货而造成积压 。与传统的决策算法不同的是,机器学习算法依赖于数据 。在前面的例子中,我们要从历史数据中学习出相应的模型以对未来进行预测 。这样做有两个好处:第一,由于算法依赖于数据,可以使用新的数据来不停地更新模型,使得模型能够自适应地处理新的数据;第二,对人的介入要求少 。在使用机器学习的过程中,虽然也会尽量利用人的经验,但更多地强调如何利用人的经验知识从数据中训练得到更好的模型 。
目前,机器学习已成为研究和应用的热点之一 。一些能够使用机器学习解决的实际问题包括:
根据信用卡交易的历史数据,判定哪些交易是欺诈交易;
从字母、数字或者汉字图像中有效地识别出相应的字符;
根据用户以往的购物历史来给用户推荐新的商品;
根据用户当前的查询和以往的消费历史向其推荐适合的网页、商品等根据汽车的发动机排量、年份、类型、重量等信息估计汽车的耗油星 。
虽然这些问题的具体形式不同,但是均可转化成机器学习可以解答的问题形式 。
【实用机器学习:什么是机器学习?看完就明白了】从概念上讲,在机器学习中,我们的目标是从给定的数据集中学习出一个模型,使得它能够有效地从输数据中预测我们感兴趣的量 。根据问题的不同,我们感兴趣的量(或者叫目标值)可以有不同的形式 。例如,在分类问题中,目标值就是若干类别之一;在排序问题中,目标值就是关于文档的一个序列 。
在机器学习中,通常我们解决问题的流程如下:
(1)搜集足够多的数据;
(2)通过分析问题本身或者分析数据,我们认为模型堤可以从数据中学习出来的;
(3)选择合适的模型和算法,从数据中学习出模型f;
(4)评价模型f,并将其利用在实际中处理新的数据 。
在实际中,还需要根据应用的实际情况及时更新模型例如,若数据发生了显著变化,则需要更新模型t 。因此,在实际部署机器学习模型时,上面的第3步和第4步是一个循环反复的过程 。
一个经常与机器学习同时提起的相关领域是数据挖掘( data mining ) 。数据挖掘和机器学习在很多时候都被(不严格地)混用,因为这两者有很多重叠的地方 。传统意义上,机器学习更加注重于算法和理论方面,而数据挖掘更加注重实践方面 。数据挖掘中的很多算法都来自于机器学习或者相关领域,少数来自于数据挖掘领域,如关联规则( association rule ) 。
另一个与机器学习关联很深的领域是统计学 。在统计学中,我们学习了很多传统的处理数据的方法,包括数据统计量的计算、模型的参数估计、假设检验等 。但在实际问题中,很多情况下我们并不能直接使用统计学中的方法来解决问题 。一方面,随着数据规模的扩大,统计学中很多传统的数据分析方法需要通过大量的计算才能得到结果,时效性不高;另一方面,传统的统计学方法更多地考虑了算法在数学上的性质,而忽略了如何在实际中更好地应用这些算法 。


推荐阅读