学习能力是智能的重要标志之一。机器学习是人工智能的核心研究课题之一。
为方便记忆和回顾,根据个人学习,总结人工智能基础知识和思维导图形成系列。
学习的概念
机器学习的概念
直观上理解,机器学习(Machine Learning,ML)是研究计算机模拟人类的学习活动,获取知识和技能的理论和方法,改善系统性能的学科。
机器学习的过程
因为计算机系统中“经验‘通常以数据的形式存在,所以机器要利用经验,就必须对数据
进行分析。因此其过程可以简述如下:
(1) 按学习任务分类
回归、分类、聚类是机器学习最常见的三大任务。
回归是一种数学模型,利用数据统计原理,对大量统计数据进行数学处理,确定因变量与某些自变量的相关关系,建立一个相关性较好的回归方程(函数表达式)。
分类就是对数据分进行分类,把它们分到已知的每一个类别。
聚类就是对未知类别的样本进行划分,将它们按照一定的规则划分成若干个类族,把相似(距高相近)的样本聚在同一个类簇中。
降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中,用一个相对低维的向量来表示原始高维度的特征。
密度估计是是概率统计学的基本问题之一,就是由给定样本集合求解随机变量的分布密度函数问题。大多数人已经熟悉了其中一种常用的密度估计技术:直方图。
排序学习是信息检索和搜索引擎研究的核心问题之一,通过机器学习方法学习一个分值函数对待排序的候选进行打分,再根据分值的高低确定序关系。
主要算法有:
(2)按学习方式分类
有监督学习指利用一组带标签的数据(已知输出的数据)训练学习模型,然后用经训练的模型对未知数据进行预测。
无监督学习根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题。
强化学习(Reinforcement Learning,RL)又称为再励学习、评价学习,是一种通过模拟大脑神经细胞中的奖励信号来改善行为的机器学习方法。
(3) 按学习模型划分
模型 | 简单说明 | 子模型 | 典型算法 |
---|---|---|---|
Geometric 几何 | 采用线、面、距离或流形等几何模型构建学习算法 | Line 线 | Linear Regression 线性回归 |
Plane 面 | SVM 支持向量机 | ||
Distance 距离 | k-NN k近邻 | ||
Manifold 流形 | Isomap 等距映射 | ||
Logical逻辑 | 采用逻辑模型构建学习算法 | Logic逻辑 | Inductive Logic Program归纳逻辑编程 |
Rule规则 | Association Rule相关规则 | ||
Network 网格 | 采用网络模式构建机器学习算法 | Shallow 浅层 | Perceptron 感知机 |
Deep 深层 | CNN 卷积神经网络 | ||
Probabilistic 概率 | 采用概率模式来表示随机变量之间的条件相关性 | Bayes 贝叶斯 | Bayesian Network 贝叶斯网络 |
Generative 生成 | Probabilistic Program 概率规划 | ||
Statistic 统计 | Linear Regression 线性回归 |
其他分类方法
回归、分类、排序算法都属于有监督的学习。在实际应用中,机器学习主要以有监督的学习为主。
有监督的学习的一个典型特征为:拿已知结果的数据对模型进行训练。
单层感知机、CNN和RNN网络模型也都属于有监督的模型。
线性回归是最简单的回归算法。
线性回归假定输入变量(X)和单个输出变量(Y)之间呈线性关系。即
y = wx+b
其中,x=(x1,x2,…,xn) 为n维输入变量,w=(w1,w2,…,wn)为线性系数,b是偏置项。
目标是找到系数w的最佳估计,使得预测值Y的误差最小。
通常使用最小二乘法估计w和b,即:使样本的y值与y=wx+b预测的值之间的差的平方和最小。
像线性回归一样,多项式回归使用多项式变量x和y之间的关系,可以是二阶多项式、三阶多项式,也可以是n阶多项式。
比如:
y = ax**2+bx+c
y = ax1**2+bx2**2+cx1x2+dx1+ex2+f
支持向量机是最受欢迎、讨论最广的机器学习分类方法之一。是一种线型分类器。
基本原理:
在二维空间内,超平面可被视为一条直线,假设所有的输入点都可以被该直线完全分开,
两类边界由超平面式g(x)决定。
g(x) = wx-b=0
w为法向量,b为阈值,根据带标签的数据训练求出
SVM的目标:找到一组分割系数w、b,使一个超平面能够对数据x进行最佳分割,即能将两类正确分开,且分类间隔最大。
主要优点:
主要缺点:
k-最近邻(K-NN,k-NearestNeighbor)可用于分类,也可用于回归。
K-NN分类是最简单的多分类技术。
K-NN基本原理:
K-NN分类的基本概念是找到与新样本距离最近的K个训练样本(已确定分类)。
新样本从K个已确定分类的邻居获得分类标签。
- 对于回归问题,它可能是输出变量的平均值;
- 对于分类问题,它可能是模式类别值。
主要过程:
1. 计算训练样本和测试样本中每个样本点的距离
+ 常见的距离度量
- 欧氏距离(最常见)
- 曼哈顿距离
- 明氏距离
- 切氏距离
2. 对计算所得所有距离值进行排序
3. 对每个测试样本点选前k个最小距离的训练样本
4. 根据这k个训练样本的标签进行投票,得出测试样本点的预测分类
朴素贝叶斯也称为简单贝叶斯,是一种十分简单的分类算法。
朴素贝叶斯分类器的基础是贝叶斯定理。
P(类别|特征) = P(特征,类别)/P(特征) = P(特征|类别)P(类别)/P(特征)
以特征=咳嗽,类别=肺炎为例:
P(咳嗽):咳嗽的概率
P(肺炎):肺炎的概率
P(咳嗽,肺炎):咳嗽且得肺炎的概率
P(肺炎|咳嗽):在已知咳嗽的条件下,肺炎的概率
P(咳嗽|肺炎):在已知得肺炎的条件下,咳嗽的概率
- P(肺炎)为先验概率,即已知的根据经验或统计直接估计的概率
- P((咳嗽|肺炎)为已知结果,出现某个特征的条件概率
- 所以已知先验概率和条件概率,就可以对已知特征进行分类。
实际情况中,特征会有多个,比如肺炎可能具有咳嗽、疼痛、流鼻涕、鼻塞等多个特征。假设特征相互独立,就可以用全概率公式计算多个特征时的概率。因此,朴素贝叶斯模型假设特征之间相互独立。
朴素贝叶斯分类算法的特点:
决策树(Decision Tree)是一种基本的分类与回归方法,此处主要指分类的决策树。
决策树算法的基本原理:
集成学习是将多个分类器集成在一起的技术。可以用与回归,也可以用于分类。
集成学习用于分类的基本思路:
最流行的集成分类技术包括:Bagging算法、随机森林算法、Boosting算法
Bagging算法
套袋(Bagging)算法是一种最简单的集成学习方法。
流程:
Bagging算法的分类器可以选用SVM、决策树、DNN等。
随机森林算法
随机森林是当今最流行的套袋集成技术,由许多决策树分类器组成,并利用
Bagging算法进行训练。
随机森林算法基本思路:
过程:
随机森林的特点:
所以在深度学习出现之前一直比较流行。并且经常会成为很多分类问题的首选方法。
Boosting算法
Boosting算法是一种框架算法。
它首先会在对训练集进行转化后重新训练出分类器,即通过对样本集进行操作获得样本子集,然后用弱分类算法在样本子集上训练生成一系列的分类器,从而对当前分类器不能很好分类的数据点实现更好的分类。
Boosting主要算法有:
AdaBoost是一种迭代算法。
Boosting算法与Bagging算法的不同之处:
Boosting算法的主要应用领域包括模式识别、计算机视觉等,
其可以用于二分类场景,也可以用于多分类场景。
聚类、降维算法都是无监督学习算法
聚类算法根据数据的特征,将数据分割为多个集合,每个集合称为一个聚类。
k-均值聚类算法将对象根据它们的特征分割为k个聚类。
k-means聚类算法中k表示为样本分配的聚类的数量。
k-means聚类算法是一种迭代求解的算法,基本思路:
传统机器学习一般善于处理小规模数据问题。对于大规模数据,尤其对于图像类型的数据,人工很难获得数据特征以用于对图像进行分类,因此长期以来,传统机器学习产生的机器智能是十分有限的。直到深度学习出现之后才得以改观。
深度学习作为机器学习算法中的一个新兴技术,通常与深度神经网络有关联,是一种特殊的机器学习算法。
与感知机相比:多层感知器实际是只含有一层隐藏层节点的学习模型。
本质是对数据进行分层特征表示,实现将低级特征通过神经网络来进一步抽象
成高级特征。
以辛顿为首的新联结主义者强调,神经网络深度优于宽度。
强化学习(Reinforcement Learning,RL)又称为再励学习、评价学习,是一种通过模拟大脑神经细胞中的奖励信号来改善行为的机器学习方法。
强化学习的目标是学习一个最优策略,以使智能体(人、动物或机器人)通过接收奖励信号并将其作为回报,进而获得一个整体度量的最大化奖励。
个人总结,部分内容进行了简单的处理和归纳,如有谬误,希望大家指出,
持续修订更新中。修订历史版本见:https://github.com/hustlei/AI_Learning_MindMap