机器学习面试问题汇总

1、决策树

1)常见的决策树模型
决策树(ID3,C4.5,CART)原理,信息增益公式推导,信息增益比的引入原因,Gini指数的用途和原理
2)决策树怎么避免过拟合。
(预剪枝和后剪枝,然后 讲了下两种剪枝的过程)

2、聚类

1)Kmeans聚类原理,k值的确定方法,优缺点
数据集D中随机选k个作为聚类中心点
每个样本点计算到k个中心点的距离,选择距离最小的归属于该簇。
更新簇的中心点:所有点的均值。
重复上述步骤。知道簇的中心点变化小于阈值。
优点:快速简单;已解释;适用于高维
缺点:对离群点敏感;k值初始化;初始中心点的选择有很大影响

3、随机森林,GBDT,Xgboost

随机森林原理,优缺点
随机森林与GBDT
xgboost与GBDT区别(算法到内存)

4、SVM

SVM推导,损失函数,优缺点,核函数的选举

5、逻辑回归

Logistic回归推导,损失函数,优缺点

6、朴素贝叶斯

公式推导,优缺点

7、Adaboost原理

8、数据预处理,特征选择方法

调参的方法,方式
模型的选择原理

9、概率统计类

已知一个均值分布,怎么得到正态分布。(Box-Muller transformation)
Box-Muller的本质是什么。

10、推荐算法

11、其他还不太懂的

提出LSTM是为了解决什么问题?(梯度消失和梯度爆炸)

12、数据结构题

1)一个一维数组,只包含整数,可能有重复元素。找出所有和为S的数对(a,b)。
(遍历数组,用字典存每个元素的个数,然后对于字典里的任一键值k,只需看k和S-k的个数的最小值,复杂度O(n))
2)依然是和之前一样的一维数组,但是需要找出所有和为S的三个数(a,b,c)。
(思路还是和前面一样,字典存元素个数,对一个k,找出和为S-k的数对的个数,这样就退化到了二个数和为S的问题。复杂度O(n^2))
3)有序数组旋转,求最小元素位置。(二分,mid和末尾元素对比)
4)青蛙跳n级台阶。给定一个数组,里面包含一步可以跳的台阶数,求跳到n级台阶的最少步数。要求只能刚好跳到n级,跳过了不算。(用动态规划解,开辟一个长度为n+1的一维数组dp,dp[i]代表跳到i级台阶需要的 最少步数。dp[0]初始化为0,其余初始化为-1)
5)还是跳台阶,但是需要输出路径。给出思路。(一开始回答用广度优先遍历,超过n级则剪枝。面试官要求结合之前的 dp解法,想了下,用二维数组,paths[i]表示跳到i级台阶的最少步数对应路径,在动态规划的过程中知道从哪一级台阶j跳到当前台阶i步数最短,就在paths里添加paths[j]+[i])
6)类似“aabbccccdeffg”的字符串转化成“2a2b4cde2fg”的形式。(这个很简单,不说了)
7)一张海洋的高空拍摄图,图中有小岛,设计一个算法计算图中独立的小岛个数。上下左右为相接。(用只包含01的二维数组储存图像,蓝色为0,非蓝色为1。遍历数组,用字典存每个坐标的编号,岛屿编号从1开始,海洋点编号0。最大的岛屿标号就是小岛个数。复杂度O(n))
8)一个数组找寻某个数(二分法)

9)双向链表什么什么的(不懂)
10)如何层次遍历二叉树
11)算法题:一个矩阵,每一行,每一列数值都是递增的,寻找第k大的数
12)第一题:一个堆,怎么按顺序改为一个双向链表(gg,根本不懂)

13)第二题:一个无序数组,用时间复杂最低的来寻找某两个数加起来等于一个固定的值m,输出这些对(完成的还行,就是申请空间过大)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值