决心不再拖延了(说的和真的一样),开始准备做毕业设计吧。毕设的题目是《基于Spark并行架构分类算法的研究与实现》,听起来好像好难的样子,就这么往坑里跳了。那么首先,照学长说的,开始了解一些大数据的分类算法相关知识。
首先是Adaboost,按照惯例百度之,找到这篇文章AdaBoost算法简介及入门,看起来不错,纵向介绍了一下这一类概念的发展历程,其中出现了分类器一词,较为陌生,了解了一下,下面是定义:
分类是数据挖掘的一种非常重要的方法。分类的概念是在已有数据的基础上学会一个分类函数或构造出一个分类模型(即我们通常所说的分类器(Classifier))。该函数或模型能够把数据库中的数据纪录映射到给定类别中的某一个,从而可以应用于数据预测。总之,分类器是数据挖掘中对样本进行分类的方法的统称,包含决策树、逻辑回归、朴素贝叶斯、神经网络等算法。
原来如此,非常直接地面向了我的主题,分类。。继续往下看,咱们的Adaboosting出现了,唉好多术语,寒假看的那点东西果然已经忘得差不多了。唉算了,一下子扎进细节也不是太好的事,先确立总体认知好了。文章中说道Adaboosting算法提供的只是框架,可以用各种方法来实现分类器(其实我对框架这个概念的认识几乎没有),哦好一个万精油,它针对同一个训练集训练出不同的弱分类器,最后通过这些弱分类器的集合来形成强分类器,这些不同弱分类器的训练就是迭代过程,根据样本分类的正误情况对分类器惊醒评估,增加错误分类样本的权值,并继续迭代,得出最后决策分类器。这样的过程不存在过度拟合(随着训练次数增加,训练误差下降而泛化/测试误差上升)的问题嘻嘻。为了理解这一特性,文章中提出了Margin的概念,概率没学好,我先哭一会。
然后文章就要推广多分类的Adaboosting了(它本来是二分类的)。于是乎好几个公式就跳了出来。看不懂啊,继续混混混。
第一次这样写日志,用的Safari,已经被CSDN这个文本编辑器吓哭,各种奇怪的问题,看来以后还是用word先写算了算。
今天继续Adaboost的了解:
今天开始进一步了解Adaboost,一边进一步完善开题报告内容。
那么查询到网页Adaboost 算法的原理与推导。这篇文章算是看到这么多里面说的比较细致易于理解的了。这里注意到:
1. 需要初始化所有训练样本权重为1/N,N为训练样本数。
2. 进行多伦迭代,这个迭代是什么意思呢?况且这个还在训练弱分类器之前。从后文内容理解,应该指的就是训练弱分类器的次数!每次迭代改变各个样本的权值,在每次迭代中被错误分类的样本权值会被增加。
3. 分类器训练完成后,计算其其误差率,实质是误分类样本权值之和,那么公式中的I(Gm(Xi)!=Yi),就姑且理解为当误判条件成立时值为1。
4. 进行权值更新是,分母Zm规范化因子是下一轮权重集合为一个概率分布?!这一个好像就说的比较难理解了,看起来他就是新权值的和,莫非就是归一化使得下一次总权值之和一定还是1?
这样的过程使得每一次迭代的误差率被减小,从而弱分类器的权值逐渐提高,AdaBoost具有自适应性,它能适应弱分类器各自的训练误差率