百面机器学习学习笔记

特征归一化

为了消除数据特征之间的量纲影响,我们需要对特征进行归一化处理,使得不同指标之间具有可比性。

k维度的低纬度向量表示。

word2vec 实际是一种浅层的神经网络结构,cbow和skip-gram

LDA, 线性回归分析还是文档主题生成模型。

GAN生成式对抗网络。

准确率的局限性,分类器把所有的样本都预测为负样本也可以获得99%的准确率。

准确率不适用于正负样本分布不均匀的场景, 平均准确率代替。

精确率不适用于发现冷门剧集的场景,因为只会返回确信度比较高的样本。

平方根误差的“意外”,因为离群点造成的,其实平均值

相比P-R曲线,ROC曲线有一个特点,当正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般发生比较剧烈的变化。

正负样本数量往往很不平衡。所以ROC曲线的适用场景更多,被广泛的用于排序,推荐,广告等领域。

在机器学习过程中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常适用余弦相似度来表示。余弦相似度的取值范围是[-1,1],相同的两个向量之间的相似度为1.

将1减去余弦相似度即为余弦距离。因此,余弦距离的取值范围为[0,2],相同的两个余弦距离为0.

当一对文本相似度的差距很大、但是内容接近时,如果使用词频或者词向量作为特征,它们在特征空间中的欧式距离通常很大;而如果使用余弦相似度的话,它们之间的夹角可能很小,因而相似度很高。

余弦相似度在高维情况下依然保持“相同时为1,正交时为0,相反时为-1”的性质,而欧式距离的数值则受维度的影响,范围不固定,并且含义比较模糊。

向量的模长是经过归一化的,此时欧式距离与余弦距离有着单调的关系。

总体来讲,欧式距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。

余弦距离满足正定性和对称性,但是不满足三角不等式,因此不是严格定义的距离。

KL距离,也叫作相对熵,常用于计算两个分布之间的差异,但不满足对称性和三角不等式。

当样本规模比较小时,自助法是基于自助采样法的检验方法。对于总数为n的样本集合,进行n次有放回的随机抽取,得到大小为n的训练集。n次采样过程中,有的样本会被重复采样,有的样本没被抽取过,将这些没被抽出的样本作为验证集,进行模型验证,这就是自助法的验证过程。

在自助法采样的过程中,对n个样本进行n次自助抽样,当n趋向于无穷大时,最终有36.8%的样本从未被选择过。

超参数调优,一般会采用网格搜索、随机搜索、贝叶斯优化等算法。

降低过拟合问题的方法,获取更多的训练数据,降低模型复杂度,正则化方法,集成学习方法。

降低欠拟合的方法:添加新特征,增加模型复杂度,减小正则化系数。

实际上,对于任意线性可分的两组点,它们在svm分类的超平面上的投影都是线性不可分的。

主成分分析作为降维中最经典的算法,至今已有100多年的历史,它属于一种线性,非监督,全局的降维算法。

gram矩阵: n维欧式空间中任意k个向量的內积所组成的矩阵。

在数学中,希尔伯特空间是欧几里德空间的一个推广,其不再局限于有限维的情形。与欧几里德空间相仿,希尔伯特空间也是一个内积空间,其上有距离和角的概念(及由此引申而来的正交性与垂直性的概念)。此外,希尔伯特空间还是一个完备的空间。

正定矩阵
在线性代数里,正定矩阵 (positive definite matrix) 有时会简称为正定阵。 
定义:AA是n阶方阵,如果对任何非零向量xx,都有xTAx>0xTAx>0,其中xTxT 表示x的转置,就称A正定矩阵。

性质:

正定矩阵的行列式恒为正;
实对称矩阵A正定当且仅当A与单位矩阵合同;
两个正定矩阵的和是正定矩阵;
正实数与正定矩阵的乘积是正定矩阵。
等价命题: 
对于n阶实对称矩阵A,下列条件是等价的:

