Lecture 13 聚类 Clustering

13.1 无监督学习简介  Unsupervised Learning Introduction

现在开始学习第一个无监督学习算法:聚类。我们的数据没有附带任何标签,拿到的数据就是这样的:

例子:

(注:这里有考题,问哪些可以使用聚类算法)

13.2 K-means算法 K-Means Algorithm

K-Means 是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据聚类成不同的组。
迭代过程为:
1)选择K个随机的点,称为聚类中心(cluster centroids);
2)对于数据集中的每个数据,按照距离K个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点聚成一类。
3)计算每一个组的平均值,将该组所关联的中心点移动到平均值的位置。
4)重复步骤 2-3 直至中心点不再变化。

下面是一个聚类示例:

初始化随机的中心点,计算距离后分类,然后移动中心点

迭代很多次之后,得到最终聚类结果:

在没有非常明显组群的情况下,也可以使用K-means。例如下图中,使用K-means 确定要生产的 T-恤衫的三种尺寸:

13.3 优化目标 Optimization Objective

K-means最小化问题,是要最小化所有数据点与其所关联的聚类中心点之间的距离之和,因此 K-means的代价函数(又称畸变函数 Distortion function)为:

目标是使其最小

由于算法第一个循环用于减小 c(i) 引起的代价,而第二个循环则是用于减小 μi 引起的代价。会在每一次迭代都减小代价,不然便说明存在错误。

13.4 随机初始化 Random Initialization

随机初始化的聚类中心点的方法:
a) 选择K < m,即聚类中心点的个数要小于所有训练集实例的数量

b) 随机选择K个训练实例,然后令K个聚类中心分别与这K个训练实例相等

K-means的一个问题在于,如果初始化不好,有可能会停留在一个局部最小值处。通常需要运行多次 K-means算法,每一次都重新随机初始化,最后比较多次运行 K-means的结果,选择代价函数最小的结果。这种方法在K较小的时候(2-10)可行,如果K较大可能不会有明显地改善。

13.5 选择聚类数 Choosing the Number of Clusters

没有最好的选择聚类数的方法,通常是需要根据不同的问题人工选择。需要思考运用 K-means算法的动机,然后选择能最好服务于该目的的聚类数。
这里存在一个“肘部法则”:改变聚类数K,运行聚类算法,然后计算成本函数(畸变函数)J。 有可能会得到一条类似于肘部的曲线:

上图在 3 的时候达到一个肘点。在此之后,畸变值就下降的非常慢,那么我们就选K = 3。

但是大部分情况下图像会像右图一样没有肘点。就需要人工选择。 例如,根据客户需求选择 T-恤的尺寸数:

附,参考黄海广笔记:

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类的更多相关文章

  1. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测

    Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...

  2. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统

    Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...

  3. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维

    Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是 ...

  4. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机

    Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machi ...

  5. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 11—Machine Learning System Design 机器学习系统设计

    Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件 ...

  6. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 10—Advice for applying machine learning 机器学习应用建议

    Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多 ...

  7. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 1_Introduction and Basic Concepts 介绍和基本概念

    目录 1.1 欢迎1.2 机器学习是什么 1.2.1 机器学习定义 1.2.2 机器学习算法 - Supervised learning 监督学习 - Unsupervised learning  无 ...

  8. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别

    Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...

  9. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 17—Large Scale Machine Learning 大规模机器学习

    Lecture17 Large Scale Machine Learning大规模机器学习 17.1 大型数据集的学习 Learning With Large Datasets 如果有一个低方差的模型 ...

随机推荐

  1. BZOJ1833 ZJOI2010 count 数字计数 【数位DP】

    BZOJ1833 ZJOI2010 count 数字计数 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包 ...

  2. CODEVS3013 单词背诵 【Hash】【MAP】

    CODEVS3013 单词背诵 题目描述 Description 灵梦有n个单词想要背,但她想通过一篇文章中的一段来记住这些单词. 文章由m个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要 ...

  3. LOJ #3049. 「十二省联考 2019」字符串问题

    LOJ #3049. 「十二省联考 2019」字符串问题 https://loj.ac/problem/3049 题意:给你\(na\)个\(A\)类串,\(nb\)个\(B\)类串,\(m\)组支配 ...

  4. LeetCode Word Abbreviation

    原题链接在这里:https://leetcode.com/problems/word-abbreviation/description/ 题目: Given an array of n distinc ...

  5. 实例-QPSK的fpga实现

  6. XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 (转)

    XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 前几天安装了xampp for pc 1.7.4版本. 装好后在本地电脑通过https://localhost访问正常. 然后换了台电脑 ...

  7. 树的遍历——pat1043

    http://pat.zju.edu.cn/contests/pat-a-practise/1043 给予N个数字组成二叉搜索树,判断这个数列是否由先序遍历得出或是镜像先序遍历得出,若是则输出相应的后 ...

  8. Unit01: jQuery概述 、 jQuery选择器 、 jQuery操作DOM

    Unit01: jQuery概述 . jQuery选择器 . jQuery操作DOM 使用jQuery放大字体: <!DOCTYPE html> <html> <head ...

  9. HTML5的LocalStorage和sessionStorage的使用

    本文转载自:http://www.cnblogs.com/qiutianlidehanxing-blog/p/5953746.html html5中的Web Storage包括了两种存储方式:sess ...

  10. linux 查看字体

    fc-list   #字体列表 fc-list :lang=zh  #中文字体 fc-match -v "字体名" # 查看字体详情