强化学习

参考书⬆[1]

  1. R. S. Sutton and A. G. Barto, Reinforcement learning: an introduction, Second edition. in Adaptive computation and machine learning series. Cambridge, Massachusetts: The MIT Press, 2018. 

Read More

Backdoor Toolbox 适配图数据注意事项

  1. 首先是需要对图数据写一个适配器,返回Data,label形式(one-time only)
  2. 然后需要禁用所有的pin_memory至少在我本机上是这样的
  3. 修改backdoor形式
  4. 改优化器
  5. 改文件夹保存的文件名格式,”:”改成“_”
  6. 处理引用__init__.py
Read More

推荐系统

推荐系统[1]

  • ALS: 矩阵分解算法,$Q=LR$,交替最小二乘。通过分别固定左右矩阵,依次更新。通过$L=QR^{-1}$,求得另一个矩阵。矩阵通过随机初始化,然后更新到收敛为止。
  1. 推荐系统.陈开江. 

Read More

Adaboost

Adaboost[1]

注意点:

  1. 数据有权重,根据权重进行学习得到基分类器
  2. 基分类器学习方法:任一弱分类器?
  3. 基分类器的权重系数:根据分类误差率进行设置。
  4. 数据权重更新:上一轮权重乘以当前模型分类误差率相关系数
  5. 最终模型,基模型相加。
  6. 损失函数是指数函数(可证明):$L(y, f(x))=\exp [-y f(x)]$
    1. 证明挺巧妙的,主要是把$f_m(x)$ 拆分为两部分,一部分是之前学的分类器加和以及当前需要学的$G(x)$。
    2. 对$f_m(x)$施加指数损失函数后,数据权重$w_{mi}$实际上就是前面分类器的指数损失结果。
    3. 而当前求得的$\alpha_m$为将该指数损失函数最小化的结果,通过求导为零解出。
    4. $w_{mi}$ 的更新:由于 \(\bar{w}_{m i}=\exp \left[-y_{i} f_{m-1}\left(x_{i}\right)\right]\) ,直接将 $f_m(x)$ 展开即可得更新公式为上一步的 $w_{m-1}$ 乘以这一步的 $G(x)$ 的损失直接得到。
    5. 最终与原始算法差距一个$Z$系数。
  7. adaboost为什么是前向加法模型:https://blog.csdn.net/zhangyingjie09/article/details/85875264

公式

  1. 分类误差率:

    \[\begin{equation} e_{m}=\sum_{i=1}^{N} P\left(G_{m}\left(x_{i}\right) \neq y_{i}\right)=\sum_{i=1}^{N} w_{m i} I\left(G_{m}\left(x_{i}\right) \neq y_{i}\right) \end{equation}\]
  1. 统计学习方法(第二版) 

Read More

LDA

LDA [1]

文本集合的概率模型,文本-话题,话题-单词矩阵的多项式概率参数由狄利克雷分布生成,但是仅生成一次,并不是没生成一个单词就生成一个分布,所以可以计算。和逻辑回归的参数可以假设符合正态分布类似,同时该假设与l2正则等价。参数符合预设的分布能降低过拟合概率。

  1. 统计学习方法(第二版) 

Read More

算法面经整理

