最近有小半年由近半数工作和生活时间在机器学习技术(ML)的学习与工程实践中,感觉自己阅读了几本ML方面好书,找到了一些更好的学习网站,所以重新梳理了一下自己理解的的ML基础知识。
简而言之,人工智能可以被描述为试图将通常由人类完成的智力任务自动化。因此,人工智能是一个综合领域,不仅包括机器学习和深度学习,还包括更多不涉及学习的方法。
让计算机有效工作的常用方法是,由人类程序员编写规则(计算机程序),计算机遵循这些规则将输入数据转换为适当的答案。如下图所示——经典的程序设计
机器学习把这个过程反了过来:机器读取输入数据和相应的答案,然后找出应有的规则,如下图所示——机器学习。机器学习系统是训练出来的,而不是明确地用程序编写出来的。将与某个任务相关的许多示例输入机器学习系统,它会在这些示例中找到统计结构,从而最终找到将任务自动化的规则。
机器学习与数理统计相关,但二者在几个重要方面有所不同
机器学习大概在上世纪80年代开始蓬勃发展,诞生了一大批数学统计相关的机器学习模型。
其中一个工程化的概念
一个计算机程序利用经验E来学习任务T,性能是P,如果针对任务T的性能P随着经验E不断增长,则称为机器学习。 比如一个电商领域的应用
机器学习算法
对于一项数据处理任务,给定预期输出的示例,机器学习系统可以发现执行任务的规则。
机器学习模型将输入数据变换为有意义的输出。简而言之,机器学习就是指在预先定义的可能性空间中,利用反馈信号的指引,在输入数据中寻找有用的表示和规则。
什么是表示?
~
这一概念的核心在于以一种不同的方式来查看数据(表征数据或将数据编码)。比如彩色图像可以编码为RGB(红−绿−蓝)格式或HSV(色相−饱和度−明度)格式,这些是对同一数据的两种表示。机器学习模型旨在为输入数据寻找合适的表示(对数据进行变换),使其更适合手头的任务。
深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层中学习,这些层对应于越来越有意义的表示。
~
深度学习之“深度”是指一系列连续的表示层,数据模型所包含的层数被称为该模型的深度(depth)。现代深度学习模型通常包含数十个甚至上百个连续的表示层,它们都是从训练数据中自动学习而来的。与之相对,其他机器学习方法的重点通常是仅学习一两层的数据表示(例如获取像素直方图,然后应用分类规则),因此有时也被称为浅层学习(shallow learning)。
~
在深度学习中,这些分层表示是通过叫作神经网络(neural network)的模型学习得到的。神经网络的结构是逐层堆叠。如下图所示——用于数字分类的深度神经网络
这个神经网络将数字图像变换为与原始图像差别越来越大的表示,而其中关于最终结果的信息越来越丰富。你可以将深度神经网络看作多级信息蒸馏(information distillation)过程:信息穿过连续的过滤器,其纯度越来越高(对任务的帮助越来越大)。如下图所示——数字分类模型学到的数据表示
机器学习三要素包括数据、模型、算法。这三要素之间的关系,可以简单示意如下:
data + Algorithm ——> model
AI中的“数据驱动”是通过数据实现“智能”的体现——通过数据获取、数据分析,基于算法和模型形成数据应用、数据反馈的闭环。
指学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后需要考虑用什么样的计算方法求解最优模型。通常是一个最优化的问题。
在AI数据驱动的范畴内,模型指的是基于数据X做决策y的假设函数,可以有不同的形态,计算型和规则型等。
机器学习工作流(WorkFlow)包含数据预处理(Processing)、模型学习(Learning)、模型评估(Evaluation)、新样本预测(Prediction)几个步骤。
应用场景示例 | |
---|---|
分类 | 用户画像、情感分析、用户行为预测、图像识别 |
聚类 | 市场细分、模式识别、空间数据分析、图像处理与分析 |
回归 | 趋势预测、价格预测、流量预测 |
异常检测 | 日常运行监控、风险识别、舞弊检测 |
从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人工标注的。常见的监督学习算法包括回归分析和统计分类。
与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有生成对抗网络(GAN)、聚类。
通过观察来学习做成如何的动作。每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。
机器学习算法从数据中自动分析获得规律,并利用规律对未知数据进行预测。
分类问题是机器学习非常重要的一个组成部分。它的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。分类问题可以细分如下: