机器学习常见面试题

常见基模型


1. 线性模型(Linear Models)

  • 特点:通过线性组合特征进行预测,适合处理线性关系。
  • 常见类型
    • 线性回归(Linear Regression)
    • 逻辑回归(Logistic Regression)
    • 岭回归(Ridge Regression)
    • Lasso 回归(Lasso Regression)
  • 适用场景:特征与目标变量之间存在线性关系,且数据维度较高时。

2. 支持向量机(Support Vector Machines, SVM)

  • 特点:通过寻找最大间隔超平面进行分类或回归。
  • 常见类型
    • 线性 SVM(Linear SVM)
    • 核 SVM(Kernel SVM,如 RBF 核、多项式核)
  • 适用场景:适合高维数据和小样本数据,尤其是分类任务。

3. 神经网络(Neural Networks)

  • 特点:通过多层非线性变换拟合复杂函数。
  • 常见类型
    • 多层感知机(MLP)
    • 卷积神经网络(CNN)
    • 循环神经网络(RNN)
    • Transformer
  • 适用场景:适合处理非线性关系和高维数据,尤其是图像、文本、语音等复杂数据。

4. 朴素贝叶斯(Naive Bayes)

  • 特点:基于贝叶斯定理,假设特征之间相互独立。
  • 常见类型
    • 高斯朴素贝叶斯(Gaussian Naive Bayes)
    • 多项式朴素贝叶斯(Multinomial Naive Bayes)
    • 伯努利朴素贝叶斯(Bernoulli Naive Bayes)
  • 适用场景:适合文本分类、垃圾邮件过滤等高维稀疏数据。

5. K 近邻(K-Nearest Neighbors, KNN)

  • 特点:基于距离度量,通过邻居的标签进行预测。
  • 适用场景:适合低维数据和小样本数据,尤其是分类任务。

6. 决策树(Decision Trees)

  • 特点:通过递归分割特征空间构建树结构。
  • 常见类型
    • CART(Classification and Regression Tree)
    • ID3(Iterative Dichotomiser 3)
    • C4.5(改进的 ID3)
  • 适用场景:适合处理非线性关系,且模型可解释性要求较高时。

7. 随机森林(Random Forest)

  • 特点:通过集成多棵决策树进行预测,减少过拟合。
  • 适用场景:适合处理高维数据和非线性关系,且对模型稳定性要求较高时。

8. 梯度提升树(Gradient Boosting Trees)

  • 特点:通过逐步添加树模型拟合残差,优化目标函数。
  • 常见类型
    • XGBoost
    • LightGBM
    • CatBoost
  • 适用场景:适合处理结构化数据,且对模型性能要求较高时。

9. 高斯过程(Gaussian Processes)

  • 特点:通过高斯分布建模目标变量的分布。
  • 适用场景:适合小样本数据和回归任务,尤其是需要不确定性估计时。

10. 贝叶斯网络(Bayesian Networks)

  • 特点:通过概率图模型表示变量之间的依赖关系。
  • 适用场景:适合处理不确定性和复杂依赖关系的数据。

11. 聚类模型(Clustering Models)

  • 特点:通过无监督学习将数据分为若干簇。
  • 常见类型
    • K-Means
    • 层次聚类(Hierarchical Clustering)
    • DBSCAN
  • 适用场景:适合无监督学习任务,如客户分群、异常检测等。

12. 主成分分析(Principal Component Analysis, PCA)

  • 特点:通过线性变换将高维数据降维。
  • 适用场景:适合数据降维和可视化,尤其是高维数据。

13. 隐马尔可夫模型(Hidden Markov Models, HMM)

  • 特点:通过状态转移和观测概率建模序列数据。
  • 适用场景:适合处理时间序列数据,如语音识别、自然语言处理等。

14. 因子分析(Factor Analysis)

  • 特点:通过潜在变量解释观测变量之间的相关性。
  • 适用场景:适合降维和探索性数据分析。