推荐系统

  • 机器学习/推荐系统/推荐系统算法工程师面试指导

    • LFM MF SVD SVD++ FM difference

    • EVD: 特征值分解, $A=Q\Sigma Q^{-1}$, 在线性子空间,各个分量的大小。[1]

    • SVD:适用于非方阵 [1]

      • 一般来说SVD里的 \(M=U*\Sigma*V\), \(U \in R^{m*m}\), \(\Sigma \in R^{m*n}\), \(V \in R^{n*n}\) [2]
      • 但是推荐系统里一般指compact SVD, \(U \in R^{m*k}\), \(\Sigma \in R^{k*k}\), \(V \in R^{k*n}\) [2, 3]
      • 求解:通过求\(MM^T\) 和 \(M^TM\)的特征值,分别得到\(U\)和$V$。然后$\Sigma$由下式得到:$A=U \Sigma V^{T} \Rightarrow A V=U \Sigma V^{T} V \Rightarrow A V=U \Sigma \Rightarrow A v_{i}=\sigma_{i} u_{i} \Rightarrow \sigma_{i}=\frac{A v_{i}}{u_{i}}$
      • 由于求解太复杂,所以有了compact SVD, 只保留前几个奇异值,同时效果还可以。
      • 同时原始的SVD必须是要稠密矩阵,应用中实际上大量是空的,所以一般要均值填充或其他方法如下面的FunkSVD。
      • FunkSVD: 分解为两个矩阵,且只关心非空元素,同时有l2正则。[4]

        \[\begin{equation} \min _{q^{*}, p^{*}} \sum_{(u, i) \in \mathcal{K}}\left(r_{u i}-q_{i}^{T} p_{u}\right)^{2} \end{equation}\]
      • PMF:概率形式的FunkSVD, 参数符合正态分布。[4]

      • BiasSVD: 加入了用户和item的偏置,减少参数学习的难度。[4]
Read More

后门攻击防御

  • Mitigating Poisoning Attacks on Machine Learning Models: A Data Provenance Based Approach(2017):该论文增加了假设:数据有标注人ID,所以可以根据ID进行划分删减部分数据进行训练,评估模型的准确率。
Read More

深度学习面试

BN的作用

  • 深度学习模型对输入的分布有一定的假设,认为其分布是稳定的。并且模型内部模块也要求内部输入分布是稳定的。
Read More

预训练语言模型

  1. ELMO(2018.2): word representation。加上双向LSTM作为模型,在语料上做预训练
    • 预训练方式:因为是双向LSTM,所以能计算前向概率以及后向概率,两者相乘就得到了第n个单词生成的概率(算是常规的操作了,和CRF之类的基本差不多)。作者是对logP进行优化,所以就相当于进行相加。最终的优化目标还是句子的生成概率。该生成概率和GPT之类的生成模型的生成概率不一致。为每个单词的条件生成概率相乘,条件为其他所有单词。 \(\begin{equation} p\left(t_{1}, t_{2}, \ldots, t_{N}\right)=\prod_{k=1}^{N} p\left(t_{k} \mid t_{1}, t_{2}, \ldots, t_{N}\right) \end{equation}\)
    • 然后将输入以及模型所有层的输出拼接在一起,作为下游任务的输入。
    • 同时论文还给不同层的输出设置了权重,该权重通过在下游任务中训练得到(作者在论文中提到,底层的输出对语法更为关注,而顶层的输出则对语义信息更为关注。)。
Read More

KKT

参考:foundations of machine learning , appendix B

Read More

SVM

By keeping $y$ of points at the margin line being $ \pm 1$,let

Read More

graduation project

\[\begin{aligned} &\left.\ell_{\text {atk }}\left(\theta, g_{t}\right)=\mathbb{E}_{G \in \mathcal{D}\left[y_{t}\right], G^{\prime} \in \mathcal{D}\left[y_{y}\right]} \Delta\left(f_{\theta}\left(m\left(G ; g_{t}\right)\right)\right), f_{\theta}\left(G^{\prime}\right)\right) \\ &\ell_{\text {ret }}\left(\theta, g_{t}\right)=\mathbb{E}_{G \in \mathcal{D}} \Delta\left(f_{\theta}(G), f_{\theta_{0}}(G)\right) \end{aligned}\]
Read More

Statistics vs Bayesian

from:Deep Learning- lan,

  • 频率派,学习是对参数做点估计,参数是固定值,但是采样是随机的。
  • 贝叶斯:后验概率公式还是啥,对概率做积分?参数是随机的,而数据不是。
    • 判别式:模型给一个条件概率公式
    • 生成式:模型给联合概率公式,然后自己用贝叶斯公式求条件概率。
Read More