一、基础数学功底(算法的底层基石)​

1. 线性代数(AI 数据处理与模型计算核心)​

核心概念深度解析​

  • 向量:n 维有序数组,是 AI 中数据的基本表示形式(如图像像素、文本特征、用户行为数据),支持加法、数乘、内积运算​
  • 矩阵:m×n 维数据表格,用于存储批量数据或线性变换规则,核心运算包括矩阵乘法(满足结合律、不满足交换律)、转置、求逆​
  • 行列式:仅方阵存在,反映矩阵的缩放因子,用于判断矩阵可逆性(行列式≠0 则可逆)​
  • 特征值与特征向量:若 Ax=λx,则 λ 为特征值,x 为对应特征向量,核心意义是找到矩阵的 “主成分方向”,是 PCA、谱聚类的核心原理​
  • 矩阵分解:​
  • PCA(主成分分析):将矩阵分解为正交矩阵 × 对角矩阵 × 正交矩阵转置,用于降维​
  • SVD(奇异值分解):任意矩阵可分解为 U×Σ×V^T,U/V 为正交矩阵,Σ 为奇异值对角矩阵,适用于推荐系统、图像压缩​
  • QR 分解:将矩阵分解为正交矩阵 Q 和上三角矩阵 R,用于求解线性方程组​

必备应用场景​

  • 高维数据降维:通过 PCA/SVD 提取核心特征,减少计算量并避免过拟合​
  • 神经网络权重计算:矩阵乘法实现多层神经元的信号传递​
  • 推荐系统:基于用户 - 物品评分矩阵的 SVD 分解,实现协同过滤推荐​

关键公式与推导思路​

  • 矩阵乘法:C_ij = Σ(A_ik × B_kj)(i 行 j 列元素为 A 的 i 行与 B 的 j 列对应元素乘积和)​
  • 逆矩阵求解:A⁻¹ = (1/|A|) × A*(A * 为伴随矩阵,仅适用于二阶方阵;高阶矩阵需用高斯消元法)​
  • 特征值分解:A = P×Λ×P⁻¹(P 为特征向量组成的矩阵,Λ 为特征值对角矩阵)​
  • 正交矩阵性质:A^T × A = I(单位矩阵),列向量两两正交且模长为 1​

2. 概率论与数理统计(AI 模型不确定性建模核心)​

核心概念深度解析​

  • 概率分布:​
  • 二项分布:n 次独立伯努利试验中成功 k 次的概率,P (X=k)=C (n,k) p^k (1-p)^(n-k),适用于分类任务的概率预测​
  • 正态分布(高斯分布):P (x)=(1/√(2πσ²)) e^(-(x-μ)²/(2σ²)),μ 为均值,σ 为标准差,AI 中数据噪声多服从正态分布​
  • 泊松分布:描述单位时间内随机事件发生的次数,P (X=k)=(λ^k e^(-λ))/k!,适用于计数型数据建模​
  • 期望与方差:期望 E [X] 是随机变量的平均值,方差 Var (X)=E [(X-E [X])²] 反映数据离散程度​
  • 极大似然估计(MLE):通过样本数据反推模型参数,使样本出现概率最大化的参数估计方法​
  • 贝叶斯定理:P (A|B)=P (B|A) P (A)/P (B),核心是 “后验概率 = 似然 × 先验 / 证据”,是贝叶斯模型、LDA 主题模型的基础​

必备应用场景​

  • 模型参数估计:用 MLE 估计逻辑回归、朴素贝叶斯的模型参数​
  • 概率型算法:朴素贝叶斯分类器(基于条件独立性假设)​
  • 置信区间分析:评估模型预测结果的可靠性(如 95% 置信区间)​
  • 异常检测:基于正态分布的 3σ 原则(偏离均值 3 倍标准差的数据为异常值)​

关键工具与计算方法​

  • 条件概率计算:P (A|B)=P (A∩B)/P (B),适用于多事件依赖关系建模​
  • 假设检验:​
  • t 检验:检验两组数据均值是否存在显著差异(适用于小样本)​
  • 卡方检验:检验分类变量的独立性(如特征与标签的相关性)​
  • 极大似然估计求解步骤:​
  1. 写出样本的似然函数 L (θ)(联合概率分布)​
  1. 对似然函数取对数(lnL (θ),简化计算)​
  1. 求对数似然函数的最大值点(求导并令导数为 0)​

