0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习算法的无监督学习的详细介绍

lviY_AI_shequ 来源:未知 作者:易水寒 2018-05-01 17:43 次阅读

‍‍‍‍Content:

9.1 Supervised Learning and Unsupervised Learning

9.2 K-means algorithm

9.3 Optimization objective

9.4 Random Initialization

9.5 Choosing the Number of Clusters

9.1 Supervised Learning and Unsupervised Learning

我们已经学习了许多机器学习算法,包括线性回归,Logistic回归,神经网络以及支持向量机。这些算法都有一个共同点,即给出的训练样本自身带有标记。比如,使用线性回归预测房价时,我们所使用的每一个训练样本是一个或多个变量(如面积,楼层等)以及自身带有的标记即房价。而使用Logistic回归,神经网络和支持向量机处理分类问题时,也是利用训练样本自身带有标记即种类,例如进行垃圾邮件分类时是利用已有的垃圾邮件(标记为1)和非垃圾邮件(标记为0),进行数字识别时,变量是每个像素点的值,而标记是数字本身的值。我们把使用带有标记的训练样本进行学习的算法称为监督学习(Supervised Learning)。监督学习的训练样本可以统一成如下形式,其中x为变量,y为标记。

显然,现实生活中不是所有数据都带有标记(或者说标记是未知的)。所以我们需要对无标记的训练样本进行学习,来揭示数据的内在性质及规律。我们把这种学习称为无监督学习(Unsupervised Learning)。所以,无监督学习的训练样本如下形式,它仅包含特征量。

图9-1形象的表示了监督学习与无监督学习的区别。图(1)表示给带标记的样本进行分类,分界线两边为不同的类(一类为圈,另一类为叉);图(2)是基于变量x1和x2对无标记的样本(表面上看起来都是圈)进行聚类(Clustering)。

机器学习算法的无监督学习的详细介绍

图9-1 一个监督学习与无监督学习的区别实例

无监督学习也有很多应用,一个聚类的例子是:对于收集到的论文,根据每个论文的特征量如词频,句子长,页数等进行分组。聚类还有许多其它应用,如图9-2所示。一个非聚类的例子是鸡尾酒会算法,即从带有噪音的数据中找到有效数据(信息),例如在嘈杂的鸡尾酒会你仍然可以注意到有人叫你。所以鸡尾酒会算法可以用于语音识别(详见wikipedia)。

quora上有更多关于监督学习与无监督学习之间的区别的讨论。

机器学习算法的无监督学习的详细介绍

图9-2 一些聚类的应用

9.2 K-means algorithm

聚类的基本思想是将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个"簇"(cluster)。划分后,每个簇可能有对应的概念(性质),比如根据页数,句长等特征量给论文做簇数为2的聚类,可能得到一个大部分是包含硕士毕业论文的簇,另一个大部分是包含学士毕业论文的簇。

K均值(K-means)算法是一个广泛使用的用于簇划分的算法。下面说明K均值算法的步骤:

随机初始化K个样本(点),称之为簇中心(cluster centroids);

簇分配: 对于所有的样本,将其分配给离它最近的簇中心;

移动簇中心:对于每一个簇,计算属于该簇的所有样本的平均值,移动簇中心到平均值处;

重复步骤2和3,直到找到我们想要的簇(即优化目标,详解下节9.3)

图9-3演示了以特征量个数和簇数K均为2的情况。

机器学习算法的无监督学习的详细介绍

图9-3 K均值算法的演示

通过上述描述,下面我们形式化K均值算法。

输入:

K (number of clusters)

Training set

算法:

Randomly initialize K cluster centroids

Repeat {

for i = 1 to m

for k = 1 to K

}

上述算法中,第一个循环对应了簇分配的步骤:我们构造向量c,使得c(i)的值等于x(i)所属簇的索引,即离x(i)最近簇中心的索引。用数学的方式表示如下:

第二个循环对应移动簇中心的步骤,即移动簇中心到该簇的平均值处。更数学的方式表示如下:

其中

如果有一个簇中心没有分配到一个样本,我们既可以重新初始化这个簇中心,也可以直接将其去除。

经过若干次迭代后,该算法将会收敛,也就是继续迭代不会再影响簇的情况。

在某些应用中,样本可能比较连续,看起来没有明显的簇划分,但是我们还是可以用K均值算法将样本分为K个子集供参考。例如根据人的身高和体重划分T恤的大小码,如图9-4所示。

图9-4K-means for non-separated clusters

9.3 Optimization objective

重新描述在K均值算法中使用的变量:

使用这些变量,定义我们的cost function如下:

所以我们的优化目标就是

结合9.2节所描述的算法,可以发现:

在簇分配步骤中,我们的目标是通过改变

在移动簇中心步骤中,我们的目标通过改变

注意,在K均值算法中,cost function不可能能增加,它应该总是下降的(区别于梯度下降法)。

9.4 Random Initialization

下面介绍一种值得推荐的初始化簇中心的方法。

确保K < m,也就是确保簇的数量应该小于样本数;

随机选择K个训练样本;

令K个簇中心

K均值算法可能陷入局部最优。为了减少这种情况的发生,我们可以基于随机初始化,多次运行K均值算法。所以,算法变成如下形式(以运行100次为例:效率与准确性的tradeoff)

For i = 1 to 100 {

Randomly initialize K-means.

Run K-means. Get

Compute cost function (distortion)

}

Pick clustering that gave lowest cost

9.5 Choosing the Number of Clusters

选择K的取值通常是主观的,不明确的。也就是没有一种方式确保K的某个取值一定优于其他取值。但是,有一些方法可供参考。

