周志华机器学习读后总结 第八、九章

集成学习

什么是集成学习

集成学习的结构是先产生一组个体学习器,再用某种策略将他们结合起来,它通过构建并结合多个学习器来完成学习任务。即集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。一个好的集成需要个体学习器有一定的准确性和多样性

 

一些集成学习方法

集成学习方法可以分为两大类:

1.个体学习器间存在强依赖关系、必须串行生成的序列化方法,代表算法是Boosting.

2.个体学习器间不存在强依赖关系、可同时生成的并行化方法,代表算法是Bagging和随机森林。

 

Boosting族算法

Boosting是一族可将弱学习器提升为强学习器的算法它先从初始训练集训练出一个基学习器再根据基学习器的表现对训练样本分布进行调整使得先前基学习器做错的训练样本在后续受到更多关注然后基于调整后的样本分布来训练下一个基学习器如此重复进行直至基学习器数目达到事先指定的值最终将所有的基学习器进行加权结合。Boosting主要关注降低偏差因此它能基于泛化性能相当弱的学习器构造出很强的集成Boosting族算法最著名的代表是AdaBoost算法。

 

AdaBoost算法

AdaBoost算法基于基学习器的线性组合来最小化指数损失函数。

算法过程:给定训练集、基学习算法和训练轮à初始化样本权重分布à在一个循环内不断更新分类器以找出满足条件的误差à由误差和权重更新公式计算出分类器的权重à由权重和分类器能得到线性组合à得到损失函数à将损失函数最小化。

 

Bagging与随机森林

 

Bagging算法

Bagging采用自助采样法从训练集中生成不同的相互有交叠的采样子集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合,这就是Bagging算法,Bagging算法主要关注降低方差。

 

随机森林

随机森林在以决策树为基学习器构建集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。随机森林中,对基决策树的每个结点,先从该节点的属性集合中随机选择一个子集,然后再从这个子集中选择一个最优属性用于划分;随机森林中基学习器的多样性不仅来自样本扰动,还来自属性扰动。

 

 

聚类

什么是聚类

聚类任务是一种无监督学习方法它将数据集中的样本划分为若干个通常是不相交的子集,每个子集中都是相似的对象(类似物以类聚,人以群分);它通过对无标记训练样本的学习来揭示数据的内在性质及规律

 

聚类性能度量

我们需要通过某种性能度量来评估聚类结果的好坏因此我们可以选择一种性能度量将其作为聚类过程中的优化目标来得到符合要求的聚类结果。一个好的聚类结果往往需要聚类结果的簇内相似度高且簇间相似度低。

 

两种不同聚类性能度量

外部指标:将聚类结果与某个参考模型进行比较;常用的外部指标有Jaccard系数、FM系数、Rand指数,这些性能度量的结果值均在[0,1]之间且值越大越好。

内部指标:直接考察聚类结果而不利用任何参考模型;常用的内部指标有DB指数、Dunn指数,DB指数越小越好,Dunn指数越大越好。

 

距离计算

距离计算(距离度量)是用来考察分好的类中各对象之间的相似度,它需要满足一些条件,即非负性、同一性、对称性和直递性。由公式我们可得闵可夫斯基距离(针对有序属性)和VDM距离(针对无序属性)。不满足直递性的距离称为非度量距离。

 

原型聚类

此类算法假设聚类结构能通过一组原型刻画。

 

K均值算法

给定样本集D和聚类簇数kàD中随机选择k个样本作为初始均值向量à重复的计算各样本与各均值之间的距离,不断地更新均值直到满足条件来找到最短距离à得到簇划分。

 

学习向量量化算法

给定样本集、原型向量个数、各原型向量预设的类别标记和学习率à初始化一组原型向量à重复的找出与各样本最近的原型向量,再根据条件重复更新原型向量到最后à输出原型向量。对任意样本,它将被划入与其距离最近的原型向量所代表的簇中。

 

高斯混合聚类算法

高斯混合聚类对样本的概率密度分布进行估计,而估计采用的模型是几个高斯模型的加权和。每个高斯模型就代表了一个类。对样本中的数据分别在几个高斯模型上投影,就会分别得到在各个类上的概率。然后我们可以选取概率最大的类所为判决结果。

 

DBSCAN算法

将所有点标记为核心点、边界点和噪声点à删除噪声点à为距离在Eps之内的所有核心点之间赋予一条边à每组连通的核心点形成一个簇à将每个边界点指派到一个与之关联的核心点的簇中。

 

AGNES算法

给定包含n个对象的数据库,终止条件簇的数目kà输出k个簇à将每个对象当成一个初始簇à重复根据两个簇中最近的数据点找到最近的两个簇;合并两个簇,生成新的簇的集合,直到达到定义的簇的数目à输出簇划分

你可能感兴趣的:(数据挖掘,机器学习,算法)