AI 算法核心知识清单(深度实战版1)
·
一、基础数学功底(算法的底层基石)
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 检验:检验两组数据均值是否存在显著差异(适用于小样本)
- 卡方检验:检验分类变量的独立性(如特征与标签的相关性)
- 极大似然估计求解步骤:
- 写出样本的似然函数 L (θ)(联合概率分布)
- 对似然函数取对数(lnL (θ),简化计算)
- 求对数似然函数的最大值点(求导并令导数为 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
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)