机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)

简介: 机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)

1. 基础算法 常见面试篇


1.1 过拟合和欠拟合 常见面试篇

  • 一、过拟合和欠拟合 是什么?
  • 二、过拟合 / 高方差(overfiting / high variance)篇
    • 2.1 过拟合是什么及检验方法?
    • 2.2 导致过拟合的原因是什么?
    • 2.3 过拟合的解决方法是什么?
  • 三、欠拟合 / 高偏差(underfiting / high bias)篇
    • 3.1 欠拟合是什么及检验方法?
    • 3.2 导致欠拟合的原因是什么?
    • 3.3 过拟合的解决方法是什么?

1.2 BatchNorm vs LayerNorm 常见面试篇

  • 一、动机篇
    • 1.1 独立同分布(independent and identically distributed)与白化
    • 1.2 ( Internal Covariate Shift,ICS)
    • 1.3 ICS 问题带来的后果是什么?
  • 二、Normalization 篇
    • 2.1 Normalization 的通用框架与基本思想
  • 三、Batch Normalization 篇
    • 3.1 Batch Normalization(纵向规范化)是什么?
    • 3.2 Batch Normalization(纵向规范化)存在什么问题?
    • 3.3 Batch Normalization(纵向规范化)适用的场景是什么?
    • 3.4 BatchNorm 存在什么问题?
  • 四、Layer Normalization(横向规范化) 篇
    • 4.1 Layer Normalization(横向规范化)是什么?
    • 4.2 Layer Normalization(横向规范化)有什么用?
  • 五、BN vs LN 篇
  • 六、主流 Normalization 方法为什么有效?

1.3 激活函数 常见面试篇

  • 一、动机篇
    • 1.1 为什么要有激活函数?
  • 二、激活函数介绍篇
    • 2.1 sigmoid 函数篇
      • 2.1.1 什么是 sigmoid 函数?
      • 2.1.2 为什么选 sigmoid 函数 作为激活函数?
      • 2.1.3 sigmoid 函数 有什么缺点?
    • 2.2 tanh 函数篇
      • 2.2.1 什么是 tanh 函数?
      • 2.2.2 为什么选 tanh 函数 作为激活函数?
      • 2.2.3 tanh 函数 有什么缺点?
    • 2.3 relu 函数篇
      • 2.3.1 什么是 relu 函数?
      • 2.3.2 为什么选 relu 函数 作为激活函数?
      • 2.3.3 relu 函数 有什么缺点?
  • 三、激活函数选择篇

1.4 正则化常见面试篇

  • 一、L0,L1,L2 正则化 篇
    • 1.1 正则化 是什么?
    • 1.2 什么是 L0 正则化 ?
    • 1.3 什么是 L1 (稀疏规则算子 Lasso regularization)正则化 ?
    • 1.4 什么是 L2 正则化(岭回归 Ridge Regression 或者 权重衰减 Weight Decay)正则化 ?
  • 二、对比篇
    • 2.1 什么是结构风险最小化?
    • 2.2 从结构风险最小化的角度理解 L1 和 L2 正则化
    • 2.3 L1 vs L2
  • 三、dropout 篇
    • 3.1 什么是 dropout?
    • 3.2 dropout 在训练和测试过程中如何操作?
    • 3.3 dropout 如何防止过拟合?

1.5 优化算法及函数 常见面试篇

  • 一、动机篇
    • 1.1 为什么需要 优化函数?
    • 1.2 优化函数的基本框架是什么?
  • 二、优化函数介绍篇
    • 2.1 梯度下降法是什么?
    • 2.2 随机梯度下降法是什么?
    • 2.3 Momentum 是什么?
    • 2.4 SGD with Nesterov Acceleration 是什么?
    • 2.5 Adagrad 是什么?
    • 2.6 RMSProp/AdaDelta 是什么?
    • 2.7 Adam 是什么?
    • 2.8 Nadam 是什么?
  • 三、优化函数学霸笔记篇

1.6 归一化 常见面试篇

  • 一、动机篇
    • 1.1 为什么要归一化?
  • 二、介绍篇
    • 2.1 归一化 有 哪些方法?
    • 2.2 归一化 各方法 特点?
    • 2.3 归一化 的 意义?
  • 三、应用篇
    • 3.1 哪些机器学习算法 需要做 归一化?
    • 3.2 哪些机器学习算法 不需要做 归一化?

