何为机器学习?

机器学习是一种计算机编程技术,利用统计概率让计算机具备在无显式编程的情况下进行“学习”的能力。从本质上说,机器学习是让计算机学习人类的行为方式并加以执行,日积月累逐渐自主提高学习能力和知识储备。其中的原理是让计算机在无显式编程的情况下运行。机器学习所采用的开发程序可在接收到不同外部输入时进行调整。

但是机器学习的关键是向被训练的计算机输入海量数据。为实现机器学习,计算机需要大数据

机器学习的一个典型示例是无人驾驶。无人驾驶的车辆安装有摄像机、雷达和激光雷达传感器系统,可以:

  • 利用 GPS 进行定位。
  • 监测前方路况。
  • 监听车辆后方和侧方的各类物体。

以上所有信息都由中央计算机处理。该计算机会持续接收大量数据并加以分析,采用与人脑(神经网络)相似的方式对信息进行分类。随后,计算机会以数学概率和观测结果为基础进行决策,例如如何转向、何时刹车、何时加速等,以此引导车辆穿越周围环境。

Ready For More? Download 何为机器学习? User Guide now.

View Now

机器学习的 3 种类型

机器学习并非新鲜事物。第一个人工神经网络 (ANN) Perceptron 早在 1958 年即由心理学家 Frank Rosenblatt 发明出来。

Perceptron 最初目的是用作计算机,而非算法。它在 1960 年被用于开发图像识别计算机“Mark 1 Perceptron”。Mark 1 Perceptron 是第一台采用 ANN 模拟人类思考并通过试错法进行学习的计算机。

机器学习的应用范围现在更加广泛,这主要得益于开源工具库和框架,以及计算机处理能力在 1956 年到 2015 年间以万亿倍速度增长。如今,机器学习被广泛用于金融交易、恶意软件防范和个性化营销。不过,机器学习无论属于基础性还是复杂性,都可归入以下三大类别:

1. 有监督机器学习

有监督机器学习具有基础性和严格性。向计算机提供示例输入和期望的目标输出后,计算机会探索实现方式。其目的在于让计算机学习从输入映射到输出的普遍性规则。

有监督机器学习可用于预测不可见或未来的数据,被称为预测模型。这种算法会尝试建立函数,力求根据输入的变量准确预测输出结果,例如根据建筑面积(输入)和其他输入(例如建筑年代、类型等)预测房屋的市场价值(输出)。

有监督机器学习可分为两种类型:

  • 分类:输出变量是一个类别。
  • 回归:输出变量是一个实值。

有监督机器学习算法包括:随机森林、决策树、K-近邻算法 (kNN)、线性回归、朴素贝叶斯、支持向量机 (SVM)、逻辑回归和梯度提升。

2. 无监督机器学习

在无监督机器学习中,由算法自行发现输入的结构,而不会向算法提供任何标签。这可以指本质目标,即发现数据中的隐藏模式,或者是指得出结论的方法。这也被称为“特征学习”。

无监督机器学习的一个示例是 Facebook 的预测式面部识别算法,它可以在照片中识别人。

无监督机器学习可分为两种类型:

  • 聚类:目标是发现数据中固有的分组。
  • 关联:目标是找到定义大型数据组的规则。

无监督机器学习的算法包括:K 均值算法、层次聚类算法和降维算法。

3. 强化机器学习

在强化机器学习中,计算机程序与动态环境发生交互,在环境中,计算机必须实现某些目标,例如驾驶汽车,或者与对手进行比赛。计算机程序在问题空间中探索时,会得到起奖励或惩罚作用的反馈,进而学会判定在此环境中的最佳行为方式。

2013 年,一个采用 Q 学习的强化机器学习算法,在无任何程序员输入的情况下,成功学会了如何在六款 Atari 电子游戏中取胜。

强化机器学习可分为两种类型:

  • 蒙特卡罗:奖励是在最后达到“终止”状态时收到。
  • 时序差分 (TD) 学习:每一步都会对奖励进行预估。

强化机器学习算法包括:Q 学习、深度 Q 网络 (DQN) 和状态-动作-奖励-状态-动作 (SARSA)。

Machines Learn Through Probability

通过概率实现机器学习

