机器学习(3)——回归问题、聚类问题

回归问题

一、回归分析
  • 用于预测输入变量(自变量)和输出变量(因变量)之间的关系。
  • 等价于函数拟合,选择一条函数曲线使其很好的拟合已知数据且很好地预测未知数据
  • 回归分析分类
  • 自变量个数:一元回归分析,多元回归分析
  • 自变量与因变量关系:线性回归分析,非线性回归分析
  • 因变量个数:简单回归分析,多重回归分析
  • 线性回归算法
  • 假设特征和结果满足线性关系
  • 算法流程
  • 选择拟合函数形式
  • 确定损失函数形式
  • 训练算法,找到回归系数(如最小二乘,梯度下降等)
  • 使用算法进行数据预测
  • 扩展算法:用简单基函数替换输入变量,这样就把线性拟合形式扩展到了固定非线性函数的线性组合 eg:多项式拟合
  • 过拟合:过于贴合训练数据,导致在测试集效果变差
二、岭回归
  • 应用结构风险最小化的模型选择策略,在经验风险最小化的基础上加入正则化因子。当正则化因子选择为模型参数的二范数的时候,整个回归方法为岭回归
三、Lasso回归
  • 一种压缩估计。他通过构造一个惩罚函数得到一个较为精炼的模型,使得它压缩一些系数,同时设定一些系数为零。因此保留率子集收缩的优点,是一种处理具有复共线性数据有偏估计
  • 适配情况:样本量比较小,但是指标非常多;适用于高维统计,传统的方法无法应对这样的数据;进行特征选择

聚类问题

  • 无监督学习问题,算法的思想是“物以类聚,人以群分”
  • 聚类算法感知样本间的相似度,进行类别归纳,对新的输入进行输出预测,输出变量取有限个离散值
  • 可以作为一个单独过程,用于寻找数据内在的分布结构
  • 可以作为分类,稀疏表示等其他学习任务的前驱过程
一、K-means
  • 又称K-均值或K-平均
  • 算法思想就是首先随机确定K个中心点作为聚类中心,然后把每个数据点分配给最邻近的中心点,分配完成后形成K个聚类,计算各个聚类的平均中心点,然后重复迭代上述步骤直到分配过程不再产生变化
  • 算法流程
  • 随机选择K个随机的点(称为类聚中心)
  • 对于数据集中的每个数据点,按照距离K个中心点的距离,将其与距离最近的中心点关联起来,与同一中心点关联的所有点聚成一类
  • 计算每一组的平均值,将该组所关联的中心点移动到平均值的位置
  • 重复执行2-3步,直到中心点不再变化
  • 优点
  • 原理比较简单,实现很容易,收敛速度快
  • 聚类效果较优
  • 算法的可解释度比较强
  • 主要需要调参的参数仅仅是簇数K
  • 缺点
  • K值得选取不好把握
  • 不平衡数据集的聚类效果不佳
  • 采用迭代方法,得到的结果只是局部最优
  • 对嗓音和异常点比较敏感
二、高斯混合模型(Gaussian Mixed Model,GSS)
  • 指多个高斯分布函数的线性组合,是一种广泛使用的聚类算法,该方法使用高斯分布作为参数模型
  • 单高斯模型:高斯分布(Gaussian distribution)又称正态分布(normal distribution),是一种在自然界大量的存在的最为常见的分布形式
  • 高斯混合模型:混合模型是一个可以用来表示在总体分布中含有K个子分布的概率模型,换句话说,混合模型表示了观测数据在总体中的概率分布,他是一个由K个子分布组成的混合分布
  • 算法:EM算法:一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的最大似然估计
  • E步:在每步迭代中,先根据当前参数来计算每个样本属于每个高斯成分的后续概率
  • M步:更新模型参数
  • 多轮迭代后,得到稳定的模型
  • 从原型聚类的角度来看,高斯混合聚类采用概率模型对原型进行刻画,簇划分由原型对应后验概率确定

K-means与高斯混合模型

  • 混合高斯和K-means很相似,相似点在于两者的分类受初始值影响;两者可能限于局部最优解;两者类别的个数都要靠猜测;混合高斯计算复杂度高于K-means
  • K-means属于硬聚类,GMM属于混合式软聚类(一个样本70%属于A,30%属于B)
三、密度聚类
  • 假设聚类结构能够通过样本分布的紧密程度确定,算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果
  • 算法流程
  • DBSAN通过检查数据集中每个点的Eps邻域来搜索簇,如果点P的Eps邻域包含的点多于MinPts个,则创建一个以P为核心对象的簇
  • 然后,DBSCAN迭代地聚集从这些核心对象直接密度可达的对象,这个过程可能涉及一些密度可达簇的合并
  • 当没有新的点添加到任何簇时,该过程结束
四、层次聚类
  • 层次聚类算法试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略
  • 算法流程
  • AGNES(Agglomerative NESting)算法最初将每个对象作为一个簇,然后这些簇根据某些准则被一步步的合并,使用单链接方法
  • 两个簇间的相似度由这两个不同簇中距离最近的数据点对的相似度来确定。此外当两个簇最近距离超过用户给定的阈值时聚类过程就会终止
  • 聚类的合并过程反复进行直到所有点对象最终满足簇数据
五、谱聚类(Spectral Clustering,SC)
  • 一种基于图论的聚类方法,将带权无向图划分为两个或两个以上的最优子图,使子图内部尽量相似,而子图间距离尽量距离较远,以达到常见的聚类的目的
  • 优势
  • 只需要待聚类点之间的相似度矩阵
  • 对于不规则的数据(离群点)不是那么敏感,主要体现在最小化图切割的公式中
  • K-means聚类算法比较适合于凸数据集(数据集内的任意两点之间的连线都在该数据集以内,简单理解就是圆形),而谱聚类比较通用
  • 谱聚类能够识别任意形状的空间样本且收敛于全局最优解,其基本思想是利用样本数据的相似矩阵(拉普拉斯矩阵)进行特征分解后得到的特征向量进行聚类