Coursera机器学习-第八周-Unsupervised Learning(K-Means)

Clustering

K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用误差平方和准则函数作为聚类准则函数。



Unsuperivised Learning:Intruduction

典型的Supervised Learning

有一组附标记(y(i))的训练数据集, 我们想要找出决策边界,藉此区分开正(positive)或负(negative)标记数据。

Unsupervised Learning

我们面对的是一组无标记的训练数据,数据之间,不具任何相关联的标记(即不具有y(i))。

所以我们得到的数据 看起来像这样:一个数据集, 一堆数据点,但没有任何标记以供参考。在无监督学习中, 我们将这种未标记的训练数据送入特定的算法,然后我们要求算法 替我们分析出数据的结构。

K-Means Algorithm

在聚类问题中 我们有未加标签的数据 我们希望有一个算法 能够自动的 把这些数据分成 有紧密关系的子集或是簇

如图所示, 现在我有一些 没加标签的数据, 而我想将这些数据分成两个簇:

执行K均值算法,首先我随机选择两个点 ,这两个点叫做聚类中心 (cluster centroids) ,就是图上边的两个叉(一个红色一个蓝色) 这两个就是聚类中心 (因为要分成 两个簇,所以需要两个聚类中心)

K均值是一个迭代方法:

  1. 簇分配
  2. 移动聚类中心

    簇分配 :

    在K均值算法的每次循环中,第一步是要进行簇分配,这就是说,我要遍历所有的样本 ,就是图上所有的绿色的点 ,然后依据 每一个点 是更接近红色的这个中心 还是蓝色的这个中心,来将每个数据点分配到两个不同的聚类中心中。

    具体来讲 ,指的是对数据集中的所有点 ,依据他们更接近红色这个中心 ,还是蓝色这个中心 进行染色 ,染色之后的结果如图所示:

移动聚类中心:

我们将两个聚类中心,也就是说红色的叉和蓝色的叉移动到和它一样颜色的那堆点的均值处,那么我们要做的是找出所有红色的点计算出它们的均值,就是所有红色的点 平均下来的位置。然后我们就把红色点的聚类中心移动到蓝色的点也是这样 ,找出所有蓝色的点 计算它们的均值, 把蓝色的叉放到那里。将按照图上所示这么移动 :

最终,当算法收敛,即聚类中心不再变化时,聚类完成:

这里是计算聚类中心的公式:

K-means algorithm:

  1. 随机初始化 K 个聚类中心 记作μ1,μ2, 一直到 μk 就像之前图中所示 聚类中心对应于红色叉和蓝色叉所在的位置。
  2. 对于每个训练样本 我们用变量 c(i) 表示 K个聚类中心中最接近 x(i) 的 那个中心的下标,这就是簇分配。 依据它离那个聚类中心近 将其染成红色或是蓝色 。所以 c(i) 是一个 在1到 K 之间的数 而且它表明 这个点到底是更接近红色叉还是蓝色叉(如果K=2的话,如果K>2的话就有更多颜色的×了)
  3. 对于每个聚类中心,也就是说小写k从1循环到K 将μk 赋值为这个簇的均值。例如,某一个聚类中心 比如说是 μ2 被分配了一些训练样本 像是1,5,6,10 这个表明 c(1)=2,c(5)=2,c(6)=2,c(10)=2, 我们要做的是计算出这四个的平均值,然后用均值更新聚类中心μ2的位置。

    PS:那么如果存在一个没有点分配给它的聚类中心 ,那怎么办? 通常在这种情况下 我们就直接移除那个聚类中心。如果这么做了,最终将会得到K-1个簇,而不是K个簇,如果就是要K个簇 ,不多不少 ,但是有个没有点分配给它的聚类中心,你所要做的是重新随机找一个聚类中心。但是直接移除那个中心是更为常见的方法。不过在实际过程中,这个问题不会经常出现。

Optimization Objective

1. c(i)它表示的是 当前的样本 x(i) 所归为的那个簇的索引或者序号

2. 我们用 μk来表示 第 k 个簇的 聚类中心 (cluster centroid)

3. 我们用μc(i)来表示 x(i) 所属的那个簇 的聚类中心

Optimization objective:

