算法常见问题小结

Posted bitcarmanlee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法常见问题小结相关的知识,希望对你有一定的参考价值。

1.LR与SVM联系与区别

联系:
1.LR与SVM都可以处理分类问题,尤其是处理二分类。
2.都可以用来做非线性分类。
3.本身都是属于线性模型。
4.都是判别模型。

区别
1.LR采用的目标函数是logistical loss,SVM采用的是hinge loss。
2.LR是经验风险最小,而SVM是结构风险最小。
3.LR是参数模型,而SVM是非参数模型。
4.LR依赖数据的分布,而SVM不依赖数据分布,只与支持向量的几个点有关系。
5.SVM很依赖乘法系数,需要做cross validation。

SVM算法对大规模训练样本比较耗时,SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的数量),当m很大时候该矩阵的计算存储都比较费劲。

当SVM用于多分类时,可以一对多,一对一,还有SVM决策树。同时,SVM对缺失数据敏感,对参数和核函数的选择敏感。

SVM详细介绍
https://zhuanlan.zhihu.com/p/31886934

2.cnn相关

CNN最成功的应用是在CV,那为什么NLP和Speech的很多问题也可以用CNN解出来?为什么AlphaGo里也用了CNN?这几个不相关的问题的相似性在哪里?CNN通过什么手段抓住了这个共性?

1.以上几个不相关问题的相关性在于,都存在局部与整体的关系,由低层次的特征经过组合,组成高层次的特征,并且得到不同特征之间的空间相关性。

CNN抓住此共性的手段主要有四个:局部连接/权值共享/池化操作/多层次结构。
局部连接使网络可以提取数据的局部特征;权值共享大大降低了网络的训练难度,一个Filter只提取一个特征,在整个图片(或者语音/文本) 中进行卷积;池化操作与多层次结构一起,实现了数据的降维,将低层次的局部特征组合成为较高层次的特征,从而对整个图片进行表示。

3.解决梯度消失与梯度爆炸

梯度消失:
根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都小于1的话,那么即使这个结果是0.99,在经过足够多层传播之后,误差对输入层的偏导会趋于0。
可以采用ReLU激活函数有效的解决梯度消失的情况。

梯度爆炸

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

以上是关于算法常见问题小结的主要内容,如果未能解决你的问题,请参考以下文章

算法导论读后小结

贪心算法小结

K近邻算法小结

算法课程小结

算法导论小结

算法第4章小结