面试问题总结

机器学习模型分为: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

原文地址:https://www.cnblogs.com/han1ning1/p/7275387.html