3. 微积分与优化理论(AI 模型训练核心)​

核心概念深度解析​

  • 导数与偏导数:导数反映单变量函数的变化率,偏导数反映多变量函数对某一变量的变化率(其他变量固定)​
  • 梯度:由多变量函数的偏导数组成的向量(∇f = (∂f/∂x₁, ∂f/∂x₂, ..., ∂f/∂xₙ)),方向为函数值增长最快的方向​
  • 雅克比矩阵:m×n 矩阵,元素为 f_i 对 x_j 的偏导数,用于向量函数的导数表示​
  • 海森矩阵:n×n 矩阵,元素为 f 对 x_i,x_j 的二阶偏导数,用于判断函数极值(正定则为极小值点)​
  • 凸函数:满足 f (λx+(1-λ) y)≤λf (x)+(1-λ) f (y)(0≤λ≤1),凸函数的局部极小值即为全局极小值,简化优化过程​

必备应用场景​

  • 模型参数更新:梯度下降法利用梯度方向调整参数,最小化损失函数​
  • 损失函数最小化:通过求导找到损失函数的极值点,确定最优参数​
  • 神经网络激活函数:ReLU 的导数计算(x>0 时为 1,x≤0 时为 0)、Sigmoid 的导数(σ’(x)=σ(x)(1-σ(x)))​

关键公式与优化方法​

  • 链式法则:复合函数求导,若 y=f (u),u=g (x),则 dy/dx=dy/du × du/dx(多变量时扩展为偏导数链式法则)​
  • 梯度下降核心公式:θ = θ - η∇L (θ)(θ 为参数,η 为学习率,∇L (θ) 为损失函数梯度)​
  • 随机梯度下降(SGD):每次用单个样本计算梯度,训练速度快但波动大​
  • 动量梯度下降(Momentum):θ = θ - η(βv + ∇L (θ))(v 为动量,β 通常取 0.9),缓解 SGD 波动​
  • 拉格朗日乘数法:用于带约束的优化问题,构造 L (x,λ)=f (x)+λg (x)(g (x)=0 为约束条件),求导求解极值​

4. 离散数学(AI 图模型与逻辑推理核心)​

核心概念深度解析​

  • 图论基础:​
  • 节点(顶点):表示实体(如用户、物品、单词)​
  • 边:表示实体间的关系(如用户关注、物品购买、单词共现)​
  • 路径:从一个节点到另一个节点的边序列,路径长度为边的数量​
  • 连通图:任意两个节点间都存在路径的图​
  • 集合与逻辑:​
  • 集合运算:并、交、补、差,用于数据分类与筛选​
  • 命题逻辑:原子命题、复合命题(与 / 或 / 非),用于规则推理​
  • 谓词逻辑:引入量词(∀全称量词、∃存在量词),用于复杂关系描述​
  • 排列组合:​
  • 排列:从 n 个元素中选 k 个的有序排列数 P (n,k)=n!/(n-k)!​
  • 组合:从 n 个元素中选 k 个的无序组合数 C (n,k)=n!/(k!(n-k)!)​

必备应用场景​

  • 图神经网络(GNN):基于图结构的节点分类、链路预测(如社交网络好友推荐)​
  • 推荐系统:图模型描述用户 - 物品 - 标签的复杂关系​
  • 路径规划类模型:如强化学习中的状态转移路径优化​
  • 规则推理:基于谓词逻辑的知识图谱推理(如 “父亲的父亲是祖父”)​

二、编程与工具基础(算法落地必备)​

1. 核心编程语言(Python 实战重点)​

Python 核心语法深度解析​

  • 变量类型:​
  • 基本类型:int(整数)、float(浮点数)、str(字符串)、bool(布尔值)​
  • 复合类型:list(列表,可变)、tuple(元组,不可变)、dict(字典,键值对)、set(集合,无重复元素)​
  • 函数编程:​
  • 定义函数:def 关键字,支持默认参数、可变参数(*args)、关键字参数(**kwargs)​
  • 匿名函数:lambda 表达式(适用于简单逻辑,如 lambda x: x**2)​
  • 高阶函数:map(映射)、filter(过滤)、reduce(归约),用于数据批量处理​
  • 类与对象:​
  • 面向对象三大特性:封装(属性私有化)、继承(子类复用父类方法)、多态(不同子类重写同一方法)​
  • 魔法方法:init(构造函数)、str(字符串表示)、call(对象可调用)​
  • 异常处理:try-except-finally 结构,捕获并处理 RuntimeError、ValueError、TypeError 等常见异常​

