直观理解
在实数域中,数的大小和两个数之间的距离是通过绝对值来度量的。在解析几何中,向量的大小和两个向量之差的大小是“长度”和“距离”的概念来度量的。为了对矩阵运算进行数值分析,我们需要对向量和矩阵的“大小”引进某种度量。即范数是具有“长度”概念的函数。范数是绝对值概念的自然推广。
在实数域中,数的大小和两个数之间的距离是通过绝对值来度量的。在解析几何中,向量的大小和两个向量之差的大小是“长度”和“距离”的概念来度量的。为了对矩阵运算进行数值分析,我们需要对向量和矩阵的“大小”引进某种度量。即范数是具有“长度”概念的函数。范数是绝对值概念的自然推广。
识别谷歌SVHN数字是Udacity Deep Learning课程最后的项目,目的是识别谷歌街景拍到的门牌号,为以后精确定位打基础。SVHN总共包含两个数据集,一个是处理好的单数字集,和MNIST类似;还有一个是原始的图片,提供了每个数字的位置。谷歌内部是搭了8层CNN+2层全连接,准确率分别可以达到97.84%(单数字)和96.03%(数字串)。 在这个项目里我也都实现了一遍,搭了3层CNN+2层全连接,单数字集准确率可以达到92.3%,数字串的就只有75.9%了。 因为全部训练和测试过程都是在2015款Macbook Air上跑的,框架用的是Tensorflow CPU版,训练过程非常慢而且占用内存很多,导致了无法再增加CNN层数,所以数字串识别的准确率上不去。总的来说还有很大改进的空间,具体代码可见我的Github repo
前面总结的SVM,决策树还有没有总结的神经网络等均是试图构建单一强大的学习器,通过选择不同细分的算法或调节参数应对不同的问题。而实际中我们自然希望“兼听则明”,将不同的分类器组合起来从而达到更好的效果。这种组合的思路被称作集成方法Ensemble Method。集成可以有多种形式:可以是不同算法的集成,也可以是同一算法在不同设置下的集成,还可以是数据集不同部分分配给不同分类器之后的集成。 而本篇总结的AdaBoost则通过一系列弱学习器的组合达到很强的分类效果。
决策树是一种基本的分类与回归方法。很多高级一点机器方法都用到了决策树,而且决策树很直观容易理解,很适合初学者入门。但是正是因为容易理解,反而容易忽视其背后的统计学概率论等算法基础。因此此篇就总结并讲解了分类决策树的特征选择依据和构建和3种常见决策树的异同。希望读者阅读后对决策树有更深入的数学理解。
做MLND项目时一直没有搞懂如何选择SVM参数,因此监督学习总结第一篇献给SVM,希望能带领大家稍稍深入理解SVM
本篇主要解决一下问题:
从Udacity的MLND开始,学机器学习差不多5个月了,期间各种迷茫无知所措,所幸一直坚持了下来。 Udacity的项目并不难,从P1到P4都有一个个问题帮助理解,很多步骤都帮你写好了,部署算法只需要调用sklearn,很少需要从公式推导角度理解算法,这样可以帮初学者入门但是对更深层次的算法认识不够。写这个系列文章初衷在于 一是可以回顾总结知识点,搭建整个机器学习框架;二是推导相应算法公式,更深层次理解算法。写作形式以问答为导向,知识点总结为基础。
下面是5个项目和对应的知识点