所有形式的机器学习都是在概率计算过程中实现的,具体而言,是在应用贝叶斯定理演绎事件发生概率的过程中实现的。

以下是计算机学习太阳是否每天升起的示例。

第 1 天:太阳可能会升起,也可能不升起。太阳升起的概率是 0.5,或者是 50%。概率是二者选一,因为只可能出现两个结果。

第 2 天:太阳在第 1 天升起了,所以概率有所变化。计算机现在知道太阳曾经升起过一次,但是仍存在不升起的可能。现在太阳升起的概率成为 2/3,即 0.66。

第 3 - 6 天:太阳每天都升起,太阳升起的概率上升。

第 7 天:在这一周的最后一天,太阳升起的概率约为 0.857,即 85.7%,太阳明天仍会升起。

本年度最后一天:目前为止太阳每天升起,太阳明天仍会升起的概率现在已达到 0.997,即超过 99%。

值得注意的是,概率永远不会达到 1(即 100%)。总有一种极小的可能性,即太阳不会在第二天升起,随着时间的推移,这种可能性趋近于无穷小。

机器学习算法的 3 种类型

算法是用于解决某一问题的一系列特定动作。计算机利用算法列出执行一项操作必须完成的详细步骤。机器学习的算法种类繁多,远超上文所列。

使用哪种算法取决于要解决问题的复杂性和类型,例如聚类问题(探索数据的聚类方式)或者回归问题(预测实值输出)。机器学习算法包括:

决策树算法

决策树是一种可以用在多种场景中的算法,例如应用在零售、财务、制药等领域。计算机仅需以可能或不可能发生的各种结果为基础建立树形结构,并遵照树形结构的流程自然而然得出结论,计算出可能发生事件的概率。

例如,银行使用决策树判断是否发放贷款,制药企业在药物试验中使用决策树算法计算副作用发生的概率并预估治疗的平均费用。

随机森林算法

随机森林是另一种常用算法。它构建出多个分类和回归树 (CART),每个决策树都有各自不同场景和初始变量。具有随机性的是算法而非数据。随机森林算法可用于分类和回归预测模型。

例如,假设在一个包含 10 个变量的总体中有 1000 个观测值。随机森林算法将随机抽取一个包含 100 个观测值的样本和 5 个随机选择的初始变量,构建一个 CART 模型,然后执行。这一过程会不断重复,然后对每个观测值做出最终预测。最终预测是每个预测简单累加所得的函数。

K 均值算法

K 均值算法成为用于解决聚类问题的机器学习算法,这一点并不意外。该算法会将一组无标签(无外部分类)的数据点划分归类成组,称为“簇”。算法的每次迭代都会将一个数据点分配到与其特征相似的一个簇中,并随时对数据点进行跟踪,检测簇中的变化。

K 均值算法可以验证有关特定数据集中存在的类型组的假设,或者用于发现未知的簇。商业用例包括按销售活动对库存进行分组,并检测数据中的异常(如机器人程序)。

Apache Spark 与机器学习

Apache Spark 是一种采用 ultra-fast 设计方法的分布式框架,可大规模处理大数据。它内置可用于机器学习、SQL、流分析 (Spark Streaming) 和图形处理 (GraphX) 的模块。

Spark 生态环境包括 MLlib(机器学习库),可持续加速和优化分类、回归、聚类等数据处理。例如,Spark 可以驱动连接实时数据和批处理数据的智能数据管道,实现实时分析,获得最新商业智能

Talend 让机器学习的强大功能触手可及

Talend 与机器学习

Talend 平台是首个建立在 Hadoop 和 Apache Spark 上的大数据集成系统。预建的拖放式开发人员组件可实现在单一工具中使用各类 Spark 机器学习分类器。图形工具和向导可生成源生代码,助力您的企业快速搭载使用 Hadoop 和 Apache Spark。

Talend 可帮助您的企业在业务部门、IT 部门和数据科学家之间搭建桥梁,无缝部署重要的机器学习模型。请参阅博文《如何实施机器学习》。

了解更多有关机器学习、机器学习与人工智能和深度学习之间的区别、自然语言处理 (NLP) 基础知识的相关信息,请观看 Talend 按需网络研讨会机器学习基础

| Last Updated: January 23rd, 2019

Most Downloaded Resources

Browse our most popular resources - You can never just have one.