15. 混合模型(Mixture Models)

  • 特点:通过多个概率分布的混合建模数据。
  • 常见类型
    • 高斯混合模型(Gaussian Mixture Models, GMM)
    • 隐狄利克雷分布(Latent Dirichlet Allocation, LDA)
  • 适用场景:适合聚类和生成模型任务。

总结

基模型一般包括:

  1. 线性模型(如线性回归、逻辑回归)
  2. 支持向量机(SVM)
  3. 神经网络(如 MLP、CNN、RNN)
  4. 朴素贝叶斯
  5. K 近邻(KNN)
  6. 决策树(如 ID3、C4.5)
  7. 随机森林
  8. 梯度提升树(如 XGBoost、LightGBM)
  9. 高斯过程
  10. 贝叶斯网络
  11. 聚类模型(如 K-Means、DBSCAN)
  12. 主成分分析(PCA)
  13. 隐马尔可夫模型(HMM)
  14. 因子分析
  15. 混合模型(如 GMM、LDA)

决策树(Decision Tree)

决策树(Decision Tree) 是一种常用的机器学习算法,既可以用于分类任务,也可以用于回归任务。它的核心思想是通过递归地划分特征空间,构建一棵树结构来对数据进行预测。决策树因其直观、易于理解和解释的特点,被广泛应用于各种领域。


1. 决策树的基本概念

  • 树结构
    • 决策树由节点(Node)和边(Edge)组成。
    • 根节点:树的起始点,包含所有样本。
    • 内部节点:表示一个特征或属性的测试条件。
    • 叶子节点:表示最终的预测结果(分类标签或回归值)。

2. 决策树的构建过程

(1)选择最佳分裂特征
  • 决策树的核心是如何选择最佳特征进行分裂。
  • 常用的分裂准则包括:
    • 信息增益(Information Gain) :选择使信息增益最大的特征。
      • 信息增益 = 父节点的熵 - 子节点的加权平均熵。
    • 信息增益比(Gain Ratio):对信息增益进行归一化,避免偏向取值较多的特征。
    • 基尼指数(Gini Index) :选择使基尼指数最小的特征。
      • 基尼指数表示数据的不纯度,值越小表示纯度越高。
(2)递归分裂
  • 对每个子节点重复上述过程,直到满足停止条件。
  • 常见的停止条件包括:
    • 节点中的样本全部属于同一类。
    • 树的深度达到预设的最大值。
    • 节点中的样本数少于预设的最小值。

3. 决策树的类型

(1)分类树(Classification Tree)
  • 用于分类任务,叶子节点输出类别标签。
  • 常用算法:
    • ID3(Iterative Dichotomiser 3):使用信息增益作为分裂准则。
    • C4.5:使用信息增益比作为分裂准则。
    • CART(Classification and Regression Tree):使用基尼指数作为分裂准则。
(2)回归树(Regression Tree)
  • 用于回归任务,叶子节点输出连续值。
  • 常用算法:
    • CART:通过最小化均方误差(MSE)选择最佳分裂点。
相关推荐
原来是猿6 分钟前
蓝桥备赛(13)- 链表和 list(上)
开发语言·数据结构·c++·算法·链表·list
项目申报小狂人20 分钟前
高性能算法NGO!北方苍鹰优化算法(Northern Goshawk Optimization,NGO)
算法·数学建模
且听风吟ayan30 分钟前
leetcode day26 重复的子字符串
算法·leetcode·c#
仟濹44 分钟前
【算法 C/C++】二维差分
c语言·c++·算法
*星星之火*1 小时前
【GPT入门】第9课 思维树概念与原理
gpt·算法·深度优先
xiangzhihong81 小时前
GitHub神秘组织3小时极速复刻Manus
人工智能·深度学习·机器学习
总斯霖1 小时前
题解:士兵排列
数据结构·c++·算法
稳兽龙1 小时前
P4268 [USACO18FEB] Directory Traversal G
c++·算法·换根dp
我是大咖3 小时前
c语言笔记 一维数组与二维数组
c语言·笔记·算法
誓约酱3 小时前
(每日一题) 力扣 283 移动零
linux·c语言·数据结构·c++·算法·leetcode