核心库实战用法​

  • NumPy(数组运算):​
  • 核心对象:ndarray(n 维数组),支持广播机制(不同形状数组的算术运算)​
  • 常用函数:​
  • 数组创建:np.array ()、np.zeros ()、np.ones ()、np.arange ()​
  • 数组操作:np.reshape ()(形状转换)、np.concatenate ()(拼接)、np.split ()(分割)​
  • 数学运算:np.dot ()(矩阵乘法)、np.linalg.inv ()(矩阵求逆)、np.linalg.eig ()(特征值分解)​
  • Pandas(数据处理):​
  • 核心对象:Series(一维数据)、DataFrame(二维表格数据)​
  • 常用操作:​
  • 数据读取:pd.read_csv ()、pd.read_excel ()​
  • 数据清洗:df.dropna ()(删除缺失值)、df.fillna ()(填充缺失值)、df.drop_duplicates ()(去重)​
  • 数据筛选:df [df [' 列名 ']> 阈值](条件筛选)、df.loc [](标签索引)、df.iloc [](位置索引)​
  • 数据聚合:df.groupby ()(分组)、df.agg ()(聚合计算)​
  • Matplotlib/Seaborn(可视化):​
  • 基础图表:折线图(plt.plot ())、柱状图(plt.bar ())、散点图(plt.scatter ())、直方图(plt.hist ())​
  • 进阶图表:Seaborn 的 heatmap(热力图,用于相关性分析)、boxplot(箱线图,用于异常值检测)​
  • 图表优化:设置标题(plt.title ())、坐标轴标签(plt.xlabel ())、图例(plt.legend ())、保存图片(plt.savefig ())​

2. 深度学习框架(TensorFlow/PyTorch 实战)​

TensorFlow 核心用法​

  • 计算图与张量:​
  • 张量(Tensor):多维数组,是 TF 的数据载体,支持 tf.constant ()(常量)、tf.Variable ()(变量,可训练)​
  • 计算图:静态图机制(1.x 版本),需先定义计算流程再执行;2.x 版本默认 Eager Execution(动态图,即时执行)​
  • Keras 高阶 API:​
  • 模型搭建:Sequential 模型(线性堆叠)、Functional API(复杂模型,如多输入多输出)​
  • 层定义:Dense(全连接层)、Conv2D(卷积层)、LSTM(循环层)、Dropout(正则化层)​
  • 模型训练:model.compile ()(设置优化器、损失函数、评估指标)、model.fit ()(训练)、model.evaluate ()(评估)​
  • 模型保存与加载:​
  • 保存:model.save ('model.h5')(保存完整模型)、tf.saved_model.save ()(SavedModel 格式,支持跨平台)​
  • 加载:tf.keras.models.load_model ('model.h5')、tf.saved_model.load ()​

PyTorch 核心用法​

  • 动态计算图与自动求导:​
  • 动态计算图:计算过程即时构建,支持调试(print 张量值)​
  • 自动求导:torch.autograd 模块,张量设置 requires_grad=True 时,会跟踪所有运算并计算梯度​
  • nn 模块(神经网络层):​
  • 容器:nn.Sequential(线性堆叠)、nn.Module(自定义模型基类)​
  • 常用层:nn.Linear ()(全连接层)、nn.Conv2d ()(卷积层)、nn.LSTM ()(循环层)、nn.Dropout ()(Dropout 层)​
  • 数据加载器(DataLoader):​
  • 自定义数据集:继承 torch.utils.data.Dataset,重写__len__(数据集大小)和__getitem__(获取单个样本)​
  • DataLoader:批量加载数据,支持 shuffle(打乱数据)、batch_size(批次大小)、num_workers(多线程加载)​
  • 训练过程可视化:​
  • TensorBoard:通过 torch.utils.tensorboard.SummaryWriter 记录损失值、准确率、模型结构等​

