1、基本的机器学习算法知道什么 (kmeans knn svm 决策树 ) kmeans?(介绍原理) 怎么选取最初的k值(我说选彼此距离尽可能大的) 怎么保证是距离比较远的几个k值?? (我不知道)比如1000个数的话 怎么找怎么用kmeans算法找k值? 复杂度 2、L1 L2 分别解释 3、决策树有哪些 (id3 c4.5 cart)决策树中的熵 (随机变量不确定性的度量? 熵越大 随机变量的不确定性越大)决策树CART怎么分树枝(我不知道 就说了个基尼系数)? 基尼系数是描述什么的(用于选择最优特征 同时决定该特征的最优二值切分点) 4、集成学习 (介绍了各种包括啥)bagging 和 boosting 在哪种情况下用哪个(我说boosting可用于连续和离散的 别的就不知道了) 5、二分查找出了个题 让我写代码 我说没听懂? 他说就写下二分查找的代码吧 查找出下标为2的数组 6、代码中用到了排序 他问我知道排序算法吗? 我说知道 比如冒泡快排?? 问我冒泡的复杂度 我说了平均最好最坏复杂度 他说冒泡什么情况下是最好/坏的复杂度? 然后让我写了冒泡的代码 7、写完后问了我快排的平均最好最坏复杂度
面试官问的面试题: 1、介绍之前的项目,中间会提一些问题
2、写混淆矩阵,写召回率和精确率的公式
3、介绍逻辑回归,写sigmoid函数,写LR的损失函数。
4、介绍梯度下降的原理,怎么避免局部最优。
5、介绍SVM,怎么寻找超平面,怎么分线性不可分数据。