人工智能学习笔记 - 学习路线
数学基础
机器学习的根,算法推导的理论基础,看不懂没关系,等机器学习用到了想要深入了解再回来针对学习。
- 线性代数: 向量、矩阵、矩阵乘法、转置、逆、特征值/特征向量、奇异值分解
- 用途:数据表示、降维(PCA)、神经网络的权重与运算都基于矩阵运算
- 微积分: 导数、偏导、梯度、梯度下降、泰勒展开、勒贝格/黎曼积分
- 用途:函数优化(梯度下降、反向传播)依赖微积分
- 概率与统计: 概率分布(高斯、伯努利、指数族)、条件概率、贝叶斯公式、最大似然估计、假设检验、期望/方差、蒙特卡洛方法
- 用途:评估不确定性、概率模型、贝叶斯学习、损失函数的统计意义。
- 优化理论: 凸与非凸函数、凸优化基础、约束优化(拉格朗日乘子)、一阶/二阶方法(SGD、Adam、牛顿法)
- 用途:选择合适的优化器、理解收敛与陷入局部最小/鞍点的问题。
- 其他:信息论、概率图、泛化理论
- 用途:损失函数设计(交叉熵)、概率图用于复杂依赖建模
编程与工具
数据处理、可视化、建模与工程化工具。
- 语言基础和工具: Python、Jupyter/JupyterLab
- 用途:实验的基础。
- 数据处理与可视化: pandas、NumPy、matplotlib/seaborn
- 用途:表格数据、数值计算和可视化
- 机器学习库: scikit-learn:几乎所有经典监督/无监督算法,模型选择、交叉验证、pipeline、特征工程工具
- 用途:快速实验、baseline建模。
- 深度学习框架: PyTorch、TensorFlow/Keras
- 用途:搭建神经网络、训练、调试。
- 开发与部署: Docker、FastAPI/Flask、ONNX、GitHubActions/CI、MLflow/Weights&Biases/TensorBoard、DVC
- 用途:模型制作、模型互用、自动化、实验追踪、日志与参数管理、数据与模型版本管理。
- 计算资源: 本地GPU/Colab/Kagglekernels/云(AWS/GCP/Azure)
- 用途:跑训练
机器学习算法
函数的选择和推导。
- 监督学习:
- 线性模型:线性回归、岭回归、Lasso、逻辑回归
-
- 知识点:正则化(L1/L2)、特征缩放、解析解vs数值解。
- 树模型与集成:决策树、随机森林、梯度提升树
-
- 知识点:特征重要性、欠拟合/过拟合、早停、Boosting原理。
- 支持向量机(SVM)与核方法
-
- 知识点:最大间隔、核技巧(RBF、多项式)、软间隔与C参数。
- K-近邻(K-NN)
- 朴素贝叶斯
- 无监督学习
- 聚类:K-means、层次聚类、DBSCAN、GaussianMixture。
- 降维: PCA、t-SNE、UMAP(可视化与特征压缩)。
- 密度估计: 高斯混合、核密度估计。
- 聚类:K-means、层次聚类、DBSCAN、GaussianMixture。
- 模型选择与验证: 交叉验证、训练/验证/测试集划分、学习曲线、偏差-方差分析、ROC/AUC、混淆矩阵、F1、定制损失。
深度学习与现代模型
构建复杂预测函数
- 基础构件: MLP(多层感知机)、激活函数(ReLU、sigmoid、tanh)、损失(MSE、交叉熵)、批归一化、dropout、权重初始化。
- 卷积神经网络(CNN): 卷积层、池化、残差连接(ResNet思想)、迁移学习(预训练模型微调)。
- 序列模型: RNN、LSTM、GRU:序列建模基础;注意长程依赖问题。
- Transformer与自注意力: Attention机制、Transformer架构、BERT、GPT系列思想(编码器/解码器)。
- 生成模型: Autoencoders、VariationalAutoencoders(VAE)、GAN(生成对抗网络)、NormalizingFlows。
- 自监督学习/表征学习: 对比学习(SimCLR)、掩码建模(BERT风格)、用于少标签情形。
- 强化学习(基础): MDP、策略/价值函数、Q-learning、策略梯度、DQN、PPO。