1.8 [判别式(discriminative)模型 vs. 生成式 (generative) 模型 常见面试篇]

  • 一、判别式模型篇
    • 1.1 什么是判别式模型?
    • 1.2 判别式模型是思路是什么?
    • 1.3 判别式模型的优点是什么?
  • 二、生成式模型篇
    • 2.1 什么是生成式模型?
    • 2.2 生成式模型是思路是什么?
    • 2.3 生成式模型的优点是什么?
    • 2.4 生成式模型的缺点是什么?

2. 机器学习算法篇 常见面试篇

2.1 逻辑回归 常见面试篇

  • 一、介绍篇
    • 1.1 什么是逻辑回归
    • 1.2 逻辑回归的优势
  • 二、推导篇
    • 2.1 逻辑回归推导
    • 2.2 求解优化

2.2 支持向量机 常见面试篇

  • 一、原理篇
    • 1.1 什么是 SVM?
      • Q.A
    • 1.2 SVM 怎么发展的?
    • 1.3 SVM 存在什么问题?
      • Q.A
  • 二、算法篇
    • 2.1 什么是块算法?
    • 2.2 什么是分解算法?
    • 2.3 什么是序列最小优化算法?
    • 2.4 什么是增量算法?
      • Q.A
  • 三、其他 SVM 篇
    • 3.1 什么是最小二次支持向量机?
    • 3.2 什么是模糊支持向量机?
    • 3.3 什么是粒度支持向量机?
    • 3.4 什么是多类训练算法?
    • 3.5 什么是孪生支持向量机?
    • 3.6 什么是排序支持向量机?
      • Q.A
  • 四、应用篇
    • 4.1 模式识别
    • 4.2 网页分类
    • 4.3 系统建模与系统辨识
    • 4.4 其他
  • 五、对比篇
  • 六、拓展篇

2.3 集成学习 常见面试篇

  • 一、动机
  • 二、集成学习介绍篇
    • 2.1 介绍篇
      • 2.1.1 集成学习的基本思想是什么?
      • 2.1.2 集成学习为什么有效?
  • 三、 Boosting 篇
    • 3.1 用一句话概括 Boosting?
    • 3.2 Boosting 的特点是什么?
    • 3.3 Boosting 的基本思想是什么?
    • 3.4 Boosting 的特点是什么?
    • 3.5 GBDT 是什么?
    • 3.6 Xgboost 是什么?
  • 四、Bagging 篇
    • 4.1 用一句话概括 Bagging?
    • 4.2 Bagging 的特点是什么?
    • 4.3 Bagging 的基本思想是什么?
    • 4.4 Bagging 的基分类器如何选择?
    • 4.5 Bagging 的优点 是什么?
    • 4.6 Bagging 的特点是什么?
    • 4.7 随机森林 是什么?
  • 五、 Stacking 篇
    • 5.1 用一句话概括 Stacking ?
    • 5.2 Stacking 的特点是什么?
    • 5.3 Stacking 的基本思路是什么?
  • 六、常见问题篇
    • 6.1 为什么使用决策树作为基学习器?
    • 6.2 为什么不稳定的学习器更适合作为基学习器?
    • 6.3 哪些模型适合作为基学习器?
    • 6.4 Bagging 方法中能使用线性分类器作为基学习器吗? Boosting 呢?
    • 6.5 Boosting/Bagging 与 偏差 / 方差 的关系?
  • 七、对比篇
    • 7.1 LR vs GBDT?

3. 关于 Python

  • 【关于 Python 】
    • 一、什么是 args 和 *kwargs?
      • 1.1 为什么会有 args 和 *kwargs?
      • 1.2 args 和 *kwargs 的用途是什么?
      • 1.3 *args 是什么?
      • 1.4 **kwargs 是什么?
      • 1.5 args 与 *kwargs 的区别是什么?
    • 二、什么是装饰器?
      • 2.1 装饰器是什么?
      • 2.2 装饰器怎么用?
    • 三、Python 垃圾回收(GC)
      • 3.1 垃圾回收算法有哪些?
      • 3.2 引用计数(主要)是什么?
      • 3.3 标记 - 清除是什么?
      • 3.4 分代回收是什么?
    • 四、python 的 sorted 函数对字典按 key 排序和按 value 排序
      • 4.1 python 的 sorted 函数是什么?
      • 4.2 python 的 sorted 函数举例说明?
    • 五、直接赋值、浅拷贝和深度拷贝
      • 5.1 概念介绍
      • 5.2 介绍
      • 5.3 变量定义流程
      • 5.3 赋值
      • 5.4 浅拷贝
      • 5.5 深度拷贝
      • 5.6 核心:不可变对象类型 and 可变对象类型
        • 5.6.1 不可变对象类型
        • 5.6.2 可变对象类型
    • 六、进程、线程、协程
      • 6.1 进程
        • 6.1.1 什么是进程?
        • 6.1.2 进程间如何通信?
      • 6.2 线程
        • 6.2.1 什么是线程?
        • 6.2.2 线程间如何通信?
      • 6.3 进程 vs 线程
        • 6.3.1 区别
        • 6.3.2 应用场景
      • 6.4 协程
        • 6.4.1 什么是协程?
        • 6.4.2 协程的优点?
    • 七、全局解释器锁
      • 7.1 什么是全局解释器锁?
      • 7.2 GIL 有什么作用?
      • 7.3 GIL 有什么影响?
      • 7.4 如何避免 GIL 带来的影响?

