1.深度学习和机器学习的区别

机器学习是基于训练数据通过算法进行训练得到一个预测模型 用这个模型对无标签的数据进行预测 这就要求了在数据方面机器学习有较为严苛的要求 不好的数据会导致机器学习算法复杂度大大提高以及最后的结果的不理想
而深度学习则更像是人脑思考问题一般 先识别信息 之后进行处理 最后做出决策 这个模式也就说明了对于数据深度学习没有机器学习要求那么高 更多的是取决于神经网络采用了什么层

2.监督学习和无监督学习的最主要区别

监督学习是需要所有训练数据都带有标签 通过有标签数据去学习一个算法来对无标签数据进行预测
无监督学习是的训练数据都是无标签的 而是通过数据之间的联系来进行分类

3.如何选择重要的特征

  • 在选择重要特征前先去除特征集中有联系的那些特征
  • Lasso回归
  • 随机森林可以知道哪些特征对预测有重要作用
  • 基于信息增益的选择 也就是决策树

4.如何根据输入数据选择合适的机器学习算法

  • 如果数据是线性的采用线性回归
  • 如果非线性 bagging或者是核函数
  • 如果对商业目标有一定要求 采用决策树或者SVM可能效果更好
  • 如果数据是图像音频或者视频 神经网络会是一个好的选择

5.正则化在机器学习中的作用

在预测函数中加入正则化项可以有效去除数据中的噪音和异常点 减少过拟合的概率

6.高方差有用吗

一般来说高方差是没有用的 说明数据的分布范围极大 特征的选择范围也很大 这对于计算跟处理来说都是一个很大的问题 所以我们都有归一化这样的操作就是说很多时候大范围的数据是起到反作用的 但有时也需要分布较广的数据

7.如何处理高方差的数据

如果一个数据集有较大的方差 我们可以用bagging的方法来进行不放回采样 从数据中挑选一个子集出来 子集通常会有更小的范围 而且我们基于这样的更好的数据子集产生了一组预测函数 采用投票式的方法决策出预测结果

8.梯度下降以及随机梯度下降

梯度下降是对所有样本进行梯度计算最后选择正确的梯度来进行下降 保证了最后肯定能收敛到全局最小
随机梯度下降只是随机处理一些样本而采用这些样本的梯度来最小化损失函数 不可能每一次都往正确方向下降 但是从整体方向还是会往全局最小迭代 最后的结果也往往在全局最小附近 好处就是计算量大大减小

9.决策树的优点缺点

优点:解释性强 具有更少的参数 对于异常点有更高的鲁棒性
缺点:如果数据中含有较多噪音 决策树容易过拟合

10.混淆矩阵 作用

混淆矩阵把预测正确和错误的个数进行了统计并放在一张表格里 可以非常直观地看到该模型在分类方面的性能 也让我们知道了模型在哪些地方犯错

11.维度爆炸

当数据集的具有很多特征的时候 很多特征其实就都是噪音 如果我们都去拟合的话 很容易就过拟合了
也就是说当数据集的维度大大超过我们实际需要维度的时候 这个维度空间里的大部分数据都是没有用的 我们平时使用的算法都将变得很低效

12.正则化跟归一化区别

正则化就是在预测函数后面加正则化项 使得预测函数有一定的伸缩性 可以容忍一些噪音对预测的影响 在防止过拟合方面有奇效
归一化是对数据集进行处理 将一个较大范围的数据映射到0,1区间里 可以看成是区间的伸缩变换

13.归一化和标准化区别

标准化是将数据分布化为标准正态分布 将平均值变为0 标准差变为1

14.回归和分类的区别

对于输出数据而言 回归输出的是代表数字意义的数字 而分类输出的是一种类别
回归是一种连续变量的预测
而分类是一种离散变量的预测

15.什么是懒惰分类器

KNN k近邻算法是懒惰分类器 因为它只是单纯的进行计算 而不会从数据集当中学到任何参数 也不会得出一个预测模型

16.KMeans和KNN区别

KNN是一种监督学习的算法 用有标签的数据来对无标签的数据进行预测 使用距离度量来选k个距离最近的邻居然后选择最多的那个分类作为预测结果
KMeans是一种无监督学习的算法 所有的数据都是无标签的 利用数据之间的联系将他们聚成一个一个的类

