机器学习、基础算法、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
相关文章
|
6天前
|
存储 算法 搜索推荐
Python 中数据结构和算法的关系
数据结构是算法的载体,算法是对数据结构的操作和运用。它们共同构成了计算机程序的核心,对于提高程序的质量和性能具有至关重要的作用
|
17天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
65 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
17天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
55 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
17天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
62 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
20天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
40 2
|
22天前
|
算法 Python
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果;贪心算法在每一步选择局部最优解,追求全局最优;动态规划通过保存子问题的解,避免重复计算,确保全局最优。这三种算法各具特色,适用于不同类型的问题,合理选择能显著提升编程效率。
38 2
|
22天前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
42 1
|
22天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
51 1
|
28天前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
38 3
|
1月前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
37 3