The elbow method: 画出代价J关于簇数K的函数图,J值应该随着K的增加而减小,然后趋于平缓,选择当J开始趋于平衡时的K的取值。如图9-5的(1)所示。

但是,通常这条曲线是渐变的,没有很显然的"肘部"。如图9-5的(2)所示。

机器学习算法的无监督学习的详细介绍

图9-5 代价J关于簇数K的曲线图

注意:随着K的增加J应该总是减少的,否则,一种出错情况可能是K均值陷入了一个糟糕的局部最优。

一些其他的方法参见wikipedia。

当然,我们有时应该根据后续目的( later/downstream purpose )来确定K的取值。还是以根据人的身高和体重划分T恤的大小码为例,若我们想将T恤大小划分为S/M/L这3种类型,那么K的取值应为3;若想要划分为XS/S/M/L/XL这5种类型,那么K的取值应为5。如图9-6所示。

机器学习算法的无监督学习的详细介绍

图9-6 划分T恤size的两种不同情况

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:Stanford机器学习笔记-9. 聚类(Clustering)

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机器学习模型市场前景如何

    当今,随着算法的不断优化、数据量的爆炸式增长以及计算能力的飞速提升,机器学习模型的市场前景愈发广阔。下面,AI部落小编将探讨机器学习模型市场
    的头像 发表于 02-13 09:39 53次阅读

    华为云 Flexus X 实例部署安装 Jupyter Notebook,学习 AI,机器学习算法

    前言 由于本人最近在学习一些机器算法,AI 算法的知识,需要搭建一个学习环境,所以就在最近购买的华为云 Flexus X 实例上安装了
    的头像 发表于 01-02 13:43 173次阅读
    华为云 Flexus X 实例部署安装 Jupyter Notebook,<b class='flag-5'>学习</b> AI,<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>

    传统机器学习方法和应用指导

    在上一篇文章中,我们介绍机器学习的关键概念术语。在本文中,我们会介绍传统机器学习的基础知识和多
    的头像 发表于 12-30 09:16 433次阅读
    传统<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法和应用指导

    时空引导下的时间序列自监督学习框架

    【导读】最近,香港科技大学、上海AI Lab等多个组织联合发布了一篇时间序列监督预训练的文章,相比原来的TS2Vec等时间序列表示学习工作,核心在于提出了将空间信息融入到预训练阶段,即在预训练阶段
    的头像 发表于 11-15 11:41 356次阅读
    时空引导下的时间序列自<b class='flag-5'>监督学习</b>框架

    NPU与机器学习算法的关系

    在人工智能领域,机器学习算法是实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源的需求也在不断增长。NPU作为一种专门为深度学习
    的头像 发表于 11-15 09:19 658次阅读

    人工智能、机器学习和深度学习存在什么区别

    人工智能指的是在某种程度上显示出类似人类智能的设备。AI有很多技术,但其中一个很大的子集是机器学习——让算法从数据中学习
    发表于 10-24 17:22 2558次阅读
    人工智能、<b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>存在什么区别

    【《大语言模型应用指南》阅读体验】+ 基础知识学习

    收集海量的文本数据作为训练材料。这些数据集不仅包括语法结构的学习,还包括对语言的深层次理解,如文化背景、语境含义和情感色彩等。 自监督学习:模型采用自监督学习策略,在大量标签文本数据
    发表于 08-02 11:03

    【《大语言模型应用指南》阅读体验】+ 基础篇

    章节最后总结了机器学习的分类:有监督学习监督学习、半监督学习、自
    发表于 07-25 14:33

    神经网络如何用监督算法训练

    标记数据的处理尤为有效,能够充分利用互联网上的海量数据资源。以下将详细探讨神经网络如何用监督算法进行训练,包括常见的
    的头像 发表于 07-09 18:06 932次阅读

    深度学习中的监督学习方法综述

    应用中往往难以实现。因此,监督学习在深度学习中扮演着越来越重要的角色。本文旨在综述深度学习中的监督学
    的头像 发表于 07-09 10:50 1010次阅读

    机器学习算法原理详解

    机器学习作为人工智能的一个重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器学习
    的头像 发表于 07-02 11:25 1435次阅读

    深度学习与传统机器学习的对比

    在人工智能的浪潮中,机器学习和深度学习无疑是两大核心驱动力。它们各自以其独特的方式推动着技术的进步,为众多领域带来了革命性的变化。然而,尽管它们都属于机器
    的头像 发表于 07-01 11:40 1574次阅读

    机器学习的经典算法与应用

    关于数据机器学习就是喂入算法和数据,让算法从数据中寻找一种相应的关系。Iris鸢尾花数据集是一个经典数据集,在统计学习
    的头像 发表于 06-27 08:27 1744次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的经典<b class='flag-5'>算法</b>与应用

    机器学习怎么进入人工智能

    ,人工智能已成为一个热门领域,涉及到多个行业和领域,例如语音识别、机器翻译、图像识别等。 在编程中进行人工智能的关键是使用机器学习算法,这是一类基于样本数据和模型训练来进行预测和判断的
    的头像 发表于 04-04 08:41 412次阅读

    机器学习基础知识全攻略

    监督学习通常是利用带有专家标注的标签的训练数据,学习一个从输入变量X到输入变量Y的函数映射。Y = f (X),训练数据通常是(n×x,y)的形式,其中n代表训练样本的大小,x和y分别是变量X和Y的样本值。
    发表于 02-25 13:53 319次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>基础知识全攻略