框架对比与选择建议​

  • TensorFlow:适合大规模部署、工业级应用,生态完善(支持移动端、边缘设备),文档丰富​
  • PyTorch:适合科研、快速原型开发,语法简洁直观,调试方便,社区活跃(学术论文实现多基于 PyTorch)​
  • 通用实战技巧:​
  • 模型搭建:先画网络结构图,明确输入输出维度、各层参数(如卷积层的 kernel_size、stride)​
  • 参数调优:学习率初始值建议 0.001,根据训练曲线调整(损失不下降则增大,震荡则减小)​
  • 训练监控:关注训练集 / 验证集损失差(差值过大可能过拟合),及时调整正则化强度​

3. 数据处理工具(算法落地前的数据准备)​

数据清洗深度实战​

  • 缺失值处理:​
  • 缺失值检测:df.isnull ().sum ()(统计各列缺失值数量)、df.info()(查看数据类型与非空值数量)​
  • 处理方法:​
  • 删除法:df.dropna (axis=0/1)(axis=0 删行,axis=1 删列,适用于缺失值少的情况)​
  • 填充法:​
  • 数值型数据:均值填充(df.fillna (df.mean ()))、中位数填充(df.fillna (df.median ()),抗异常值)、众数填充(适用于离散数值)​
  • 分类数据:众数填充(df.fillna (df.mode ()[0]))、自定义填充(如用 “未知” 填充文本型缺失值)​
  • 异常值处理:​
  • 异常值检测:​
  • 统计法:3σ 原则(适用于正态分布数据)、IQR 法则(Q1-1.5IQR~Q3+1.5IQR,IQR=Q3-Q1)​
  • 可视化法:箱线图(plt.boxplot ())、散点图(识别离群点)​
  • 处理方法:删除异常值、修正异常值(如用中位数替换)、分箱处理(将异常值归入特定区间)​
  • 数据标准化 / 归一化:​
  • 标准化(Z-Score):x’=(x-μ)/σ,适用于数据呈正态分布的场景,公式:from sklearn.preprocessing import StandardScaler​
  • 归一化(Min-Max):x’=(x-min)/(max-min),将数据映射到 [0,1] 区间,适用于数据分布未知的场景,公式:from sklearn.preprocessing import MinMaxScaler​
  • 注意事项:标准化 / 归一化需拟合训练集,再应用到测试集(避免数据泄露)​

特征工程核心技巧​

  • 特征编码(处理分类变量):​
  • 标签编码(Label Encoding):将分类变量映射为 0,1,...,n-1,适用于有序分类(如学历:小学 = 0、中学 = 1、大学 = 2),from sklearn.preprocessing import LabelEncoder​
  • 独热编码(One-Hot Encoding):将每个分类变量扩展为二进制列,适用于无序分类(如颜色:红 = 100、绿 = 010、蓝 = 001),from sklearn.preprocessing import OneHotEncoder​
  • 目标编码(Target Encoding):用分类变量对应的目标变量均值编码,适用于高基数分类(如邮编、ID),避免维度爆炸​
  • 特征选择(筛选有效特征):​
  • 过滤法:​
  • 数值型特征:皮尔逊相关系数(衡量与目标变量的线性相关性)、互信息(衡量非线性相关性)​
  • 分类型特征:卡方检验(检验与目标变量的独立性)、信息增益(基于决策树的特征重要性)​
  • 嵌入法:​
  • 基于模型的特征选择:用 XGBoost、RandomForest 训练模型,输出 feature_importances_(特征重要性)​
  • L1 正则化(Lasso):通过惩罚系数使不重要特征的权重为 0,实现特征选择,from sklearn.linear_model import Lasso​
  • 包裹法:递归特征消除(RFE),基于模型性能逐步剔除不重要特征,from sklearn.feature_selection import RFE​
  • 特征变换(优化特征分布):​
  • 多项式变换:生成特征的高次项和交互项(如 x1²、x1x2),适用于线性模型捕捉非线性关系,from sklearn.preprocessing import PolynomialFeatures​
  • 对数变换:x’=log (x),适用于右偏分布数据(如收入、用户活跃度),压缩极端值​
  • 幂变换:Box-Cox 变换、Yeo-Johnson 变换,使数据更接近正态分布,from sklearn.preprocessing import PowerTransformer
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