机器学习模型分为:Generative Modeling(生成模型)和Discriminative Modeling(判别模型)两种,GM是由训练数据学习联合分布概率P(X,Y),然后求出条件概率P(Y|X)作为预测的模型,之所以称为生成模型,是因为模型标识了给定输入X产生输出Y的生成关系。典型的生成模型有:朴素贝叶斯和马尔科夫模型。判别模型是由训练数据直接学习决策函数F(X)或者条件概率分布P(Y|X)作为预测的模型,模型关心的是对给定的输入X,应该预测什么样子的输出Y,典型的判别模型有:K临近法,感知机,决策树,逻辑回归,SVM。
GM的特点:生成方法学习联合分布P(X,Y),所以可以从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。但它不关心到底划分各类的那个分类边界在哪里。
DM的特点:判别方法直接学习是决策函数Y = f(X)或者条件概率分布P(Y|X), 不能反映训练数据本身的特性。但它寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。
对于目标跟踪算法,生成模型就是:学习一个代表目标的模型,然后通过它去搜索图像区域,然后最小化重构误差。
判别模型是将跟踪问题看成一个而分类问题,然后找到目标和背景的决策边界。
目前所遇到的面试问题:
1)数据处理:如何处理缺失数据(missing value)? 各种处理方法有什么利弊?
2)数据处理:如何将描述变量(categorical variables)转为连续变量(continuous variables)?
-
如何处理有序变量?
-
如何处理无序变量?
3)数据处理:如何进行选择特征选择?如何进行数据压缩?
-
特征选择:包裹式,过滤式,嵌入式
-
数据压缩:主成分分析,自编码等
4)模型解释: 试解释什么是欠拟合与过拟合?如何应对这两种情况?
5)模型解释: 什么是偏差与方差分解(Bias Variance Decomposition)?与欠拟合和过拟合有什么联系?
6)评估模型一般有什么手段?
-
分类模型评估方法?
-
回归问题评估方法?
-
数据不均衡的评估方法?
7)深度学习是否比其他学习模型都好?为什么?
8)C++的重载和重写区别,实现机制
9)C++的虚函数
10)SQL的索引的优缺点
11)static 和const的区别
static的作用是可以提供对象间的信息共享,静态成员只能在类外初始化,静态成员函数和静态数据成员可以通过类来直接调用,不依赖于某一个对象。
http://blog.csdn.net/damon_hoo/article/details/38903041