机器学习
列一下考察的知识点,并附上相关的优质知乎讨论。
逻辑回归,SVM,决策树
各种机器学习的应用场景分别是什么?例如,k近邻,贝叶斯,决策树,svm,逻辑斯蒂回归和最大熵模型。
主成分分析,奇异值分解
随机森林,GBDT, 集成学习
为什么说bagging是减少variance,而boosting是减少bias?
基于树的adaboost和Gradient Tree Boosting区别?
为什么在实际的 kaggle 比赛中 gbdt 和 random forest 效果非常好?
过拟合
机器学习中使用「正则化来防止过拟合」到底是一个什么原理?为什么正则化项就可以防止过拟合?
深度学习
列一下大概的考察点和相关的知乎讨论。
卷积神经网络,循环神经网络,LSTM与GRU,梯度消失与梯度爆炸,激活函数,防止过拟合的方法,dropout,batch normalization,各类经典的网络结构,各类优化方法
CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
sgd有多种改进的形式(rmsprop,adadelta等),为什么大多数论文中仍然用sgd?
你有哪些deep learning(rnn、cnn)调参的经验?
深度学习中 Batch Normalization为什么效果好?
为什么现在的CNN模型都是在GoogleNet、VGGNet或者AlexNet上调整的?
Krizhevsky等人是怎么想到在CNN里用Dropout和ReLu的?
11.C++11的特性是否了解,使用auto方便在哪,请举一个例子
(5)程序设计竞赛的获奖(例如OI/ACM/topcoder之类的)
1.基础机器学习算法,看本经典机器学习书,掌握基本的机器学习算法。不需要都学会,但是决策树、朴素贝叶斯、逻辑回归、knn、svm、kmeans、bp神经网络这几个应该是要认真看。推导下算法公式,结合代码掌握其原理。在网上或者机器学习实战里都有例子,结合跑一下程序。各个算法的适用情况优缺点,原理实现过程都要概述出来。最后把相关算法写在简历里,所写的一定是会的。2.深度学习方面。我找工作时候只会cnn。结合cnn来说,学习下几个典型分类模型,自己搭深度学习平台。然后跑几个例子,从制作数据集到训练优化测试走个流程。网络模型中用到的点一个一个查,都要理解。结合研究领域找几篇论文看看,结合别人的思路,看能不能做点什么。相关项目在网上,在实习,在比赛中都能找到,一定要自己做一下。最后把成果写在简历里。3.如果非计算机专业肯定要自学数据结构的,我就刷了俩遍剑指offer。有时间你们别学我,多刷点题吧。比如我去知乎面试算法工程师,让我写个程序,我用的递归写都忘了写递归出口了,很不熟练。