机器学习实战-简要笔记3

 

       学习了一段时间的《机器学习实战》,有所收获,简要总结如下。

       书中的源码是是基于python2编写的,我手动敲了一遍,每行加了注释,在python3.4.4中调试通过,github链接:https://github.com/ldgang0530/MLA

第9章          树回归

        第8章中的线性回归方法创建的模型都需要拟合所有的样本点,当数据拥有的特征较多,并且特征之间关系复杂时,构建全局模型就不行了。一种可行的方法是将数据集切分成很多份易于建模的数据,然后利用第8章的线性回归技术来建模。如果首次切分后仍难以拟合线性模型就继续切分。

 

       CART,分类回归树,它使用二元切分法来处理连续变量。而二元切分法:如果特征值大于给定值就走左子树,否则就走右子树。

       树剪枝,如果一棵树的节点过多,表明该模型可能对数据进行了过拟合。通过降低决策树的复杂度来避免过拟合的过程称为剪枝,有预剪枝和后剪枝两类,预剪枝就是提前设定终止条件,后剪枝则是先创建一个足够复杂的树,然后进行合并剪枝

 

       模型树:用树对数据建模,除了把叶节点简单地设定为常数值之外,还有一种方法就是把叶节点设定为分段线性函数,这里所谓的分段线性是指模型由多个线性片段组成。

 

树回归优缺点:

优点:可以对复杂和非线性的数据建模

缺点:结果不易理解

适用数据类型:数值型和标称型数据。

 

第10章K-均值聚类算法对未标注数据分类

 

K-均值算法的工作流程:首先,随机确定k个初始点作为质心。然后,将数据集中的每个点分配到一个簇中。具体讲,为每个点找距其最近的质心,并将其分配给该质心所对应的簇。最后,每个簇的质心更新为该簇所有点的平均值。重复迭代,直到数据点的簇分配结果不在改变为止。

K-均值聚类优缺点:

优点:容易实现

缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢

适用数据类型:数值型数据

       二分K-均值算法:该算法首先将所有点作为一个簇,然后将该簇一分为二,之后选择其中一个簇继续进行划分,选择哪一个簇进行划分取决于对其划分是否可以最大程度降低SSE(误差平方和)的值。如此基于SSE的划分过程不断重复,直到得到用户指定的簇数目为止。

 

示例:对地图上的点进行聚类

 

 

第11章      使用Apriori算法进行关联分析

所谓关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形

式:频繁项集或者关联规则。频繁项集是经常出现在一块的物品的集合,关联规则暗示两种物品之间可能存在很强的关系。

       Apriori:如果某个项集是频繁的,那么它的所有子集也是频繁的,反过来讲就是如果一个项集是非频繁集,那么它的所有超集也是非频繁的。

       注意支持度和可信度的概念:一个项集的支持度被定义为数据集中包含该项集的记录所占的比例;可信度则是针对一条诸如(尿布)->(葡萄酒)的关联规则来定义的。

 

       频繁项集的挖掘方法:首先,以每个元素作为频繁项集,计算支持度,过滤掉不符合条件的元素;然后,基于这些元素构建组合的频繁项集,计算支持度,过滤,重复该步骤,直至全部合并完。

       从频繁项集挖掘关联规则的处理方式与频繁项集的挖掘方法类似,不同点在于其选择可信度作为衡量标准。

 

示例:美国国会投票记录

 

 

第12章使用FP-growth算法来高效发现频繁项集

       FP-growth算法只需要对数据库进行两次扫描,而Apriori算法对于每个潜在的频繁项都会扫描数据集判定给定模式是否频繁,因此FP-growth算法的速度比Apriori算法快。

       FP-growth算法的工作流程:

首先,构建FP树,然后利用它来挖掘频繁项集。为构建FP树,需要对原始数据集扫描两遍。第一遍对所有元素项的出现次数进行计数,根据Apriori原理过滤掉不频繁的超集。数据库的第一遍扫描用来统计出现的频率,而第二遍扫描只考虑那些频繁元素。

然后,从一棵FP树中挖掘频繁项集。

 

示例:在Twitter源中发现一些共现词

 

 

第13章      利用PCA来简化数据

很多时候,样本数据会有很多属性,但只使用少数的属性就可以完成任务。也就是说原

本在高维空间的数据,可以通过低维空间就能完成功能。这就是降维。降维技术有很多,例如主成分分析、因子分析、独立成分分析等,该书重点讲述了主成分分析PCA方法。

 

       PCA:第一个主成分是从数据差异性最大的方向提取出来的,第二个主成分则是来自于数据差异性次大的方向,并且该方向与第一个主成分方向正交。通过数据集的协方差矩阵及其特征值分析,就可以求得这些主成分的值。

PCA步骤:1,求平均值,并在原数据上去除平均值;2,求取协方差矩阵,并计算得到特征值和对应的特征向量;3,对特征值进行排序,提取前N个特征值和对应的特征向量;4,将原数据转换到新空间,这样就得到了降维后的数据。

 

PCA方法,将所有的数据集都调入了内存,如果无法做到,就需要考虑其他方法寻找其特征值。

 

主成分分析优缺点:

优点:降低数据的复杂性,识别最重要的多个特征

缺点:不一定需要,且可能损失有用信息

适用数据类型:数值型数据

 

示例:利用PCA对半导体制造数据降维

第14章   利用SVD简化数据


SVD奇异值分解优缺点:

优点:简化数据,去除噪声,提高算法的效果

缺点:数据的转换可能难以理解

适用数据类型:数值型数据

 

示例:基于协同过滤的推荐引擎

示例:基于SVD的图像压缩


你可能感兴趣的:(AI)