算法面试题(一)-- 统计学习与模式识别面试题

题目:

算法面试题(一)-- 统计学习与模式识别面试题_第1张图片

算法面试题(一)-- 统计学习与模式识别面试题_第2张图片

答案解析:

第一部分:

1.统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,又称为统计机器学习;

特点:以计算机为平台;以数据为对象;以方法为中心;以概率论、统计学、信息论以及最优化理论等为理论依托;目的是实现对数据的预测和分析;

三要素:模型、策略、算法;

2.

3.特征选择:基于两个问题:1如何评价一组特征是否有效;2寻优算法

特征提取:其实就是特征变换,通过一个线性变换将高维特征映射到低维空间,说白了就是降维变换

4.好的特征标准:数量多,辨别能力好,局部性好,准确性,速度快

当前流行的图像特征:fast sift surf  BRISK Harris ORB MSER

5.回归和分类区别:当待识别的对象变量是连续的,就是一个回归问题;反之就是一个分类问题

联系:都属于监督学习;

举例:房价与尺寸和房间数的关系,如果房价是连续量,就需要线性回归;反之如果房价取特殊的离散量(house和department),就是一个两类分类问题;

6.决策树的优点:简单,既可以处理连续数值特征,也可以处理离散非数值特征;决策时不需要判别函数,只需要确定树结构的每一层节点特征;

决策树步骤:

1)计算所有样本的熵不纯度;

2)计算候选特征划分的样本熵不纯度;

3)计算每一个候选特征的信息增益或信息增益率;

4)确定根节点特征;

5)同上依次确定出每一层的节点,直到叶节点;

CART算法:思想与ID3和C4.5相同,最大的不同在于,CART在每个节点都采用二分法,即每个节点都只有两个子节点,最后构成的是二叉树;CART就可以用于分类问题也可以用于回归;

第二部分

1.SVD可以获取另一个方向上的主成分,而PCA只能获得单个方向上的主成分;SVD计算伪逆;通过SVD可以得到PCA相同的结果,但是SVD通常比直接使用PCA更稳定;SVD一般是用来诊断两个场的相关关系的,而PCA是用来提取一个场的主要信息的(即主分量)。两者在具体的实现方法上也有不同,SVD是通过矩阵奇异值分解的方法分解两个场的协方差矩阵的(两个场的维数不同,不对称),而PCA是通过Jacobi方法分解一个场的协方差矩阵(T'*T).

PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。

LDA,就是Fisher判别分析,基本和PCA是一对双生子,它们之间的区别就是PCA是一种unsupervised的映射方法而LDA是一种supervised映射方法,都可以实现降维,但是LDA是将高维映射到一维;

2.AdaBoost基本思想:融合多个弱分类器,来提高分类器的分类性能;

算法面试题(一)-- 统计学习与模式识别面试题_第3张图片


3.稀疏表达的意义在于降维,但这个降维并非局限于节省空间;在模式识别问题中,往往需要大量的先验知识,而稀疏性是其中最主要的一种先验知识,这一洗属性使得许多病态问题变得不在病态,得以让算法进行下去;另外一种理解就是稀疏表达比较简单,奥卡姆剃刀定律中说过,如果两个模型的解释力相同,选择较简洁的那个,而稀疏表达正好满足这一定律。

现实问题中,很多问题都是稀疏的或近似成稀疏的,如:

1)DL中提取特征;

2)小波变换;

3)模式识别中的特征选择和特征提取;


如有疏漏和错误,还望大神补充指正。。

你可能感兴趣的:(#,数据结构与算法,Pattern,Recognition,#,Image,Processing,Computer,Vision,算法面试)