解释:深度学习,可以解决线性不可分的问题,当然SVM等传统的机器学习方法也可以解决线性不可分的问题,但是深度网络拟合函数的能力远远强于SVM等传统的机器学习方法。理论上,仅含有一个隐藏的神经网络,只要隐层的结点足够多,那么三层的网络就可以拟合任何复杂的函数。
解决非线性拟合的问题有两种思路:
其一:使用核函数,将特征从低维空间映射到高维空间
其二:是使用深度的网络
在两种方法之间:
使用核函数映射到高维的空间,实现非线性拟合,主要是用SVM的方法,主要有如下几个优点:
1、SVM容易训练,并且在数学上是个凹优化问题,不论初始值如何选择,最终都会收敛到最优解。
2、SVM完全可以用数学理论去解释
3、SVM等传统的机器学习方法,泛化能力比较强
4、传统的机器学习方法,计算成本比较低
使用深度网络进行非线性拟合:
1、深度网络学习是非凸优化问题,很难去训练
2、深度网络学习目前在数学上,无法解释通
3、深度网络非常容易过拟合
4、深度网络的训练非常耗费计算资源
以上几点表明,深度网络的学习并没有比传统的机器学习方法来得厉害。
但是,随着大数据时代的到来,即计算机计算能力的改变,深度网络才开始有了用武之地:
解释一下这个表:
1、传统的机器学习方法,在训练样本达到10w级别时,其准确度已经接近达到上限了,再增大训练样本的个数,并不能使准确度继续上升。
2、而深度学习方法,在训练样本达到100w乃至1000w时,其准确度才会达到上限。
3、practical applicaton:这条线是商用产品对准确度的要求,很明显传统的机器学习方法其准确度达不到商用的要求,而 深度学习方法可以达到商用的要求。
分析:
1、传统的机器学习方法,其实分为以下几个部分:
收集数据=>然后进行数据的预处理=>然后进行特征的设计=>模型的选择=>训练模型
传统的机器学习中,需要太多专业的知识,比如说特征的设计,做文本的,必须得具有自然语言处理相关知识。
做图像识别的,需要图像处理的专业知识。
2、使用深度学习的方法:
收集数据 => 然后进行网络的设计 =>训练网络
在这里,只有收集数据和网络的设计,需要一些专业领域的知识。
综上所示:使用深度网络进行学习,仅需要很少的领域知识,可以节约成本。
解释:传统的机器学习方法,需要人工去设计feature,同样是使用SVM,设计的feature好坏,非常大地影响了SVM的性能。
而使用深度学习,feature不需要人工去设计,深度网络本身就是一个非线性的转换器,网络可以自己学习出好的feature。
https://www.quora.com/In-machine-learning-what-is-a-feature-map
In neural network, it means you map your inputfeatures to hidden units to form new features to feed to the next layer. However in Kernelmachine,feature mapping means a mapping of features from input space to a reproducingkernel hilbert space, where usually it is very high dimension, or even infinite dimension. In this case, feature mapping is usually notknown, but their inner-product is known as kernel function such that you could use theso called kernel trick tosolve your nonlinear problem in a linear way.
特征变换:深度网络就是把输入进行特征非线性变换,然后将得到的新的特征输入给下一层,所以,深度网络的隐层其实可以看成是一个非常复杂的非线性的特征变换器。
核函数,也是进行特征的非线性变换,只是将低维的特征映射到高维,映射到希尔伯特空间,可能映射到无限维的空间,但是通过核函数,我们可以计算出映射到无限维度空间的内积。