方差:
13、神经网络的原理,如何进行训练?
神经网络自发展以来已经是一个非常庞大的学科,一般而言认为神经网络是由单个的神经元和不同神经元之间的连接构成,不够的结构构成不同的神经网络。最常见的神经网络一般称为多层前馈神经网络,除了输入和输出层,中间隐藏层的个数被称为神经网络的层数。BP算法是训练神经网络中最著名的算法,其本质是梯度下降和链式法则。
14、介绍卷积神经网络,和 DBN 有什么区别?
卷积神经网络的特点是卷积核,CNN中使用了权共享,通过不断的上采用和卷积得到不同的特征表示,采样层又称为pooling层,基于局部相关性原理进行亚采样,在减少数据量的同时保持有用的信息。DBN是深度信念网络,每一层是一个RBM,整个网络可以视为RBM堆叠得到,通常使用无监督逐层训练,从第一层开始,每一层利用上一层的输入进行训练,等各层训练结束之后再利用BP算法对整个网络进行训练。
15、采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?
用EM算法求解的模型一般有GMM或者协同过滤,k-means其实也属于EM。EM算法一定会收敛,但是可能收敛到局部最优。由于求和的项数将随着隐变量的数目指数上升,会给梯度计算带来麻烦。
16、用 EM 算法推导解释 Kmeans。
k-means算法是高斯混合聚类在混合成分方差相等,且每个样本仅指派一个混合成分时候的特例。注意k-means在运行之前需要进行归一化处理,不然可能会因为样本在某些维度上过大导致距离计算失效。k-means中每个样本所属的类就可以看成是一个隐变量,在E步中,我们固定每个类的中心,通过对每一个样本选择最近的类优化目标函数,在M步,重新更新每个类的中心点,该步骤可以通过对目标函数求导实现,最终可得新的类中心就是类中样本的均值。
17、用过哪些聚类算法,解释密度聚类算法。
k-means算法,聚类性能的度量一般分为两类,一类是聚类结果与某个参考模型比较(外部指标),另外是直接考察聚类结果(内部指标)。后者通常有DB指数和DI,DB指数是对每个类,找出类内平均距离/类间中心距离最大的类,然后计算上述值,并对所有的类求和,越小越好。类似k-means的算法仅在类中数据构成簇的情况下表现较好,密度聚类算法从样本密度的角度考察样本之间的可连接性,并基于可连接样本不断扩展聚类蔟得到最终结果。DBSCAN(density-based spatial clustering of applications with noise)是一种著名的密度聚类算法,基于一组邻域参数
进行刻画,包括邻域,核心对象(邻域内至少包含
个对象),密度直达(j由i密度直达,表示j在i的邻域内,且i是一个核心对象),密度可达(j由i密度可达,存在样本序列使得每一对都密度直达),密度相连(xi,xj存在k,i,j均有k可达),先找出样本中所有的核心对象,然后以任一核心对象作为出发点,找出由其密度可达的样本生成聚类蔟,直到所有核心对象被访问过为止。
18、聚类算法中的距离度量有哪些?
聚类算法中的距离度量一般用闽科夫斯基距离,在p取不同的值下对应不同的距离,例如p=1的时候对应曼哈顿距离,p=2的情况下对应欧式距离,p=inf的情况下变为切比雪夫距离,还有jaccard距离,幂距离(闽科夫斯基的更一般形式),余弦相似度,加权的距离,马氏距离(类似加权)作为距离度量需要满足非负性,同一性,对称性和直递性,闽科夫斯基在p>=1的时候满足读来那个性质,对于一些离散属性例如{飞机,火车,轮船}则不能直接在属性值上计算距离,这些称为无序属性,可以用VDM(Value Diffrence Metrix),属性u上两个离散值a,b之间的VDM距离定义为