17.SVM核函数

当数据集线性不可分的时候 我们可以使用核函数将数据映射到高维空间使得数据线性可分

18.集成学习模型 优点

集成学习是采用一组预测函数来对同一样本进行预测 采用投票式算法选出最多的那个分类作为预测结果
优点是在单一分类器不太稳定的时候 多分类器可以保证预测的准确性 同时集成学习可以减少方差以及偏置 减少过拟合

19.过拟合和欠拟合

过拟合:模型对数据集中的噪音也考虑进去 使得模型过于复杂 导致模型在训练集的表现格外良好而在测试集表现很差的情况
欠拟合:模型太过简单 在训练集上就已经表现不佳

20.Lasso和Ridge区别

  • Lasso是L1范数正则化项 是所有参数的绝对值之和
  • Ridge是L2范数 是所有参数的绝对值平方和
    弹性网络是另外一种正则化的手段 将二者结合

21.概率和似然区别

  • 概率是一个事情发生可能性的度量
  • 似然函数(简称似然)是参数空间内参数的函数 描述获得观测数据的概率
  • 基本的区别是概率跟可能的结果有关而似然是跟参数的假设有关

22.为什么剪枝

因为决策树会将所有数据点都考虑进去导致决策树容易出现过拟合问题 为了解决决策树的过拟合问题 我们需要在处理到噪音的时候进行剪枝 去除这一部分数据点对整个模型的影响 如果一个新分支对于信息增益没有帮助那么果断剪枝 很有可能就是噪音

预剪枝以及后剪枝

22.模型准确率和模型性能 哪个更好

模型的性能衡量标准有很多 如果说模型的性能是指运行速度的话 那么这跟模型的使用算法构成底层有关 如果说是衡量分类表现的话 在不平衡的数据集里F1指标比准确率更能体现模型的性能 准确率并不是我们唯一追求的东西

23.如何处理不平衡数据集

  • 过采样:过采样就是将少数类的样本的规律提取出来采用该规律生成新的数据点使得多数类和少数类的数据规模相匹配 显然生成新数据可能会导致过拟合的问题
  • 欠采样:欠采样就是随机删除多数类数据点 使得多数类跟少数类的数据规模相匹配 显然随机删除可能会删掉很多有用的信息

24.特征工程的重要性

特征工程可以说是数据集的预处理 比如说特征选择、特征提取、特征生成、特征构造等等 使得我们将数据中对于我们预测有利的特征提取出去 去除掉无用的噪音或者是对我们预测没有好处的其他特征 生成最符合模型需要的 最符合约束的新数据集
比如说PCA主成分分析 将高维的数据映射到低维空间 保留了最有用的特征 去除了没用的特征以及噪音 大大降低了算法的复杂度 和过拟合的可能性
特征工程的两个主要目标:

  • 提高模型性能
  • 生成符合模型约束需要的最适合的输入数据

25.Boosting和Bagging的区别

  • 采样:Bagging采用的是有放回的采样 生成一组不同的独立的数据子集 而Boosting采用的是整个样本
  • 权重:Bagging的所有样本的权重都是一样的 而Boosting会根据每一轮的预测结果的正误调整样本的权重 预测正确的会减少权重 预测错误的则增加
  • 预测函数:Bagging的所有预测函数的权重都是一样的 最终决策结果每一个预测函数都贡献一样的力量 而Boosting的预测函数是有权重的 表现好的预测函数会获得更高的权重
  • 并行:Bagging可以同时进行n个训练样本子集的生成以及n个预测函数的训练 这之间是互不干扰的 而Boosting只能顺序一轮一轮来 因为这一轮的样本权重跟函数权重需要上一轮的预测结果
  • 作用:Bagging是用来减少数据集的方差也就是缩小数据集的取值范围因为是取数据子集 而Boosting主要是用各个弱分类器之间好而不同的特点进行优势互补以及克服它们的缺点

26.生成式和判别式方法

  • 生成式方法:先给定一个联合概率分布 然后基于这个分布对数据集进行参数的预测
  • 判别式方法:基于数据的条件分布 然后更改参数求出最合适的参数得出联合概率分布

27.超参数跟参数的区别

