机器学习、基础算法、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
相关文章
|
11天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
143 55
|
27天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
126 67
|
27天前
|
存储 搜索推荐 Python
用 Python 实现快速排序算法。
快速排序的平均时间复杂度为$O(nlogn)$,空间复杂度为$O(logn)$。它在大多数情况下表现良好,但在某些特殊情况下可能会退化为最坏情况,时间复杂度为$O(n^2)$。你可以根据实际需求对代码进行调整和修改,或者尝试使用其他优化策略来提高快速排序的性能
119 61
|
21天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
114 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
4天前
|
存储 运维 监控
探索局域网电脑监控软件:Python算法与数据结构的巧妙结合
在数字化时代,局域网电脑监控软件成为企业管理和IT运维的重要工具,确保数据安全和网络稳定。本文探讨其背后的关键技术——Python中的算法与数据结构,如字典用于高效存储设备信息,以及数据收集、异常检测和聚合算法提升监控效率。通过Python代码示例,展示了如何实现基本监控功能,帮助读者理解其工作原理并激发技术兴趣。
43 20
|
2天前
|
存储 算法 Python
文件管理系统中基于 Python 语言的二叉树查找算法探秘
在数字化时代,文件管理系统至关重要。本文探讨了二叉树查找算法在文件管理中的应用,并通过Python代码展示了其实现过程。二叉树是一种非线性数据结构,每个节点最多有两个子节点。通过文件名的字典序构建和查找二叉树,能高效地管理和检索文件。相较于顺序查找,二叉树查找每次比较可排除一半子树,极大提升了查找效率,尤其适用于海量文件管理。Python代码示例包括定义节点类、插入和查找函数,展示了如何快速定位目标文件。二叉树查找算法为文件管理系统的优化提供了有效途径。
34 5
|
2天前
|
存储 缓存 算法
探索企业文件管理软件:Python中的哈希表算法应用
企业文件管理软件依赖哈希表实现高效的数据管理和安全保障。哈希表通过键值映射,提供平均O(1)时间复杂度的快速访问,适用于海量文件处理。在Python中,字典类型基于哈希表实现,可用于管理文件元数据、缓存机制、版本控制及快速搜索等功能,极大提升工作效率和数据安全性。
24 0
|
26天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
43 1
|
4月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
1月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!