K均值(K-Means)


聚类是数据挖掘中的基本任务,聚类是将大量数据集中具有“相似”特征的数据点划分为统一类别,并最终生成多个类的方法。

聚类分析的基本思想是“物以类聚、人以群分”,因此大量的数据集中必然存在相似的数据点,基于这个假设就可以将数据区分出来,并发现每个数据集(分类)的特征。

与聚类的概念类似的另外一个概念是“分类”,实际上二者经常被混用。但二者根本上是不同的:

  1. 学习方式不同。聚类是一种非监督式学习算法,而分类是监督式学习算法。
  2. 对源数据集要求不同。聚类不要求源数据集有标签,但分类需要标签用来做学习。
  3. 应用场景不同。聚类一般应用于做数据探索性分析,而分类更多的用于预测性分析。
  4. 解读结果不同。聚类算法的结

继续阅读

线性判别分析Linear Discriminant Analysis (LDA)


判别分析(DiscriminantAnalysis)是一种分类方法,它通过一个已知类别的“训练样本”来建立判别准则,并通过预测变量来为未知类别的数据进行分类。线性判别式分析(Linear Discriminant Analysis,简称为LDA)是其中一种,也是模式识别的经典算法,在1996年由Belhumeur引入模式识别和人工智能领域。LDA以Bayes判别思想为基础,当分类只有两种且总体服从多元正态分布条件下,Bayes判别与Fisher判别、距离判别是等价的。

基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有

继续阅读

因子分析(Factor Analysis)


在之前的文章中,我们介绍了数据降维的几种方法,包括[PCA]、[LDA]、[ICA]等,另外还有一种常用的降维方法就是因子分析。

因子分析(Factor Analysis)是指研究从变量群中提取共性因子的统计技术,这里的共性因子指的是不同变量之间内在的隐藏因子。

例如,一个学生的英语、数据、语文成绩都很好,那么潜在的共性因子可能是智力水平高。因此,因子分析的过程其实是寻找共性因子和个性因子并得到最优解释的过程。

因子分析有两个核心问题:一是如何构造因子变量,二是如何对因子变量进行命名解释。因子分析有下面4个基本步骤:

  1. 确定原有若干变量是否适合于因子分析。因子分析的基本逻辑是从原始变量中构造

继续阅读

独立成分分析Independent component analysis(ICA)


传统的降维方法,包括PCA、LDA等都是以观测数据点呈高斯分布模型为基本假设前提的,在已经先验经验知道观测数据集为非高斯分布模型的前提下,PCA和LDA的降维效果并不好;而本文介绍的ICA将适用于非高斯分析数据集,它是CIA,是主成分分析(PCA)和因子分析(Factor Analysis)的一种有效扩展。 独立成分分析(Independent component analysis,简称ICA)是一种利用统计原理进行计算的方法,它是一个线性变换,这个变换把数据或信号分离成统计独立的非高斯的信号源的线性组合。

独立成分分析的最重要的假设就是信号源统计独立,并且这个假设在大多数盲信号分离(blin

继续阅读

神经网络模型Neural network models


神经网络模型是模拟人类神经网络工作原理进行自我学习和演化的一种数据工作方法。神经网络在系统辨识、模式识别、智能控制等领域应用广泛,尤其在智能控制中被视为解决自动控制中控制器适应能力这个难题的关键钥匙之一。

神经网络理论是巨量信息并行处理和大规模平行计算的基础,是高度非线性动力学系统,又是自适应组织系统,可用来描述认知、决策及控制的智能行为.它的中心问题是智能的认知和模拟,更重要的是它具有“认知”、“意识”和“感情”等高级大脑功能。它再一次拓展了计算概念的内涵,使神经计算、进化计算成为新的学科,神经网络的软件模拟得到了广泛的应用。

既然神经网络模型是模拟人类神经网络的工作原理,那么首先来了解下人

继续阅读

二次判别分析Quadratic Discriminant Analysis(QDA)


与线性判别分析类似,二次判别分析是另外一种线性判别分析算法,二者拥有类似的算法特征,区别仅在于:当不同分类样本的协方差矩阵相同时,使用线性判别分析;当不同分类样本的协方差矩阵不同时,则应该使用二次判别。

为了清楚的了解LDA和QDA的应用差异,下图显示了在固定协方差矩阵以及不同协方差矩阵下LDA和QDA的表现差异: plot_lda_qda_00111

由图中可以看出,在固定协方差矩阵下,LDA和QDA是没有分类结果差异的(上面两张图);但在不同的协方差矩阵下,LDA和QDA的分类边界明显存在差异,而且LDA已经不能准确的划分数据(下面两张图)。

那么,协方差矩阵是什么?

在统计学中,有几个描述样本分布的基本指标,例如均值、方差

继续阅读

主成分分析Principal component analysis(PCA)


在面对海量数据或大数据进行数据挖掘时,通常会面临“维度灾难”,原因是数据集的维度可以不断增加而无穷多,但计算机的处理能力和速度却不是无限的;

另外,数据集的大量维度之间可能存在共线性的关系,这会直接导致学习模型的健壮性不够,甚至很多时候会失效。因此,我们需要一种可以降低维度数量并降低维度间共线性影响的方法——这就是降维的意义所在。

主成分分析是一种降维方法。主成分分析Principal component analysis(PCA)也称主分量分析,旨在利用降维的思想,把多维指标转化为少数几个综合维度,然后利用这些综合维度进行数据挖掘和学习,以代替原来利用所有维度进行挖掘学习的方法。

主成分分析

继续阅读

离群点检测Outlier Detection


在《[新奇检测NoveltyDetection]》我们已经介绍了关于异常检测的基本理论、方法和基于python算法one-class SVM实现其中新奇检测的基本逻辑。本篇介绍异常检测的另外一个主题——离群点检测。

离群点检测是异常值检测的一种,其思路与新奇检测一致;区别在于离群点检测的原始观测数据集中已经包含异常值,而新奇检测则不包括。

以下是利用Python中SKlearn机器学习库的EllipticEnvelope实现对离群点的检测。EllipticEnvelope是Sklearn协方差估计中对高斯分布数据集的离群值检验方法,且该方法在高维度下的表现效果欠佳。

import numpy 

继续阅读

核密度估计Kernel Density Estimation(KDE)


在介绍核密度评估Kernel Density Estimation(KDE)之前,先介绍下密度估计的问题。

由给定样本集合求解随机变量的分布密度函数问题是概率统计学的基本问题之一。解决这一问题的方法包括参数估计和非参数估计。

参数估计又可分为参数回归分析和参数判别分析。在参数回归分析中,人们假定数据分布符合某种特定的性态,如线性、可化线性或指数性态等,然后在目标函数族中寻找特定的解,即确定回归模型中的未知参数。在参数判别分析中,人们需要假定作为判别依据的、随机取值的数据样本在各个可能的类别中都服从特定的分布。经验和理论说明,参数模型的这种基本假定与实际的物理模型之间常常存在较大的差距,这些方法

继续阅读