K均值算法要做的事情就是,它将找到参数 c(i)和μi 也就是说 找到能够最小化 代价函数 J 的 c 和 μ。 这个代价函数 在K均值算法中有时候也叫做失真代价函数(distortion cost function)

Random Initialization

(1)K-Means算法中最重要的一步就是随机选择初始聚类中心,一般的方法是从样本中随机选择样本点作为聚类中心。

(2)由于初始化聚类中心的不同,这就可能导致K-Means算法会产生局部最优解。

(3)为了避免因为初始化导致的局部最优问题,我们可以选择

  • 随机选择样本点
  • 多次初始化聚类中心,然后计算K-Means的代价函数,根据失真代价函数的大小选择最优解。

Choosing the Number of Clusters

这个问题上没有一个非常标准的解答,或者能自动解决它的方法。 目前用来决定聚类数目的最常用的方法,仍然是通过看可视化的图或者看聚类算法的输出结果,或者其他一些东西来手动地决定聚类的数目。

《大数据——互联网大规模数据挖掘与分布式处理》中提到:给定一个合适的类簇指标,比如平均半径或直径,只要我们假设的类簇的数目等于或者高于真实的类簇的数目时,该指标上升会很缓慢,而一旦试图得到少于真实数目的类簇时,该指标会急剧上升。

  • 类簇的直径是指类簇内任意两点之间的最大距离。
  • 类簇的半径是指类簇内所有点到类簇中心距离的最大值。

    下图是当K的取值从2到9时,聚类效果和类簇指标的效果图:

    左图是K取值从2到7时的聚类效果,右图是K取值从2到9时的类簇指标的变化曲线,此处我选择类簇指标是K个类簇的平均质心距离的加权平均值。从上图中可以明显看到,当K取值5时,类簇指标的下降趋势最快,所以K的正确取值应该是5。

    Ag介绍的方法:

    1. 肘部法则

      通过失真代价函数关于K大小的函数曲线,代价函数会醉着K的增大逐渐减小,直至趋于稳定,由此我们可以判断,当拐角的时候是最适合的K大小,但是实际情况中,往往我们无法得到一个明显的拐点用于判断(例如右边的图)

    2. 根据应用场景需求设置

      具体来说 ,你要做的是从T恤生意的角度来思考这个事情 。然后问 “如果我有5个尺码分段, 那么我的T恤有多适合我的顾客? 我可以卖出多少T恤? 我的顾客将会有多高兴呢?” 从T恤生意的角度去考虑 ,其中真正有意义的是需要 ,更多的T恤尺寸来更好地满足我的顾客 ,还是说我需要 更少的T恤尺寸 我制造的T恤尺码就更少 我就可以将它们更便宜地卖给顾客?因此T恤的销售业务的观点 ,可能会提供给你一个 决定采用3个类还是5个类的方法。


Motivation

Motivation : Data Compression

压缩数据使得数据占用更少的计算机内存和硬盘空间 ,它还能给算法提速 ,它还能给算法提速 。如图,是将3维数据压缩成2维

Motivation : Visualization

假如我们已经收集了大量的统计数据集有关全世界不同国家的 ,或许第一个特征x1 是国家的 ,或者说是国内生产总值; x2是一个百分比 ,每人占有的GDP ;x3人类发展指数 ;x4预期寿命 ;x5x6等其它特征 我们也许会有大量的数据集 ,像这里这样的数据 ,对于每个国家可能有50个特征 ,我们有这样的众多国家的数据集。很难去绘制出一幅50维度的图

但如果你绘制出这些特征 ,你也许会发现在这里, 每个国家 用一个点z(i)表示, z(i)是一个二维数据。

可以用这二维数据概括。


Principal Component Analysis

这部分内容详见:http://blog.csdn.net/dingchenxixi/article/details/51643523

时间: 2024-08-24 02:33:34

Coursera机器学习-第八周-Unsupervised Learning(K-Means)的相关文章

Coursera机器学习-第六周-Advice for Applying Machine Learning

Evaluating a Learning Algorithm Desciding What to Try Next 先来看一个有正则的线性回归例子: 当在预测时,有很大的误差,该如何处理? 1.得到更多的训练样本 2.选取少量的特征 3.得到更多的特征项 4.加入特征多项式 5.减少正则项系数λ 6.增加正则项系数λ 很多人,在遇到预测结果并不理想的时候,会凭着感觉在上面的6个方案中选取一个进行,但是往往花费了大量时间却得不到改进. 于是引入了机器学习诊断,在后面会详细阐述, Evaluati

