机器学习入门课程(3)—— 回归问题和聚类问题

机器学习入门课程(3)—— 回归问题和聚类问题

一. 回归问题

回归问题用于预测输入变量和输出变量之间的关系,特别时当输入变量的值发生变化时,输出变量值随之发生变化。直观来说,回归问题等价于函数拟合,选择一条函数曲线使其很好的拟合已知数据且预测未知数据

回归问题分类

  • 自变量个数:一元/多元回归分析
  • 自变量与因变量关系:线性/非线性回归分析
  • 因变量个数:简单/多重回归分析

线性回归

​ 线性回归算法假设特征和结果满足线性关系。这就意味着可以将输入项分别乘以一些常量,再将结果加起来得到输出。

线性回归算法流程

  • 选择拟合函数形式
  • 确定损失函数形式
  • 训练算法,找到回归系数,如最小二乘、梯度下降等
  • 使用算法进行数据预测

线性回归扩展算法

用简单的基函数代替输入变量x,这样就把线性拟合形式扩展到了固定非线性函数的线性组合(多项式拟合)。

过拟合问题:过于贴合训练数据,导致在测试集效果变差。

  • 岭回归
    • 应用结构风险最小化的模型选择策略,在经验风险最小化的基础上加入正则化因子。
    • 正则化因子选择为模型参数的二范数时,整个回归的方法就叫做岭回归
  • Lasso回归
    • 一种压缩估计,通过构造一个惩罚函数得到一个较为精炼的模型,使得压缩一些系数,同时设定一些系数为0。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。
    • 换言之,Lasso回归就是让回归系数不要太大,以免造成过拟合。
    • 适应情况:样本量比较小,但是指标非常多。适合高维估计,传统的方法无法应付这样的数据,并且Lasso可以进行特征选择。

二. 聚类问题

聚类问题是无监督学习的问题,算法的思想就是“物以类聚,人以群分”。

聚类算法感知样本间的相似度,进行类别归纳,对新的输入进行输出预测,输出变量取有限个离散值。

  • 可以作为一个单独过程,用于寻找数据内在的分布结构
  • 可以作为分类、稀疏表示等其他任务的先驱过程

1. K-means(K-均值或K-平均)聚类算法

算法思想

​ 首先确定K个中心点作为聚类中心,然后把每个数据点分配给最邻近的中心点,分配完成后形成k个聚类,计算各个聚类的平均中心点,将其作为该聚类新的类中心点,然后重复迭代上述步骤直到分配过程不再产生变化。

算法流程

  • 随机选择k个随机的点,称为聚类中心;
  • 对与数据集中的每个数据点,按照距离K个中心点的距离,将其与距离最近的中心点关联起来,与同一中心点关联的所有点聚成一类;
  • 计算每一组的均值,将该组关联的中心点移动到平均值的位置;
  • 重复执行2—3步,直至中心点不再变化。

优点

  • 远离比较简单,实现比较容易,收敛速度快
  • 聚类效果较优
  • 算法的可解释度比较强
  • 主要需要调参的参数仅仅是簇数k

缺点

  • k值的选取不好把握
  • 不平衡数据集的聚类效果不佳
  • 采用迭代方法,得到的结果只是局部最优
  • 对噪声和异常点比较的敏感

2. 高斯混合模型

​ 高斯混合模型指的是多个高斯分布函数的线性组合,是一种广泛使用的聚类算法,该方法使用了高斯分布作为参数模型。

  • 单高斯模型:高斯,即正态分布,是一种在自然界中大量存在、最常见的分布形式
  • 高斯混合模型:可以用来表示在总体分布中含有K个子分布的概率模型。换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由k个子分布组成的混合分布。
  • EM算法:一种迭代算法,用于含有隐变量的概率模型参数的最大似然估计。
    • E步:在每次迭代中,先根据当前参数来计算每个样本属于每个高斯成分的后验概率。
    • M步:更新模型参数,计算新的均值向量、协方差矩阵和新混合系数。
    • 因此,从原型聚类的角度来看,高斯混合聚类是采用概率模型对原型进行刻画,簇划分则由原型对应后验概率确定。
K-means和高斯混合模型的比较

相似点:

  • 两者的分类受初始值影响;
  • 两者可能局限于局部最优解;
  • 两者类别的个数都要靠猜测。

不同点:

  • 混合高斯计算复杂度高于K-means。
  • K-means属于硬聚类,要么属于这类要么属于那类,而高斯混合模型属于混合式软聚类,一个样本70%属于A,30%属于B。

3. 密度聚类

  • 密度聚类假设聚类结果能通过样本分布的紧密程度确定,算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。
  • 算法流程:
    • 通过检查数据集中每个点的Eps邻域来搜索簇,如果点p的Eps邻域包含的点多于Minpts个,则创建一个以p为核心对象的簇;
    • 然后,迭代的聚集从这些核心对象直接密度可达的对象,这个过程可能涉及一些密度可达簇的合并;
    • 当没有新的点添加到任何簇时,该过程结束。

4. 层次聚类

  • 层次聚类算法试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用自底向上的聚合策略,也可采用自顶向下的分拆策略。
  • AGNES算法流程:
    • 最初将每个对象作为一个簇,然后这些簇根据某些准则被一步步的合并,使用单链接方法;
    • 两个簇间的相似度由这两个不同簇中距离最近的数据点对的相似度来确定。此外当两个簇最近距离超过用户给定的阈值时,聚类过程就会终止;
    • 聚类的合并过程反复进行直到所有的对象最终满足簇数据。
发布了76 篇原创文章 · 获赞 30 · 访问量 5829

猜你喜欢

转载自blog.csdn.net/weixin_45926367/article/details/104821639