数据分析学习之路——(八)分类算法介绍


声明:本文转载自https://my.oschina.net/nekyo/blog/1594113,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

        前面几篇文章都是从数据分析介绍讲到描述统计分析,其实数据分析还需要使用机器学习的相关知识用来建立不同的分析模型,最终对数据信息进行深入的分析和挖掘。在实际工作当中,我们需要对数据进行特征分析,并且从数据中获取有价值的信息,并且为数据产品的市场服务。对于机器学习这一块,我是从分类算法开始研究的,因此本篇文章着重介绍几种分类算法。由于这些算法都非常经典,网上也有许多博文进行解读,本篇文章避免了从其它博文直接抄袭或转载,全部是我自己理解后总结的。

机器学习

        维基百科给出了机器学习一个被广泛引用的定义:对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习。我的理解就是,通过计算机程序构建一系列算法模型,然后使用这个模型学习经验,不断完善性能。通常用于分类、回归、聚类、降维、特征提取等。

        监督学习是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。通常实现过程中给出一个训练数据集,根据数据集不同特征训练出一个函数模型,常用于分类。

通常做法:一个训练集和测试集,将训练集按照一定比例随机分配(8:2/7:3),用多数训练模型,少数检测模型。训练集包括训练的特征以及已经分类的分类标签,测试集则是根据模型预测数据属于哪一个分类标签。

好模型的标准:一个分类模型的优劣可以用代价函数说明,代价函数(cost function)越小,模型表现越好;另需要判断对训练数据是否足够拟合(拟合概念可以通过线性回归——最小二乘法定义)。

        监督学习需要注意过拟合和欠拟合。过拟合指在训练数据集表现不错,但是在测试数据集表现很差,通常往往是由于过多的特征,导致模型复杂。

        无监督学习是指根据没有类别标签的数据训练样本来解决模式识别中的问题,常用于聚类。

分类算法介绍

朴素贝叶斯

应用:简单,容易理解的一种分类算法,常用于文本分类、垃圾邮件处理,属于监督学习。

原理:基于贝叶斯定理,对于给出的待分类项,求解在待分类项出现的条件下各个类别的概率;也就是已知先验概率,求解在某一条件发生下的后验概率。当出现某一后验项概率为0时,就是说某类别下某个特征没有出现,需要使用Laplace校准。

                                                    

输入与输出:输入为某个类别发生的概率(先验概率)和某类别下出现某个特征的概率,输出为某特征划分为某个类别的概率(后验概率),根据概率的大小判断是否属于这个类别。

优势劣势:理解、计算简单,易于实现

                 对小规模数据表现很好,对于大量规模数据表现欠佳

                 算法朴素地认为各特征之间相互独立、没有影响,因此在处理相关性较大的特征时,表现不好

逻辑回归

应用:主要用于离散变量的分类——属于监督学习的一种;一个单独的逻辑回归只能判别两个类——二分类回归,通过一个概率值判断属于哪一个分类。

原理:模型通过定义一个sigmoid S型预测函数,取值范围(0,1)预测不同的分类结果,默认阈值0.5,大于0.5则认为属于分类1,小于0.5认为属于分类2。通过损失函数(cost function)评估预测函数的好坏——使用梯度下降算法能够找到损失函数最小值。

                                    

输入与输出:输入一个线性组合,也就是一个带权重的特征组合(自变量),输出结果表征了某个样本属于某类别的概率(即可能性,取值0~1)。

优势劣势:朴素贝叶斯(生成模型)将不同特征处理成为独立不相关的变量,会有一定误差,逻辑回归(判别模型)不管各特征之间是否有联系,可以直接将任何特征组合扔进模型;朴素贝叶斯处理数据规模较小的集合,对于大量数据,逻辑回归更有优势;逻辑回归容易过拟合,分类精度不太高。

解决方案:1)减少特征数量(减少特征会失去一些信息,即使特征选的很好)

                     人工选择要保留的特征

                2)正则化(特征较多时比较有效)

决策树

应用:通过训练数据,进行分类。也可以用来作回归。

原理:一种描述对实例分类的树结构,两种节点:内部节点和叶子结点——内部节点表示一个特征或属性,叶子结点表示一个分类。将特征看作一个内部节点,对每个内部节点进行递归分割(两种分割方式:连续性——用>=,<分割,离散型——按类别分割),递归停止条件:每个叶子节点只有一个类型,或者设置节点记录数量低于一个设定的阈值。根据纯度来构建决策树,纯度指节点分割后有最小的分类(例子:“拥有房产”,可以将记录分成了两类,“是”的节点全部都可以偿还债务,非常“纯”,“否”的分支再继续下一个节点分割)。不纯度量化:ID3算法使用信息增益(纯度差)、C4.5算法使用信息增益率、CART算法使用基尼系数,取值越小,不纯度越低,纯度越高,节点更靠近根节点。

决策树步骤:特征选择-决策树生成-剪枝。

优势劣势:容易理解,效率高

                 可以处理连续型和离散变量,通过不纯度来分割变量

                 容易过拟合

解决方案:1)裁剪枝叶

                 2)随机森林

随机森林

应用:由于决策树可能出现的误差和过拟合问题,使用RF可更好地解决分类和回归问题。

原理:RF算法是将决策树进行Bagging,使用多棵树进行单独预测,最后将这些预测进行组合决定。通常多个弱分类器通过组合可以得到很强的决策效果。

保证每棵树之间的独立性,采用3层随机性:

1、每棵树的数据有放回随机抽样;

2、每棵树的特征也随机抽取,数量通常为sqrt(N)或者log2(N)+1;

3、多个特征进行分割时,随机选择一个进行分割。

优势劣势:解决了过拟合问题,增加稳定性,提升预测精度

               可以对数据降维,只选取少量几个重要特征来近似表示原数据——用于特征选择,选择关键特征

                可并行,能处理大规模数据

                模型过大,需要存储空间大,模型加载时间长

                噪声比较大的样本,容易过拟合

SVM

应用:可以应用于分类和回归,分类模型通常用做二分类。

原理:基于逻辑回归线性分类,定义在特征空间上的间隔最大的线性分类器,利用间隔最大化求最优分离超平面。定义一个超平面方程,使得其到不同分类数据点的距离最大,即为最优超平面(如图中的实线wTx+b=0)。大多数情况下,数据并不是线性可分的,使用核函数(Kernel)。

核函数思想——由于线性不可分,将数据集映射到高维,变成线性可分。将数据在低维计算,将分类效果表现在高维。

                            

优势劣势:可用于分类和回归

                容易解释

                计算复杂度低

                可以处理小样本,非线性问题;通过处理低维度数据解决高维度问题

                原始SVM只擅长解决二分类问题

本文发表于2017年12月24日 08:32
(c)注:本文转载自https://my.oschina.net/nekyo/blog/1594113,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2048 讨论 0 喜欢 1

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1