Skip to content
Happyboat's Blog
Go back

机器学习笔记整理

Edit page

Table of contents

Open Table of contents

名词

DNN 深度神经网络 CNN 卷积神经网络 RNN 循环神经网络 KNN K近邻 MLE 最大似然估计 GMM 高斯混合模型 MSE 均方误差 MAP 最大后验估计 SVM 支持向量机 LDA 线性判别分析 GDA 高斯判别分析 ROC 受试者工作特征曲线 AUC 曲线下面积 TP 真阳性 TPR 真阳性率 FPR 假阳性率 BCE 二元交叉熵 CE 交叉熵 GD 梯度下降 BoW 词袋模型 TF-IDF 词频-逆文档频率 IR 信息检索 MLP 多层感知机 GQA 分组查询注意力 SFT 监督微调 LoRA 低秩微调 RLHF 基于人类反馈的强化学习 PPO 近端策略优化 DPO 直接偏好优化 RAG 检索增强生成 AE 自编码器 VAE 变分自编码器 GAN 生成对抗网络 CLIP 对比语言-图像预训练模型 RL 强化学习 GEPA 基于遗传进化和Pareto优化的提示词进化方法

Learning Problem(任务是什么,如何评价,有什么数据。)

机器学习部分

聚类,课程里主要介绍基于模型的聚类,还有层次聚类(构造树状结构)、划分式(eg谱聚类,图割)、密度聚类(egDBSCAN、OPTICS、HDBSCAN)


H(P)=xP(x)logP(x)H(P) = - \sum_x P(x)\log P(x)
熵衡量的是分布本身的不确定性

交叉熵
H(P,Q)=xP(x)logQ(x)H(P, Q) = - \sum_x P(x)\log Q(x)
衡量如果真实数据来自 PP,但我们用 QQ 来编码或预测,平均需要多少信息量
多分类交叉熵:LCE=k=1Kyklogy^k\mathcal{L}_{CE} = - \sum_{k=1}^{K} y_k \log \hat{y}_k
二分类交叉熵:LCE=logy^c\mathcal{L}_{CE} = - \log \hat{y}_cLBCE=[ylogp^+(1y)log(1p^)]\mathcal{L}_{BCE} = - \left[y \log \hat{p} + (1-y)\log(1-\hat{p})\right]

KL散度 (aka 相对熵)
是一种计算两个概率分布差异的方式,但不可以在这里算距离,它不满足对称性和三角不等式。
DKL(PQ)=xP(x)logP(x)Q(x)D_{\mathrm{KL}}(P \Vert Q) = \sum_x P(x)\log \frac{P(x)}{Q(x)} MLE,iid假设,用负对数似然来求loss表达式。

回归,学习一个,新给出x可以预测y的模型。比拟合更大一些,包含预测泛化的考量。

分类:

补充:PCA主成分分析,无监督的降维

深度学习部分

Activate Function(激活函数):

tanh:tanh(x)=(exex)/(ex+ex)=2σ(2x)1tanh(x) = (e^x - e^{-x}) / (e^x + e^{-x}) = 2σ(2x) - 1,值域 [1,1][-1,1] 万能逼近定律:连续函数都可以用一层hidden layer的神经网络表示。但并不知道要多少神经元,也不知道怎么训练。 神经网络中,一般输入层不计算一层。两层全连接就是1隐藏层+1输出层。

训练的具体计算: 反向传播,链式法则。具体方法:

(神秘的内容)
有限微分(参数变化一小点来看预测值,来近似梯度)效率低,每个参数要算2次正向
符号求导(整个一起算的意思)?准确,但是表达式可能很复杂; 采用自动微分:链式法则,先可以把每一步导数的表达式写出来,前向的时候算具体值,反向传播的时候代入。

卷积 conv:kernel size,步长stride,外层填充padding,pooling Hout=Hin+2PKHS+1H_{out} = \left\lfloor \frac{H_{in} + 2P - K_H}{S} \right\rfloor + 1,W同理 等价于 Hout=Hin+2PKH+1SH_{out} = \left\lceil \frac{H_{in} + 2P - K_H + 1}{S} \right\rceil 维度计算:主要注意一个卷积核用多个通道

Attention and Transformer

MLP固定长度,CNN每一层只能多看一点。于是使用Transformer。 把文本转换成机器学习模型可处理的数字向量:

RNN Soft vs Hard attention Inner-Product Search is a basic information retrieval (IR) method to rank document relevance,transformer借鉴这种思想。 Q query K key V value Self Attention Layer: XRn×dmodelX \in \mathbb{R}^{n \times d_{\text{model}}} 其中,nn 表示序列长度,dmodeld_{\text{model}} (D)表示隐藏维度,也是输入的维度。 Q=XWQQ = XW^QK=XWKK = XW^KV=XWVV = XW^V 其中:WQ,WKRdmodel×dkW^Q,W^K \in \mathbb{R}^{d_{\text{model}} \times d_k}Q,KRn×dkQ,K \in \mathbb{R}^{n \times d_k}(Q和K的维度需要保持一致) WVRdmodel×dvW^V \in \mathbb{R}^{d_{\text{model}} \times d_v}VRn×dvV \in \mathbb{R}^{n \times d_v}(V可以另外设置) S=QKS = QK^\top,其中:SRn×nS \in \mathbb{R}^{n \times n} Sscaled=QKdkS_{\text{scaled}} = \frac{QK^\top}{\sqrt{d_k}},每个元素是 dkd_k 个相加来的,标准化一下 A=softmax(QKdk)A = \text{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right),其中:ARn×nA \in \mathbb{R}^{n \times n} O=AVO = AV,即:O=softmax(QKdk)VO = \text{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V 其中:ORn×dvO \in \mathbb{R}^{n \times d_v}dvd_v 为输出的维度

Transformer layer = 多头自注意力 Multi-head Self-Attention + MLP/前馈神经网络 + residual connection残差连接 + LayerNorm

Attention没有位置信息,position embedding

RNN:长距离衰减、时间上依赖上一步难以并行。 Encoder-Decoder:变长输入、变长输出。 attention:在RNN时期就有了,应用在RNN上可以查询信息。 Encoder-Decoder Transformer:抛弃掉RNN。 现代LLM:decoder-only Transformer,大量语料,self-supervision,预测next token,训练时Masked Attention防止偷鸡直接取下一个token。transformer在训练中可以并行,但在生成时跟RNN一样是串行。

自监督学习

通过可以直接构建的学习任务,学习通用特征。 像是LLM的基模,也像是高考一样,学习一些没有实际价值的任务(比如next token prediction)来获得基本的理解。

Agent

RL:状态、动作、策略、奖励函数 GEPA:Genetic-Pareto Prompt Evolution,基于遗传进化和 Pareto 优化的提示词进化方法。


Edit page

Previous Post
日常工具推荐
Next Post
记录一次Gnome排障