4. 关于 Tensorflow

  • 【关于 Tensorflow 损失函数】
    • 一、动机
    • 二、什么是损失函数?
    • 三、目标函数、损失函数、代价函数之间的关系与区别?
    • 四、损失函数的类别
      • 4.1 回归模型的损失函数
        • (1)L1 正则损失函数(即绝对值损失函数)
        • (2)L2 正则损失函数(即欧拉损失函数)
        • (3)均方误差(MSE, mean squared error)
        • (4)Pseudo-Huber 损失函数
      • 4.2 分类模型的损失函数
        • (1)Hinge 损失函数
        • (2)两类交叉熵(Cross-entropy)损失函数
        • (3)Sigmoid 交叉熵损失函数
        • (4)加权交叉熵损失函数
        • (5)Softmax 交叉熵损失函数
        • (6) SparseCategoricalCrossentropy vs sparse_categorical_crossentropy
相关文章
|
机器学习/深度学习 算法 Python
机器学习特征筛选:向后淘汰法原理与Python实现
向后淘汰法(Backward Elimination)是机器学习中一种重要的特征选择技术,通过系统性地移除对模型贡献较小的特征,以提高模型性能和可解释性。该方法从完整特征集出发,逐步剔除不重要的特征,最终保留最具影响力的变量子集。其优势包括提升模型简洁性和性能,减少过拟合,降低计算复杂度。然而,该方法在高维特征空间中计算成本较高,且可能陷入局部最优解。适用于线性回归、逻辑回归等统计学习模型。
592 7
|
9月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 人工智能 算法
Scikit-learn:Python机器学习的瑞士军刀
想要快速入门机器学习但被复杂算法吓退?本文详解Scikit-learn如何让您无需深厚数学背景也能构建强大AI模型。从数据预处理到模型评估,从垃圾邮件过滤到信用风险评估,通过实用案例和直观图表,带您掌握这把Python机器学习的'瑞士军刀'。无论您是AI新手还是经验丰富的数据科学家,都能从中获取将理论转化为实际应用的关键技巧。了解Scikit-learn与大语言模型的最新集成方式,抢先掌握机器学习的未来发展方向!
1434 12
Scikit-learn:Python机器学习的瑞士军刀
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
998 8
|
机器学习/深度学习 数据可视化 算法
Python与机器学习:使用Scikit-learn进行数据建模
本文介绍如何使用Python和Scikit-learn进行机器学习数据建模。首先,通过鸢尾花数据集演示数据准备、可视化和预处理步骤。接着,构建并评估K近邻(KNN)模型,展示超参数调优方法。最后,比较KNN、随机森林和支持向量机(SVM)等模型的性能,帮助读者掌握基础的机器学习建模技巧,并展望未来结合深度学习框架的发展方向。
Python与机器学习:使用Scikit-learn进行数据建模
|
算法
面试场景题:如何设计一个抢红包随机算法
本文详细解析了抢红包随机算法的设计与实现,涵盖三种解法:随机分配法、二倍均值法和线段切割法。随机分配法通过逐次随机分配金额确保总额不变,但易导致两极分化;二倍均值法优化了金额分布,使每次抢到的金额更均衡;线段切割法则将总金额视为线段,通过随机切割点生成子金额,手气最佳金额可能更高。代码示例清晰,结果对比直观,为面试中类似算法题提供了全面思路。
2224 16
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
544 6
|
机器学习/深度学习 数据可视化 算法
Python 高级编程与实战:深入理解数据科学与机器学习
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化和调试技巧。本文将深入探讨 Python 在数据科学和机器学习中的应用,并通过实战项目帮助你掌握这些技术。

推荐镜像

更多