第一阶段:数学基础+编程语言学习
1. 程序员数学
- 微积分基础、多元函数微积分、线性代数基础、线性代数高级、概率论等
- 机器学习面试、算法原理常用的数学知识
2. Python学习
- Python基础:掌握 Python 基础语法, 具备基础的编程能力;掌握代码编程逻辑,条件判断与循环; 完成小游戏开发
- Python数据分析:掌握数据分析与数据挖掘常用开发库:NumPy、Pandas、 Matplotlib、Seaborn 等。掌握数据分析流程、核心方法、 方法论
- Python算法与数据结构《Python数据结构与算法分析》
3. C++学习
- C++基础学习《C++ Primer Plus》
- C++:SDK后处理(逻辑)
- 数据类型,STL容器的操作指令,指针,引用,重载,模板,继承,多态,命名空间
- gdb,ldd工具以及C++的运行流程,堆,栈,静态链接库、动态链接库,库路径问题,CMakeList问题
- GCC,G++,CMake,Opencv版本不匹配等问题
- 工程团队更关注:前处理加速、算子加速、后处理加速,内存,芯片平台多核优化,单核优化,内存复用,带宽,异构计算
第二阶段:机器学习
1. ML常用算法
- 线性回归算法:掌握线性回归,最小二乘法,正规方程,梯度下降的各种优化,Linear回归、Ridge、Lasso 回归、弹性网络等回归算法,掌握 L1 与 L2 正则化原理与区别
- 线性分类算法:掌握逻辑回归、OVR、Softmax、SVM 支持向量机算法;掌握拉格朗日乘子法、KKT 条件、SMO 优化算法。分类项目实战
- 无监督学习:掌握聚类算法(Kmeans、DBSCAN、分层聚类)、掌握PCA、LDA 降维原理与推导,掌握 EM 算法,掌握 GMM高斯混合模型应用与原理
- 决策树与集成算法:掌握决策树算法原理与推导,理解信息熵、交叉熵、Gini系数。掌握随机森林、极限森林、Adaboost 、GBDT ,XGBoost 等算法的应用于原理推导
- 概率图模型:掌握概率论相关知识。掌握贝叶斯公式、朴素贝叶斯模型原理与应用、掌握自然语言处理、文本分类操作、隐马尔可夫 HMM 算法、条件随机场 CRF 算法
2. Kaggle实战
- 掌握概率论相关知识。掌握贝叶斯公式、朴素贝叶斯模型原理与应用、掌握自然语言处理、文本分类操作、隐马尔可夫 HMM 算法、条件随机场 CRF 算法
第三阶段:计算机视觉OpenCV
1. 传统图像算法
- 数字图像处理基础
- 图像降噪(滤波、稀疏表达、聚类低质、统计模型、深度学习)
- 图像增强(点运算、直方图变换、空域、频域)
- 图像锐化、图像平滑(再次总结)
- 形态学图像处理
- 图像分割(基于区域、边缘、阈值、图论)
- 数字图像处理进阶
- 图像全局特征描述
- 图像局部特征描述
- 目标检测与跟踪
【持续更新】
2. 计算机视觉CS231n
3. OpenCV实践
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库, 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
熟练掌握 OpenCV 相关操作,掌握图像的基本处 理方法与技巧,了解基本的物体检测模型,掌握物体追踪,车道线检测,交通标志识别等技术
- 基础部分:车辆检测项目实战
- 进阶部分:《基于GPU加速的计算机视觉编程》
第四阶段:深度学习
1. 卷积神经网络基础
2. PyTorch和Tensorflow
3. 图像处理(分类、分割、目标检测、图像生成)
- 图像分类
- 01MMClassification理论(CNN分类模型训练以及PyTorch简介-中)
- 02MMClassification实践(基于mmcl框架实现分类模型的训练-下)
- 目标检测
4. AI加速(模型优化)
第五阶段:项目实战
1. 医学图像分析
- 病理图像智能计算
- 医学图像分析综述