A是正定矩阵;
A的一切顺序主子式均为正;
A的一切主子式均为正;
A的特征值均为正;
存在实可逆矩阵C,使A=C'C;C,使A=C′C;
存在秩为n的m×n实矩阵B,使A=B'B;B,使A=B′B;
存在主对角线元素全为正的实三角矩阵R,使A=R'RR,使A=R′R
根据正定矩阵的定义及性质,判别对称矩阵A的正定性有两种方法:

求出A的所有特征值。若A的特征值均为正数,则A是正定的;若A的特征值均为负数,则A为负定的。

计算A的各阶顺序主子式。若A的各阶顺序主子式均大于零,则A是正定的;若A的各阶顺序主子式中,奇数阶主子式为负,偶数阶为正,则A为负定的。

SMO(序列最小最优化算法),如果所有的变量解都满足此最优化问题的KKT条件。那么这个最优化问题的解就得到了。因为KKT条件是该最优化问题的充分必要条件。

K均值算法需要事先定下类的个数,也就是K是值。而自组织映射网络则不用,隐藏层中的某些节点可以没有任何输入数据属于它,因此聚类结果的实际簇树可能会小于神经元的个数。而K均值算法受K值设定的影响要大一些。

K均值算法为每个输入数据找到一个最相似的类后,只更新每个类的参数;自组织映射神经网络则会更新邻近的节点。所以,K均值算法受noise data的影响比较大,而自组织映射网络的准确性可能会比K均值算法低(因为也更新了邻近的节点)

相比较而言,自组织映射神经网络的可视化比较好,而且具有优雅的拓扑关系图。

k均值收敛性证明? 如何评价聚类算法。

概率图模型的联合概率分布。

logloss和交叉熵是等价的。

测试阶段是前向传播过程,在前向传播的计算中,每个神经元的参数要预先乘以概率系数p,以恢复在训练中该神经元只有p的概率被用于整个网络的前向传播计算。

卷积操作的本质特性包括稀疏交互和参数共享。

池化层除了能显著降低参数数量,还能够保持对平移,伸缩,旋转操作的不变形。平移不变性是指结果对输入的小量平移基本保持不变。

boosting方法训练基分类器时采用串行方式,各个基分类器之间有依赖。迭代式学习。

bagging在训练过程中,各分类器之间无强依赖,可以进行并行训练。其中很著名的算法之一是基于决策树基分类器的随机森林。为了让基分类器之间相互独立,将训练集分为若干子集。bagging方法更像是一个集体决策的过程,每个个体都进行单独学习,学习的内容可以相同,也可以不同,也可以部分重叠。bagging的主要思想:集体投票决策。

我们再从消除基分类器的偏差和方差的角度来理解boosting和bagging方法的差异。基分类器,有时又被称为弱分类器,因为基分类器的错误率要大于集成分类器。基分类器的错误,是偏差和方差两种错误之和。偏差主要是由于分类器的表达能力有限导致的系统性错误,表现在训练误差不收敛。方差是由于分类器对于样本分布过于敏感,导致训练样本数较少时,产生过拟合。

boosting减小偏差,bagging减小方差。

adaboost boosting。

基分类器的选择是集成学习主要步骤中的第一步,也是非常重要的一步。

常用的基分类器是决策树。

决策树可以较为方便地将样本的权重整合到训练过程中,而不需要使用过采样的方法来调整样本权重。

决策树的表达能力和泛化能力,可以通过调整树的层数来做折中。

数据样本的扰动对于决策树的影响较大。神经网络也适合作为基分类器。

gbdt优点:预测阶段计算速度快,在分布稠密的数据集上,泛化能力和表达能力好。

gbdt在高维稀疏的数据集上不如svm或神经网络,在文本分类特征问题上,不如处理数值特征明显。训练过程需要串行训练。

gbdt基于经验损失函数的负梯度来构造新的决策树,在决策树构建完成后进行剪枝。xgboost加入正则项控制复杂度。

xgboost用了二阶导数信息,支持多种基分类器。xgboost支持对数据进行采样。xgboost自动学习缺失值处理策略。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(机器学习基础)