各种分类方法
-
二分类:每个分类器只能把样本分为两类。这个分类器学习过程就是解一个基于正负二分类推导而来的一个最优规划问题(对偶问题),要解决多分类问题 就要用决策树把二分类的分类器级联。
-
层次聚类: 创建一个层次等级以分解给定的数据集。此方法分为自上而下(分解)和自下而上(合并)两种操作方式。
-
K-中心点聚类:挑选实际对象来代表簇,每个簇使用一个代表对象,它是围绕中心点划分的一种规则。
-
回归分析:处理变量之间具有相关性的一种统计方法。
-
结构分析: 结构分析法是在统计分组的基础上,计算各组成部分所占比重,进而分析某一总体现象的内部结构特征、总体的性质、总体内部结构依时间推移而表现出的变化规律性的统计方法。结构分析法的基本表现形式,就是计算结构指标。
-
多分类问题: 针对不同的属性训练几个不同的弱分类器,然后将它们集成为一个强分类器。
常用的文本分类的特征计算方法
-
卡方检验值:CHI(Chi-square) 卡方检验法
利用了统计学中的"假设检验"的基本思想:首先假设特征词与类别之间是不相关的。如果利用CHI分布计算出的检验值偏离阈值越大,那么更有信心否定原假设,接受原假设的备则假设:特征词与类别有着很高的关联度。
-
互信息:MI(Mutual Information) 互信息法
互信息法用于衡量特征词与文档类别直接的信息量。如果某个特征词的频率很低,那么互信息得分就会很大,因此互信息法倾向"低频"的特征词;相对的词频很高的词,得分就会变低,如果这词携带了很高的信息量,互信息法就会变得低效。
-
信息增益:(Information Gain) 信息增益法
通过某个特征词的缺失与存在的两种情况下,语料中前后信息的增加,衡量某个特征词的重要性。
-
DF:(Document Frequency) 文档频率
DF:统计特征词出现的文档数量,用来衡量某个特征词的重要性。
-
WLLR:(Weighted Log Likelihood Ration)加权对数似然
-
WFO:(Weighted Frequency and Odds)加权频率和可能性
注:主成分分析法不是文本分类特征选择算法。
核方法
核方法kernel methods (KMs)是一类模式识别的算法。其目的是找出并学习一组数据中的相互的关系。用途较广的核方法有支持向量机、高斯过程等。
核方法是解决非线性模式分析问题的一种有效途径,其核心思想是:首先,通过某种非线性映射将原始数据嵌入到合适的高维特征空间;然后,利用通用的线性学习器在这个新的空间中分析和处理模式。
支持向量机
SVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法。是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面,从而将不同的数据分隔开。
SVM使用铰链损失函数计算经验风险并在求解系统中加入了正则化项以优化结构风险,是一个具有稀疏性和稳健性的分类器。SVM可以通过核方法进行线性分类,是常见的核学习方法之一。
经验风险描述了分类器所给出的分类结果的准确程度;结构风险描述了分类器自身的稳定程度,复杂的分类器容易产生过拟合,因此是不稳定的。
LR和SVM的联系与区别?
联系:
-
LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题)
-
两个方法都可以增加不同的正则化项,如L1、L2等等。所以在很多实验中,两种算法的结果是很接近的。
区别:
-
LR是参数模型,SVM是非参数模型。
-
从目标函数来看,区别在于逻辑回归采用的是Logistical Loss,SVM采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。
-
SVM的处理方法是只考虑Support Vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。
-
逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。
-
Logic 能做的 SVM能做,但可能在准确率上有问题,SVM能做的Logic有的做不了。
答案来源:https://blog.csdn.net/timcompp/article/details/62237986
曼哈顿距离和欧氏距离
曼哈顿距离:在欧几里德空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和。
欧式距离:两点之间的直线距离。
集成学习
集成学习是将多个模型进行组合来解决单一的预测问题。它的原理是生成多个分类器模型,各自独立地学习并作出预测。这些预测最后结合起来得到预测结果,因此和单独分类器的结果相比,结果一样或更好。
bagging就是一种集成学习用来提高学习算法准确度的方法主要思想:
-
给定一个弱学习算法,和一个训练集;
-
单个弱学习算法准确率不高;
-
将该学习算法使用多次,得出预测函数序列,进行投票;
-
最后结果准确率将得到提高。
随机森林
随机森林是一个集成工具,它使用观测数据的子集来建立一个决策树。它建立多个这样的决策树,然后将它们合并在一起以获得更准确更准确和稳定的预测。这样做最直接的事实是,在这一组独立的预测中,用投票方式得到最高投票结果,这个比单独使用最好模型预测的结果要好。
两种算法:
RandomForest algorithm :
样本提取时允许replacement(a bootstrap sample),在随机选取的部分(features上进行划分。scikit-learn通过平均每个分类器的预测概率(averaging their probabilistic prediction)来生成最终结果。
Extremely Randomized Trees :
有两个class,分别处理分类和回归,默认使用所有样本,但划分时features随机选取部分。