第一章:速记Day1-灵析社区

英勇黄铜

问题 1:L1 和 L2 的区别

L1范数(L1 norm)是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。

比如 向量A=[1,-1,3], 那么A的L1范数为 |1|+|-1|+|3|

简单总结一下就是:

  • L1范数: 为x向量各个元素绝对值之和
  • L2范数: 为x向量各个元素平方和的1/2次方,L2范数又称Euclidean范数或Frobenius范数
  • Lp范数: 为x向量各个元素绝对值p次方和的1/p次方

在支持向量机学习过程中,L1范数实际是一种对于成本函数求解最优的过程,因此,L1范数正则化通过向成本函数中添加L1范数,使得学习得到的结果满足稀疏化,从而方便人类提取特征。

  • L1范数可以使权值稀疏,方便特征提取。
  • L2范数可以防止过拟合,提升模型的泛化能力。

问题 2:过拟合问题是如何产生的

1.数据量太小

这个是很容易产生过拟合的一个原因。设想,我们有一组数据很好的吻合3次函数的规律,现在我们局部的拿出了很小一部分数据,用机器学习或者深度学习拟合出来的模型很大的可能性就是一个线性函数,在把这个线性函数用在测试集上,效果可想而知肯定很差了。

2.训练集和验证集分布不一致

训练集训练出一个适合训练集那样分布的数据集,当你把模型运用到一个不一样分布的数据集上,效果肯定大打折扣。这个是显而易见的。

3.模型复杂度太大

在选择模型算法的时候,首先就选定了一个复杂度很高的模型,然后数据的规律是很简单的,复杂的模型反而就不适用了。

4.数据质量很差

数据还有很多噪声,模型在学习的时候,肯定也会把噪声规律学习到,从而减小了具有一般性的规律。这个时候模型用来预测肯定效果也不好。

5.过度训练

这个是同第4个是相联系的,只要训练时间足够长,那么模型肯定就会吧一些噪声隐含的规律学习到,这个时候降低模型的性能是显而易见的。

问题 3:如何解决过拟合问题

过拟合的原因是算法的学习能力过强;一些假设条件(如样本独立同分布)可能是不成立的;训练样本过少不能对整个空间进行分布估计。

处理方法:

  1. 早停止:如在训练中多次迭代后发现模型性能没有显著提高就停止训练
  2. 数据集扩增:原有数据增加、原有数据加随机噪声、重采样
  3. 正则化,正则化可以限制模型的复杂度
  4. 交叉验证
  5. 特征选择/特征降维
  6. 创建一个验证集是最基本的防止过拟合的方法。我们最终训练得到的模型目标是要在验证集上面有好的表现,而不训练集

问题 4:overfitting 怎么解决

  • dropout
  • regularization
  • batch normalizatin

问题 5:二分查找的基本思想

「二分查找」的思想在我们的生活和工作中很常见,「二分查找」通过不断缩小搜索区间的范围,直到找到目标元素或者没有找到目标元素。这里「不断缩小搜索区间」是一种 减而治之 的思想,也称为减治思想。

「减而治之」思想简介

这里「减」是「减少问题」规模的意思,治是「解决」的意思。「减治思想」从另一个角度说,是「排除法」,意即:每一轮排除掉一定不存在目标元素的区间,在剩下 可能 存在目标元素的区间里继续查找。

每一次我们通过一些判断和操作,使得问题的规模逐渐减少。又由于问题的规模是有限的,我们通过有限次的操作,一定可以解决这个问题。

可能有的朋友听说过「分治思想」,「分治思想」与「减治思想」的差别就在于,我们把一个问题拆分成若干个子问题以后,应用「减治思想」解决的问题就只在其中一个子问题里寻找答案。

问题 6:如何解决推荐系统冷启动问题

  1. 提供非个性化的推荐

最简单的例子就是热门排行榜,我们可以给用户推荐热门排行榜,然后等到用户数据收集到一定的时候,再切换为个性化推荐。

2. 利用用户注册信息

用户注册时提供包括用户的年龄、性别、职业、民族、学历和居住地等数据,做粗粒度的个性化。有一些网站还会让用户用文字描述他们的兴趣。

3. 利用社交网络信息

引导用户通过社交网络账号登录(需要用户授权),导入用户在社交网站上的好友信息,然后给用户推荐其好友喜欢的物品。

问题 7:决策树算法有哪些

ID3、C4.5、CART 树的算法思想

  • ID3 算法的核心是在决策树的每个节点上应用信息增益准则选择特征,递归地构架决策树。
  • C4.5 算法的核心是在生成过程中用信息增益比来选择特征。
  • CART 树算法的核心是在生成过程用基尼指数来选择特征。

基于决策树的算法有随机森林、GBDT、Xgboost 等。

问题 8:召回和排序的差异

召回的目的在于减少候选的数量(尽量控制在1000以内),方便后续排序环节使用复杂模型精准排序;

因为在短时间内评估海量候选,所以召回的关键点是个快字,受限与此与排序相比,召回的算法模型相对简单,使用的特征比较少。

而排序模型相对更加复杂,更追求准确性,使用的特征也会较多。

问题 9:缓解梯度消失、梯度爆炸、梯度膨胀的方法

1.梯度消失:

根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都小于1的话,那么即使这个结果是0.99,在经过足够多层传播之后,误差对输入层的偏导会趋于0。

可以采用ReLU激活函数有效的解决梯度消失的情况。

2.梯度膨胀:

根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都大于1的话,在经过足够多层传播之后,误差对输入层的偏导会趋于无穷大。

可以通过激活函数来解决。

3.梯度爆炸:

针对梯度爆炸问题,解决方案是引入Gradient Clipping(梯度裁剪)。

通过Gradient Clipping,将梯度约束在一个范围内,这样不会使得梯度过大。

问题 10:Batch Normalization 缺点

  • batch 太小,会造成波动大
  • 对于文本数据,不同有效长度问题
  • 测试集上两个数据均值和方差差别很大就不合适了

附:LN 是对一个样本的一个时间步上的数据进行减均除标准差,然后再回放(参数学习)对应到普通线性回归就是一层节点求均除标准差。

阅读量:2055

点赞量:2

收藏量:0