Coursera机器学习-第十周-Large Scale Machine Learning

Gradient Descent with Large Datasets Learning With Large Datasets 我们已经知道,得到一个高效的机器学习系统的最好的方式之一是,用一个低偏差(low bias)的学习算法,然后用很多数据来训练它. 下面是一个区分混淆词组的例子: 但是,大数据存在一个问题,当样本容量m=1,000时还行,但是当m=100,000,000呢?请看一下梯度下降的更新公式: 计算一个θ值需要对1亿个数据进行求和,计算量显然太大,所以时间消耗肯定也就大了.

Coursera机器学习-第三周-逻辑回归Logistic Regression

Classification and Representation 1. Classification Linear Regression (线性回归)考虑的是连续值([0,1]之间的数)的问题,而Logistic Regression(逻辑回归)考虑的是离散值(例如只能取0或1而不能取0到1之间的数)的问题.举个例子,你需要根据以往季度的电力数据,预测下一季度的电力数据,这个时候需要使用的是线性回归,因为这个值是连续的,而不是离散的.而当你需要判断这个人抽烟还是不抽烟的问题时,就需要使用逻辑回

Coursera机器学习-第五周-Neural Network BackPropagation

单元Cost Function and Backpropagation Cost Function 假设有样本m个.x(m)表示第m个样本输入,y(m)表示第m个样本输出,L表示网络的层数,sl表示在l层下,神经单元的总个数(不包括偏置bias units),SL表示输出单元的个数 当遇到二分问题时,SL=1,y=0or1, 遇到K分类问题时,SL=K,yi=1 例如遇到5分类问题时,输出并不是y=1,y=2,...y=5这类,而是标记成向量形式[10000]T,[01000]T.....[00

coursera机器学习技法笔记(13-14)——deep learning & RBFNetwork

13 Deep Learning 13.1 Deep Neural Network 将神经网络的层数增大,即称为深度学习.深度学习一般在输入数据为row data的时候使用,因为这些数据很难人为构造出合适的特征.深度学习一般面临如下挑战: (1)神经网络结构的决定:一般只能通过人的主观领域知识来决定神经网络结构,例如图像识别中的convolutional NNet,即认为相邻的像素才有必要连接到下一层的同一神经元. (2)模型复杂度:由于高层神经网络会有很多变量,因此显然会提高模型复杂度.但是一

软件——机器学习与Python,聚类,K——means

K-means是一种聚类算法: 这里运用k-means进行31个城市的分类 城市的数据保存在city.txt文件中,内容如下: BJ,2959.19,730.79,749.41,513.34,467.87,1141.82,478.42,457.64TianJin,2459.77,495.47,697.33,302.87,284.19,735.97,570.84,305.08HeBei,1495.63,515.90,362.37,285.32,272.95,540.58,364.91,188.63

Machine Learning第八周笔记

刚刚完成了Machine Learning第八周的课程,这一周主要介绍了K-means和降维,现将笔记整理在下面. Unsupervised Learning Clustering Unsupervised Learning: Introduction 今天我们开始介绍无监督式学习(unsupervised learning).下面两张图分别代表典型的有监督式学习和无监督式学习.一个典型的有监督式学习是从一个有标记的训练数据集出发(图中的两类数据点分别用圈圈和叉叉表示,圈圈一类,叉叉一类),目标

Stanford机器学习课程笔记(1) Supervised Learning and Unsupervised Learning

最近跟完了Andrew Ng的Machine Learning前三周的课,主要讲解了机器学习中的线性回归(Linear Regression)和逻辑回归(Logistic Regression)模型.在这里做一下记录. 另外推荐一本统计学习的书,<统计学习方法>李航,书短小精悍,才200多页,但是内容基本上覆盖了机器学习中的理论基础. 笔记<1> 主要了解一下监督学习和无监督学习 机器学习:是关于计算机基于数据 构建概率统计模型 并运用模型对数据进行预测与分析的一门学科. 机器学习

(转载)[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation

[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation http://blog.csdn.net/walilk/article/details/50922854