超参数是在模型外部的参数 在开始训练之前人为设定初始值 在训练过程中也可以由训练结果自动更新
而参数是模型内部的 在训练过程中自动得到的 由训练集的数据得来

28.如何确定聚类中类的个数

通过轮廓系数的表现来确定类的个数取多少合适
轮廓系数取值-1到1 越接近1越好

29.交叉验证的作用

第一是在数据集比较小的时候 可以划分为k部分 用其中一部分作为测试集 依次轮流 可以使数据集得到充分利用
第二就是可以增加模型的准确性 确保每一部分样本都用于训练可以使模型更好的拟合

30.KNN的距离度量

  • 欧式距离
  • 曼哈顿距离
  • 闵可夫斯基距离
  • 余弦距离
  • Jaccard距离

31.随机森林使用了什么集成学习技术

随机森林使用了bagging 显然 随机森林每一棵树都是由bootstrap得来的数据子集再随机选择m个特征训练出来的预测函数 显然就是bagging

32.信息增益和信息熵

信息熵是代表信息量的大小 数据集越乱信息熵越大
信息增益是在按照属性分支前后的信息熵的差值

33.使用SVM而不是用随机森林的场景

  • 数据集线性不可分 我们需要用到SVM的核函数来进行高维映射 而不能用随机森林因为随机森林本质上还是决策树的集合 决策树没法处理线性不可分数据
  • 高维空间 在高维空间SVM的表现比随机森林要好 可能是因为SVM提取的支持向量在计算上比较简单 而决策树需要计算所有的数据点

34.SVM会受异常点影响吗

如果说C比较大 那么会受异常点的影响 其他情况下不会

35.线性回归是否可以用核函数

可以是可以 最好是不要 因为如果在线性回归应用核函数 复杂度将会比在SVM要高 线性回归是要到N立方的复杂度 SVM是N方k的复杂度 并且线性回归要计算所有的数据点 SVM只需要计算支持向量

36.SVM是否能产生概率输出

SVM的目标优化函数不包含概率因素 不会产生概率输出 可以转化成LR输出概率函数 比如说sklearn的一些参数可以让SVM输出概率结果 但底层也是转化为LR来输出 并不代表SVM可以输出概率

37.贝叶斯风险和经验风险

贝叶斯决策函数产生的风险就是贝叶斯风险 贝叶斯决策函数是我们能够得到的最好的决策函数 贝叶斯风险是对所有可能函数的风险的最小化
经验风险就是预测跟实际的差的函数再求和 对每一个样本都求一次损失函数再求和再求平均值 经验风险越小说明模型对样本的拟合程度越高

38.拉格朗日乘子

拉格朗日乘数法是在数学最优化里面寻找符合约束条件的局部最大值或者是局部最小值的方法
拉格朗日函数将目标函数和约束条件放在一起进行优化 将有约束难无解的问题转化为可求导的无约束问题
拉格朗日对偶函数使计算变得更加简单 同时得到一个最优解的下界

39.随机森林的随机性体现在

  • bootstrap构建数据子集的时候是采用bagging的方法 随机放回采样
  • 对任意一个数据子集都随机选择m个特征

40.随机森林为什么不容易过拟合

如果说随机森林只有一棵树的话还是跟决策树是一样的 把数据都考虑进去容易过拟合
而多棵树的随机森林其实从采样上就已经是随机采样 只是考虑部分数据 减少了噪音的影响 并且我们是有多棵决策树共同决策的结果 同样减少了单棵决策树过拟合导致整体过拟合的可能

41.深度学习模型和集成学习模型的联系

深度学习模型里面采用了大量集成学习的方法 集成学习说到底就是一种群体智慧的体现 防止单个学习器不稳定而出错 比如说CNN Transformer

42.集成学习的一组学习器不一定会比其中的单个学习器要准确

因为集成学习采用的是一整组进行投票来决策出结果 实际上是选择了大多数决策器的共同结果 但是实际上每一个预测函数都只是对某一部分的数据有比较好的预测 但是如果说我们给定的测试集是对于一小部分数据 而这一小部分数据是随机森林里面大部分决策树没有训练到的 那么整体的预测结果就会出错 而那一小部分训练到的决策树的预测正确率就会比一整组的预测正确率要高