概述
监督学习
- 利用一组已知类别的样本,调整算法的参数,使其达到所要求性能的过程。也成为监督训练或有教师学习。也就是说,所使用的数据集带有标签或类别,并且标签是正确的。
特征工程
在机器学习中,特征的数量和质量对结果有很大的影响,实际上,特征的质量远比数量重要。要注意的是,特征的数量不是越多越好:
- 增加了算法的复杂度和运行时间
- 简单的模型更具有鲁棒性
- 有用的维度数量少的时候可解释性更强
关于特征工程的指导方法: - 特征选取
所谓选取,就是从n个特征中选择k个,剩余的(n-k)个特征摄取 - 特征提取
所谓提取,就是将原本的n个特征进行运算,得到新的k个特征(比如特征的相加等运算)。
非监督学习
非监督学习,就是对于为加标签或类别的数据,试图找到其隐藏的规律。比如,拿到一本没有笔记的课本,我们需要手动找出其中的知识点。
实例:聚类任务
把相似的对象通过静态分类的方法分成不同的子集,相同子集中的对象都具有相似的一些属性。
常见算法:
回归算法
- 对数值型连续随机变量进行预测和建模的监督学习算法(即最后输出的特征向量的标签是连续值)
- 回归算法的典型例子就是函数的拟合问题,即用最小二乘法计算散点图的最佳拟合曲线。
- 我们平时接触的多是单变量的回归分析,而在机器学习中特征向量往往是多个维度的,因此机器学习中的回归问题会更为复杂。
上面展示了回归问题中的一维回归模型。给出一个散点图,找到拟合最好的函数。在这个例子中,拟合的函数是一个线性的函数。。
决策树算法
概念
决策树(Decision Tree)是在已知各情况发生概率的基础上,通过构成决策树来求取净现值≥0的概率,评价项目风险,判断其可行性的决策分析方法。
- 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
假设有人跟你借钱,你需要考虑的是他是否有能力偿还。对他的条件分析可视化后,就得到了上图的决策树。通俗的描述就是,对于目标选取一个特征,对特征所有可能的取值进行一次决策;如果需要进一步进行决策,就再选取一个特征进行相同步骤,知道得出最终决策为止。
分类
决策树的分类主要依据属性的划分
- ID3决策树
- C4.5决策树
- CART决策树
特点
- 优点
1.能够进行可视化分析,能以图例的方式展示出来。2.可解释性强,决策规则和决策链可视性好。3.能够处理缺失数据。 - 缺点
1.容易忽略属性之间的相关性。2.类别太多时,错误可能会增加
信息熵
知识补充:
- 随机事件:在随机实验中,有可能发生也有可能不发生的事件。在大量重复实验中具有某种规律性的事件。
- 随机事件的信息:对于一个随机变量X,它的每一个可能值都可看作是一个信息。每当X的一个可能值被观察到,就称不确定性减少了,即信息增加了
记 ( X = x k ) = p k , 则 当 X = x k 发 生 后 信 息 增 益 量 : I ( x k ) = l o g 1 p k = − l o g p k 以 2 为 底 时 , 单 位 为 b i t ; 以 e 为 底 时 , 单 位 为 n a t 。 推 论 : 当 p k = 1 时 , I ( p k ) = 0 ; 0 ≤ p k ≤ 1 , 因 此 I ( p k ) ≥ 0 ( 事 件 发 生 不 会 导 致 信 息 损 失 ) 小 概 率 事 件 所 携 带 的 信 息 更 多 ! ! ! 记(X=x_k)=p_k,则当X=x_k发生后 \ 信息增益量:I(x_k)=logfrac{1}{p_k}=-logp_k \ 以2为底时,单位为bit;以e为底时,单位为nat。 \ 推论:当p_k=1时,I(p_k)=0; \ 0≤p_k≤1,因此I(p_k)≥0(事件发生不会导致信息损失) \ 小概率事件所携带的信息更多!!! 记(X=xk)=pk,则当X=xk发生后信息增益量:I(xk)=logpk1=−logpk以2为底时,单位为bit;以e为底时,单位为nat。推论:当pk=1时,I(pk)=0;0≤pk≤1,因此I(pk)≥0(事件发生不会导致信息损失)小概率事件所携带的信息更多!!! - 信息熵
信息熵就是信息增益的数学期望
H ( X ) = E [ I ( x k ) ] = Σ p k I ( x k ) = − Σ p k l o g p k H(X)=E[I(x_k)]=Σp_kI(x_k)=-Σp_klogp_k H(X)=E[I(xk)]=ΣpkI(xk)=−Σpklogpk
举个例子,设随机变量X为抛硬币的朝向;正面(0),反面(1),且概率均为0.5,那么该随机变量的信息熵为:
H ( X ) = − Σ p k l o g p k = − ( 0.5 × l o g 0.5 + 0.5 × l o g 0.5 ) = 0.301 H(X)=-Σp_klogp_k=-(0.5×log0.5 + 0.5×log0.5)=0.301 H(X)=−Σpklogpk=−(0.5×log0.5+0.5×log0.5)=0.301
其实,信息熵也可以理解为系统的混乱程度。假设有10个球,8个红球2个黑球,此时拿到红球的概率明显大于拿到黑球的概率,事件的信息熵明显偏小。然而,如果10个球的颜色都不一样,那么由此计算的信息熵会偏大。由此可见,信息熵也可用于度量孤立系统的混乱程度。
最大熵增原则:当根据不完整的信息作为依据进行推论时,应该由满足限制条件的具有最大熵的概率分布推得。
推论:对于给定的方差σ^2,在任意的随机变量中高斯分布(正态分布)的熵最大。
交叉熵与KL散度
联合熵
若X,Y是一对离散型随机变量,且联合概率分布为p(X,Y),则X,Y的联合熵为:
H
(
X
,
Y
)
=
−
Σ
x
∈
X
Σ
y
∈
Y
(
p
(
x
,
y
)
l
o
g
p
(
x
,
y
)
联
合
熵
描
述
了
一
对
随
机
变
量
的
平
均
信
息
量
H(X,Y)=-Σ_{x∈X}Σy_{∈Y}(p(x,y)logp(x,y) \ 联合熵描述了一对随机变量的平均信息量
H(X,Y)=−Σx∈XΣy∈Y(p(x,y)logp(x,y)联合熵描述了一对随机变量的平均信息量
条件熵
给定随机变量X的情况下,随机变量Y的条件熵为:
H
(
Y
∣
X
)
=
Σ
x
∈
X
p
(
x
)
H
(
Y
∣
X
=
x
)
=
Σ
x
∈
X
p
(
x
)
[
−
Σ
y
∈
Y
p
(
y
∣
x
)
l
o
g
p
(
y
∣
x
)
]
=
−
Σ
x
∈
X
Σ
y
∈
Y
p
(
x
,
y
)
l
o
g
p
(
y
∣
x
)
H(Y|X) = Σ_{x∈X}p(x)H(Y|X=x) \ =Σ_{x∈X}p(x)[-Σ_{y∈Y}p(y|x)logp(y|x)] \ =-Σ_{x∈X}Σ_{y∈Y}p(x,y)logp(y|x )
H(Y∣X)=Σx∈Xp(x)H(Y∣X=x)=Σx∈Xp(x)[−Σy∈Yp(y∣x)logp(y∣x)]=−Σx∈XΣy∈Yp(x,y)logp(y∣x)
推论:熵的连锁规则
H
(
X
,
Y
)
=
H
(
X
)
+
H
(
Y
∣
X
)
推
广
一
般
情
况
:
H
(
X
1
,
X
2
,
.
.
.
,
X
n
)
=
H
(
X
1
)
+
H
(
X
2
∣
X
1
)
+
.
.
.
+
H
(
X
n
∣
X
1
,
X
2
,
.
.
.
,
X
n
−
1
)
H(X,Y)=H(X)+H(Y|X) \ 推广一般情况: H(X_1,X_2,...,X_n)=H(X_1)+H(X_2|X_1)+...+H(X_n|X_1,X_2,...,X_{n-1})
H(X,Y)=H(X)+H(Y∣X)推广一般情况:H(X1,X2,...,Xn)=H(X1)+H(X2∣X1)+...+H(Xn∣X1,X2,...,Xn−1)
互信息
根据熵的连锁规则:
H
(
X
,
Y
)
=
H
(
X
)
+
H
(
Y
∣
X
)
=
H
(
Y
)
+
H
(
X
∣
Y
)
则
互
信
息
:
I
(
X
;
Y
)
=
H
(
X
)
−
H
(
X
∣
Y
)
=
H
(
Y
)
−
H
(
Y
∣
X
)
互
信
息
反
映
的
是
知
道
Y
以
后
X
的
不
确
定
性
H(X,Y)=H(X)+H(Y|X)=H(Y)+H(X|Y) \ 则互信息:I(X;Y)=H(X)-H(X|Y)=H(Y)-H(Y|X) \ 互信息反映的是知道Y以后X的不确定性
H(X,Y)=H(X)+H(Y∣X)=H(Y)+H(X∣Y)则互信息:I(X;Y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X)互信息反映的是知道Y以后X的不确定性
属性选择的依据
在弄懂决策树的处理流程前,先要明白决策树的结构
每个节点的作用:
- 叶节点:输出分类结果
- 内部节点:用于属性测试
- 根节点:内部节点的一种。其位置特殊,需分开讨论
神经网络算法
- 一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
- 神经网络算法一般用于分类任务,神经网络模型也是深度学习潮流的模型基础。
- 上图为一个典型的全连接神经网络。
- 其中,每一个圆圈代表一个神经元,每个神经元中有一个激活函数,用来对神经元的输入做非线性变换。
- 圆圈之间的连线代表神经元之间的连接,每一条竖线叫做神经网络中的一层,也称为Layer。其中,属于同一层之间的神经元是互不相连的,而处于相邻层之间的神经元是有连接关系的。
- 最左边的神经元接受外界的输入,最右边的神经元经过自身的处理输出最后的结果。中间的层没有直接接触输入和输出,我们把他们称为隐藏层(hidden layer)。
发展历程
- 神经网络最简单的情况叫做感知器模型。在感知器模型中,没有隐藏层,因此结构比较简单,在理论上能进行比较完善的分析。
- 对于感知器模型来说,如果数据是线性可分的,那么感知器模型是一定会收敛的。而随着在感知器模型中加入了隐藏层,感知器模型就进化成了全连接网络模型。
- 虽然全连接网络模型只是增加了几个隐藏层,但理论分析难度却大大增加了,关于全连接网络的收敛分析,至今也没有令人满意的数学证明。
由于全连接网络结构过于复杂,上个世纪电脑的计算能力不足以支撑大规模的神经网络训练。因此,神经网络模型很快沉寂了下来。 - 后来,有学者在全连接神经网络的基础上提出了卷积神经网络模型,并应用于手写数字识别上,但是计算机的算力还是无法承受大规模的训练。
- 今天卷积神经网络的崛起,不仅仅是有一批学者在默默的研究,更是因为现代计算机的强大算力。
- 现在的深度学习很容易给我们一个假象,很多人会觉得卷积神经网络就是一切,遇到什么问题就用卷积神经网络。需要注意的是,虽然卷积神经网络在某些领域大放异彩,但是也不是万能的,很多时候是因为数据的特性决定了卷积神经网络的可用性。
SVM算法(支持向量机算法)
- Vapnik等人在多年研究统计学习理论基础上对线性分类器提出了另一种设计最佳准则。其原理也从线性可分说起,然后扩展到线性不可分的情况。甚至扩展到非线性函数中去,这种分类器被称为支持向量机。
- SVM是一种监督学习算法,广泛的应用于分类任务,并且是二分类任务。
- 支持向量机的目标就是在空间中寻找一个超平面,使得数据集能被超平面分开,从而完成分类任务。
- 上图展示了SVM的工作原理。对于SVM来说,超平面是由支持向量决定的,支持向量就是数据集中特殊的特征向量,用于支持算法找到超平面,这也是为什么叫做支持向量机的原因。
- 在上图中,处于虚线上的点就是所谓的支持向量。
K-means算法
- K-means是最经典,也是最常见的一种非监督学习算法,常被用来解决聚类问题。
- 算法接受参数k,然后将事先输入的n个数据对象划分为k个聚类以便使得所获得的聚类满足:
- 同一聚类中的对象相似度较高,
- 而不同聚类中的相似度较小。
KNN算法
- 如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。
- 假设我们有10条狗作为数据集,现在新来了一条狗,我们想知道新来的狗属于哪一类。首先,我们把新来的狗与原来的狗一一比对,然后选出与新来的狗最接近的k条狗,最后统计一下k条狗中出现次数最多的种类,将这个种类当作新来的狗的类别
集成学习
- 集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。
- 单个算法的效果可能不好,所以训练多个算法,每个算法都输出各自的预测,然后通过加权的方法得到最后的决策。
最后
以上就是淡定小松鼠为你收集整理的人工智能全栈学习路线(机器学习常见算法简介)监督学习非监督学习常见算法:集成学习的全部内容,希望文章能够帮你解决人工智能全栈学习路线(机器学习常见算法简介)监督学习非监督学习常见算法:集成学习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复