机器学习基础 brief description

  1. FM: 解决特征稀疏情形下,特征如何组合的问题。对特征进行组合,在线性模型的基础上,加上特征的二阶交叉项。直接求解会由于二阶交叉没出现过,你就学不了,多每个特征引入辅助向量,分解之后可以使用sgd求解https://www.jianshu.com/p/152ae633fb00
  2. FFM:field-aware 在FM的基础上,引入field的概念,同一个category的特征经过one-hot编码生成的数值特征都可以放到同一个field,然后特征交叉的时候,每个特征不止有一个隐向量,而是有多少个field就有多少个隐向量,做特征交叉的时候,乘的向量是对应的特征所属field上的隐向量。FM可以看出FFM只有一个field的特例。假设样本有n个特征,属于f个field,那么二次项有nf个隐向量,若隐向量维度为k,则有nfk个二次参数。另外,由于FFM的二次项不能化简,其预测复杂度是0(kn^2) https://www.jianshu.com/p/781cde3d5f3d
  3. DeepFM: 包括deep部分和FM部分。分别负责高阶交叉和低阶交叉特征的提取,两部分共享同样的输入。输入的稀疏特征分为不同的field后,得到其dense embedding,之后deep和FM部分并列。https://www.jianshu.com/p/bf07f73986a6
  4. tensorflow分布式训练:https://www.jianshu.com/p/7fddb580ab65https://blog.csdn.net/luodongri/article/details/52596780
    1. 分布式训练策略:
      1. 模型并行与数据并行。模型并行相当于模型的不同部分被拆分到了不同的设备上,在模型比较大的时候,单个设备显存不够的时候使用。由于模型并行需要依赖各设备都执行结束,效率很低,一般不使用。
      2. 数据并行:是指在多个设备上防止相同的模型,采用不同的训练样本来训练。又分为同步训练和异步训练。同步训练每次更新需要等所有的worker都执行结束,异步更新谁好了就自己去更新。效率问题一般才有异步更新。
    2. 分布式训练架构:
      1. parameter架构:ps存放参数,负责参数的更新和分发,worker负责计算。worker数量太多时,ps的网络带宽成为系统的瓶颈。
      2. Ring AllReduce架构:所有节点都是worker,带宽利用率高。(百度提出的)
    3. 分布式tensorflow: 高级API Estimator
  5. 机器学习中防止过拟合的方法:https://zhuanlan.zhihu.com/p/30951658
  6. BN:https://blog.csdn.net/yimingsilence/article/details/80322926
原文地址:https://www.cnblogs.com/futurehau/p/12337462.html