机器学习算法工程师面试 -- 总纲

机器学习算法工程师面试

  • **`机器学习`**
    • 一. 算法总结
      • 问题类型
      • 模型类型
      • 标签类型
      • 学习类型
    • 二. 数据输入
      • 数据采样
      • 数据类型
      • 数据编码
      • 数据预处理
    • 三.特征工程
      • 特征提取
      • 特征选择
      • 特征变换
      • 特征融合
    • 四.模型构建
      • 1.神经网络
        • BP
        • RNN
        • CNN
        • SNN
        • GAN
      • 2.线性分类器
        • SVM
        • S3VM(TSVM)
        • Logisitic Regression
        • LDA
      • 3.概率图
        • Naive Bayes
        • Bayes Network
        • Markov random fields
        • 主题模型
      • 4.聚类
        • K means
        • GMM
        • 自组织映射
        • Hierarchical clustering
        • KPCA
      • 5.回归分析
        • 多项式回归
        • 神经网络+RNC
        • 逐步回归
        • 多变量自适应回归
      • 6.其他
        • 决策树与随机森林
        • 集成学习
        • 强化学习
    • 五. 模型评估与验证
      • 偏差与方差
      • 模型选择
      • 相似性与距离测度(可做损失函数)
      • 损失函数
      • 优化方法
      • 正则化
      • 模型评估
      • 模型验证
      • 参数估计
    • 六.面试问题
  • **`数据结构`**
    • 一.查找、排序、回归
    • 二.哈希
    • 三.表达式、字符串
    • 四.队列与堆栈
    • 五.树、链表
    • 六.图
  • **`算法`**
    • 贪心
    • 分治
    • 动态规划
  • **`数学基础`**
    • 矩阵理论
    • 概率统计
    • 微积分
    • 优化与稀疏
  • **`计算机系统`**
    • Linux 系统
    • RT-Thread
    • 内存管理
  • **`编程`**
      • C/C++
      • MATALB
      • Python
      • 工具箱
  • **`参考文档`**

机器学习

一. 算法总结

问题类型

  • 分类问题
  • 聚类问题
  • 回归问题
  • 标注问题
  • 推荐问题
  • 时序问题

模型类型

  • 生成模型
  • 判别模型
  • 线性模型
  • 非线性模型

标签类型

  • 监督学习
  • 非监督学习
  • 半监督学习

学习类型

  • 计算学习
  • 集成学习
  • 强化学习
  • 迁移学习
  • 参数学习
  • 非参数学习

二. 数据输入

数据采样

数据类型

  • 结构化数据
  • 非结构化数据

数据编码

数据预处理

三.特征工程

特征提取

特征选择

特征变换

特征融合

四.模型构建

1.神经网络

BP

RNN

CNN

SNN

GAN

2.线性分类器

SVM

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

S3VM(TSVM)

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

Logisitic Regression

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

LDA

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

3.概率图

Naive Bayes

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

Bayes Network

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

Markov random fields

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

主题模型

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

4.聚类

K means

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

GMM

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

自组织映射

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

Hierarchical clustering

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

KPCA

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

5.回归分析

多项式回归

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

神经网络+RNC

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

逐步回归

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

多变量自适应回归

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

6.其他

决策树与随机森林

  • 所属类别
  • 处理数据类型
  • 算法原理
  • 求解方式
  • 伪代码和源码
  • 参数调节
  • 对比提升

集成学习

  • AdaBoost
  • GBDT
  • xGBoost

强化学习

五. 模型评估与验证

偏差与方差

模型选择

  • 模型复杂度

相似性与距离测度(可做损失函数)

  • 相似性测度
    • 交叉熵
    • MMD
    • DTW(序列相似性)
    • KL散度
    • JS散度(Jensen-Shannon)
  • 距离测度
    • KL距离
    • Wasserstein距离
    • 最小二乘距离
    • 闵可夫斯基距离
    • 曼哈顿距离
    • 切比雪夫距离
    • 海明距离
    • 编辑距离
    • 余弦距离
    • 杰卡德距离
    • 卡方距离
    • 马哈拉若比斯距离
    • 巴塔恰里雅距离
    • 皮尔逊距离

损失函数

  • 似然函数
  • 交叉熵
  • 平方损失
  • 指数损失
  • 对数损失
  • 0-1损失
  • 合页损失

优化方法

  • 迭代算法
  • 全局优化算法
  • 动态规划

正则化

  • L范数
  • Dropout
  • 对抗训练
  • 虚拟对抗训练

模型评估

  • 离线评价
  • 在线评价

模型验证

  • 假设检验

参数估计

六.面试问题

数据结构

一.查找、排序、回归

  • 二分查找
  • 排序算法

二.哈希

三.表达式、字符串

四.队列与堆栈

五.树、链表

六.图

算法

贪心

分治

动态规划

数学基础

矩阵理论

概率统计

微积分

优化与稀疏

计算机系统

Linux 系统

RT-Thread

内存管理

编程

C/C++

MATALB

Python

  • Tensorflow
  • PyTorch

工具箱

  • libsvm

参考文档

[1]: 机器学习-- 周志华
[2]: 统计机器学习 – 李航
[3]: 百面机器学习算法工程师

你可能感兴趣的:(机器学习,人工智能)