在网络的训练过程中,梯度计算分为前向计算与反向传播 :
1)随机初始化权重和偏差;
2)在正向传播过程中,输入信息通过输入层经隐含层,逐层处理并传向输出层;
3) 如果在输出层得不到期望的输出值,则取输出与期望的误差的平方和作为目标函数,计算输出与期望值之间的误差;
4)转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯量,作为修改权值的依据,对每个产生误差的神经元,调整相应的权重值,以减小误差,网络的学习在权值修改过程中完成。
5)重复迭代,误差达到所期望值时或者得到网络的最佳权重值,网络学习结束。
权重的初始化、网络层数的选择、每层结点数量的选择、学习率 、激活函 数的选择都会影响网络性能:
给定训练集,寻找比较粗糙的分类规则(弱分类器)要比寻找精确的分类规则要简单得多。提升算法的核心是:从弱学习算法出发,反复学习,得到一系列弱分类器;然后组合这些弱分类器,构成一个强分类器。
基本做法是:改变训练数据的概率(权重)分布,提高那些被前一轮弱分类器分错的样本的权重,降低已经被正确分类的样本的权重,针对不同的训练数据的分布,调用弱学习算法来学习一系列分类器。
关于弱分类器的组合,Adaboost的做法是:采用加权(多数)表决的方法。具体地,加大分类错误率较小的弱分类器的权重,使其在表决中起更大的作用。
混合高斯密度函数估计是指对于一个由多个高斯成分组成的分布,利用给定的数据估计高斯成分的参数(均值、协方差矩阵、先验概率),并给出每一样本属于哪一个高斯分量,从而可以得到样本的聚类结果。
影响K-means聚类算法性能的因素主要有以下两种:
(1)聚类中心的个数。不同的聚类中心个数的设定会产生不同的聚类结果,如果错误设置聚类中心的个数的值,会增大聚类误差。
(2)均值向量的初始化。K-means非常依赖于聚类中心的初始位置,初始选择不同的聚类中心,有可能会收敛到局部最小值,也有可能收敛到全局最小值。
谱聚类算法的本质是将聚类问题转化为一个图上的关于顶点划分的最优问题。对于个样本点,将这些样本点用图表示,就可以将聚类问题转换为图分割问题。即找到一种合理的分割图的方法,分割后形成若干子图。连接不同子图的边权重尽可能小,子图内部边权重尽可能大。
谱聚类算法的主要优点有:
1)谱聚类只需要数据之间的相似度矩阵,因此对于处理稀疏数据的聚类很有效。这点传统聚类算法比如K-Means很难做到。
2)由于使用了降维,因此在处理高维数据聚类时的复杂度比传统聚类算法好。
谱聚类算法的主要缺点有:
1)如果最终聚类的维度非常高,则由于降维的幅度不够,谱聚类的运行速度和最后的聚类效果均不好。
2) 聚类效果依赖于相似矩阵,不同的相似矩阵得到的最终聚类效果可能很不同。
PCA的思想是将n维特征映射到m维上(m
适用场景:
(1)原始数据特征多而且特征冗余。
(2)需要对样本进行可视化的时候,三维以上的特征无法进行可视化。
它选择的投影标准是降维到1维后,两组数据的相关系数最大。
适用场景:侧重于两组数据有相关关系的时候。
是从更利于分类的角度的有监督(训练样本有标签)的降维方法。希望数据投影后类内方差最小,类间方差最大。
适用场景:侧重于分类。
1)两类问题的LDA目标函数:
2)最大化下列目标函数:
Sb:类间离散度
Sw:类内离散度
类内方差最小(分母),类间方差最大(分子)来最大化下列目标函数。
3)最大化分子,把分母等于1作为约束条件,写出拉格朗日乘子法求出w的值。
ICA信号需要是非高斯的,寻找的是最能使数据的相互独立的方向。
应用场景:盲信号分离。
假设:
每一个类是单模态高斯分布 → 多模态LDA
每一个类的协方差矩阵都相同 → 异方差LDA
不足:
类分离问题。
降维维数不能超过C-1,C是类别数
LDA用于降维,和PCA有很多相同,也有很多不同的地方,因此值得好好的比较一下两者的降维异同点。
相同点:
1)两者均可以对数据进行降维。
2)两者在降维时均使用了矩阵特征分解的思想。
3)两者都假设数据符合高斯分布。
不同点:
1)LDA是有监督的降维方法,而PCA是无监督的降维方法
2)LDA降维最多降到类别数c-1的维数,而PCA没有这个限制。
3)LDA除了可以用于降维,还可以用于分类。
4)LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。
LDA算法的主要优点有:
1)在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。
2)LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优。
LDA算法的主要缺点有:
1)LDA不适合对非高斯分布样本进行降维,PCA也有这个问题。
2)LDA降维最多降到类别数k-1的维数,如果我们降维的维度大于k-1,则不能使用LDA。当然目前有一些LDA的进化版算法可以绕过这个问题。
3)LDA在样本分类信息依赖方差而不是均值的时候,降维效果不好。
4)LDA可能过度拟合数据。
核PCA:
1)先通过核方法把低维线性不可分的数据升维到高维空间,得到线性可分的核矩阵
2)对核矩阵进行PCA降维
流形及其流形学习:
流形学习的本质:当样本空间为一个高维光滑流形时,要从样本数据中学习这个高维流形的内在几何结构或内在规律,得到对应的低维数据集,实际也就是非线性降维。
流形学习的主要算法:
(1)基于全局的方法,如等距映射(ISOMAP)
(2)基于局部的方法,如局部线性嵌入算法(LLE)
LLE算法主要分为三步:
(1)求k个近邻的过程,这个过程使用了和KKN算法一样的求最近邻的方法
(2)对每个样本求它在邻域里的k个近邻的线性关系,得到线性关系的权重系数w
(3)利用权重系数在低维里重构样本数据
ISOMAP:
引入图论框架,将数据作为图中的点,点与其邻近点之间使用边来连接,逼近的测地线使用最短路径代替。
步骤1:构建邻接图G
步骤2:计算所有点对之间的最短路径
步骤3:把最短路径输入MDS算法得到输出。
非参数估计:
已知样本所属的类别,但未知总体概率密度函数的形式,要求我们直接推断概率密度函数本身。
K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中。
knn详细内容可参考此文:https://zhuanlan.zhihu.com/p/25994179
Parzen窗详细内容可参考此文:https://www.cnblogs.com/aminor/p/13851150.html
结构风险最小化指在保证在训练集中的分类精度(经验风险)的同时,降低模型的复杂度,让模型在测试集上也能获得低错误率。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。
VC维指分类器能将样本分开的最大数目定义,K维超平面上VC维为K+1。VC维反映了函数集的学习能力,VC维越大则模型越复杂。
算法实质:(线性/非线性)约束下的优化问题;目标函数就是我们想要求解的分类平面(i.e. 超平面 hyperplane)
分类及对应原理:
(1)当训练样本线性可分时,通过硬间隔(margin)最大化,学习一个线性分类器,即线性可分支持向量机;
(2)当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机;
(3)当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
(1) 将软约束添加到线性SVM中,让SVM允许少量样本错分,让模型更具有鲁棒性。
(2) 保持了SVM的稀疏性。Hinge Loss的零区域对应的是非支持向量的普通样本,这些样本都不参与最终超平面的决定,从而对训练样本的依赖大大减少,提高了训练效率。
软间隔惩罚参数C会影响决策边界位置:
C在等于合适的值的时候,不是特别大也不是特别小的时候。既保证了分类,而且又最大化magin,避免过拟合现象。
惩罚因子C越大,则SVM会更倾向把所有数据分对,往往出现较小的margin,最终导致过拟合现象,泛化性能不好。
C过于小,则惩罚力度不够,SVM会更倾向实现最大化的margin,而对样本分对分错不关心,不利于分类。
核方法大致思想为:
将在原始低维空间线性不可分的分类问题通过非线性变换成高维空间线性可分的分类问题,在高维空间学习线性支持向量机。在线性支持向量机学习的对偶问题中,把低维到高维的非线性变换的内积形式用核函数表示。
特征选择决定了使用哪些特征来做判断。在训练数据集中,每个样本的属性可能有很多个,不同属性的作用有大有小。因而特征选择的作用就是筛选出跟分类结果相关性较高的特征,也就是分类能力较强的特征。
在特征选择中通常使用的准则是:信息增益。
选择好特征后,就从根节点触发,对节点计算所有特征的信息增益,选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。
剪枝的主要目的是对抗「过拟合」,通过主动去掉部分分支来降低过拟合的风险。
核心是在决策树各个结点上应用信息增益准则选择特征,递归的构建决策树。相当于用极大似然法进行概率模型的选择。
(1)不能对连续数据进行处理,只能通过连续数据离散化进行处理;
(2)采用信息增益进行数据分裂容易偏向取值较多的特征,准确性不如信息增益率;
(3)缺失值不好处理。
(4)没有采用剪枝,决策树的结构可能过于复杂,出现过拟合。
继承了ID3的优点,并从以下四个方面进行改进。
1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足
2)在树构造过程中进行剪枝
3)能够完成对连续属性的离散化处理
4)能够对不完整数据进行处理
相比ID3和C4.5,CART既可以用于分类也可以用于回归。 CART 树的生成就是递归地构建二叉决策树的过程。对回归树用
平方误差最小化准则,对分类树用基尼指数最小化准则 ,进行特征选择,生成二叉树。
该算法用随机的方式建立起一棵棵决策树,然后由这些决策树组成一个森林,其中每棵决策树之间没有关联,当有一个新的样本输入时,就让每棵树独立的做出判断,按照多数原则决定该样本的分类结果。
逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事情发生的可能性。
比如:
一封邮件是垃圾邮件的可能性(是、不是)
你购买一件商品的可能性(买、不买)
广告被点击的可能性(点、不点)