10.无监督学习

news2024/10/5 16:31:44

10.1 无监督学习的定义

 

监督学习:我们有一些列标签,然后用假设函数去拟合它

无监督学习:给出的数据不带任何标签。对于无监督学习来说,需要做的就是将数据输入到算法中,让算法找到一些隐含在数据中的结构,通过图中的这些数据,能通过算法找到一个结果就是这个数据集中的点可以分成两组分开的点集(簇)。这种能分出来的簇的算法被称为聚类算法

 10.2 K-means算法(K均值)

在聚类问题中,会给定一组未加标签的数据集,会希望有一个算法能够自动地将这些数据分成有紧密关系的子集或是簇。K-means算法是比较热门的最为广泛运用的聚类算法。

对于没有标签的数据来说,第一步随机生成两点(下图的红蓝两个×),也叫做聚类中心。随机两点是因为想把下图的数据聚类成两类(首先根据划分聚类的个数,随机设置聚类中心的位置)。然后遍历所有的数据,把每个数据分配到离它最近的坐标,对于同一个簇的数据计算它们坐标的中心位置,并设置为新的聚类中心,以此不断的迭代。

 K-means算法接受两个输入,一个是参数K,表示想从数据中聚类出的簇的个数;另一个就是一系列无标签的只用x来表示的数据集,并且约定x^{(i)}是一个n维实数向量。

K-means算法步骤:

  1. 随机初始化K个聚类中心,记作\mu _{1},\mu_{2},...,\mu_{K}\in \mathbb{R}^{n}
  2. K-means的内循环,簇分配步骤:对每个训练样本,使用变量c^{(i)}来表示第1到第K个最接近x^{(i)}的聚类中心;移动聚类中心:对于每个聚类中心,也就是对于k=[1,K],\mu_{k}就表示这个簇中所有点的均值。

假设有x^{(1)},x^{(3)},x^{(5)},x^{(6)},对应得c^{(1)}=c^{(3)}=c^{(5)}=c^{(6)}=2,表示都被分配给了聚类中心2,这个时候要算\mu_{2},就是把x^{(1)},x^{(3)},x^{(5)},x^{(6)}相加除以4。得到的结果就是聚类中心2移动的结果。

 如果存在一个没有点的聚类中心,最常见的做法就是直接移除那个聚类中心,但如果这样做得到的簇的总数为K-1而不是K。有时你的确需要K个簇时,这时可以重新随机初始化这个聚类中心得到K个簇并且每个点都有聚类中心。

K-means的常见应用:它可以用来解决分离不佳的簇的问题,具体情况如下:

10.2.1 K-means的初始化

初始化K-means聚类算法可以引导我们讨论如何使算法避开局部最优。

随机初始化聚类中心:当聚类数量很少时,如果初始化的位置不够好,会得到一个局部最优解,解决方案是多次随机初始化,从而得到一个全局最优解

通常用来初始化K-means聚类的方法是:随机挑选K个训练样本,设定\mu_{1},...,\mu_K,让它们等于这个K个样本。

10.2.2 聚类数量的选择

如何选择聚类数量或者说如何选择参数K的值?

当谈论到选择聚类数量的方法时,会谈到一个方法叫做“肘部法则”

肘部法则:所要做的改变K也就是聚类总数。先用一个类来聚类这意味着所有的数据都会分到一个类里,然后计算代价函数即畸形函数J。然后再用两个类来跑K-means聚类,可能多次随机初始化也可能随机初始化一次。

 得到聚类数量和代价的图像,根据肘部原则选取(一般不用);或者根据k均值聚类的目的来做判断,比如做衣服尺寸的聚类分析,根据市场需求,3个聚类or5个聚类更适合市场营销等等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/622844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA代码提示设置

1. 打开File -> setting -> Editor -> Live Templates 2. 点击中间框框中的右侧""号,选择 Template Group, 命名为MyGroup(随便起名字) 3. 选中 MyGroup 点击右侧""号,选择Live Template Abbreviation 快捷提示 Description 描述 Template tex…

探究核心技术最佳实践,云原生OLAP论坛火热开启!

2023/06/11,09:00-12:30,在DataFunSummit 2023:OLAP引擎架构峰会上,由阿里云资深技术专家,实时数仓 Hologres 研发负责人姜伟华老师出品的云原生OLAP论坛讲邀请来自阿里云、亚马逊云科技、三七互娱、聚水潭、诺亚财富的…

相机成像模型(二)

相机内参/外参 将上述公式整合到一起,得到世界坐标系中点(Xw,Yw,Zw)映射到像素坐标系中点(u,v)的计算过程,同时给出相机内参、外参的定义如下。 相机外参:描述世界坐标系与相机坐标系之间的变换关系,可将世界坐标系中的点变换至相机坐标系;依赖世界坐标系的定义。 相机内参…

ubuntu18.04LTS编译openssl库进行rsa加密解密

一、下载openssl库源码,下载地址:https://ftp.openssl.org/source/ 我下载的版本: 二、编译源码 1、解压源码: tar zxvf openssl-1.1.1u.tar.gz 2、进入到解压后的文件夹中: cd openssl-1.1.1u/3、执行配置&#x…

6.数组、排序和查找|Java学习笔记

文章目录 数组数组使用注意事项和细节数组赋值机制 排序查找相关链接 数组 数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。 数据类型 数组名[] new 数据类型[大小];int a[] 或者 int[] a 都可以。 int[] a {1,2,3};// 二维数组的声明方式有…

ThreeJS教程:山脉地形高度可视化

推荐:将 NSDT场景编辑器加入你的3D工具链 3D工具集: NSDT简石数字孪生 山脉地形高度可视化 一个山脉地形的高度可视化,具体说就是地形不同的高度设置不同的颜色值。有多种方式,下面就举一个设置顶点颜色.attributes.color的例子 …

魏副业而战:夸克网盘拉新如何引流推广?3个方法,让你多赚5W+

我是魏哥,与其在家躺平,不如魏副业而战! 夸克网盘拉新项目,相信大家都知道吧。 提到拉新,很多人不屑一顾,认为拉人头的项目,没什么前途。 这个想法,魏哥是反对的。 任何项目的存…

阿里巴巴 2023 版(Java 岗)面试突击手册,Github 已标星42K

程序员作为一个自带“高薪多金”标签的职业,收入要高于市场的平均薪资,即便是在 2023 年,程序员的薪资依然保持居高不下。 据拉勾发布的《2022 程序员群体职场洞察报告》显示计算机专业的应届本科生起薪普遍高于其他职业的平均薪资水平。77%的本科毕业生…

[数据库]数据库事务,管理等级,并发锁

1.数据库事务 数据库事务(transaction)是数据库的特性之一,在mysql数据库管理系统中,事务的管理是由引擎innordb实现的. 数据库事务可以理解为一个阶段中的活动,对于每一个窗口都有一个日志,日志中记录着本次事务中进行的改动(注意只是改动,查询不算).其中的两个指令commit,以…

ffplay设置延时

目录 理论 实验 不带参数 带参数 理论 使用ffplay播放视频源时,rtsp/rtmp等,会有一定的延时,这里我们可以通过设置ffplay播放参数将延时控制到最小。 ffplay.exe -i rtmp://xxxxxxx -fflags nobuffer 减少缓冲 也可以减少分析码流的时间…

chatgpt赋能python:Python就业岗位分析:机遇和挑战并存

Python就业岗位分析:机遇和挑战并存 Python是一种高级编程语言,它具有易于学习、易于阅读和维护的特点。自问世以来,Python一直是最受欢迎的编程语言之一,用于各种领域的开发、数据分析和科学计算等方面,因此Python岗…

【AI工具】 一款多SOTA模型集成的高精度自动标注工具(直接安装使用,附源码)

目录 高精度自动标注工具简介及其特性标注工具的安装开启自动标注 简介 X-AnyLabeling 是一款全新的交互式自动标注工具,其基于AnyLabeling进行构建和二次开发,在此基础上扩展并支持了许多的模型和功能,并借助Segment Anything和YOLO等主流…

Abp Vnext 搭建 ELK日志记录

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana 安装 Elasticsearch Kibana 的方法我前面文章有写 Abp中加入Logstash Serilog.AspNetCore Serilog.Formatting.Elasticsearch Serilog.Sinks.Async Serilog.Sinks.Elasticsearchp…

算法与数据结构(四)

一、哈希表 1、哈希表在使用层面上可以理解为一种集合结构 2、如果只有key,没有伴随数据value,可以使用HashSet结构(C中叫UnOrderedSet) 3、如果既有key,又有伴随数据value,可以使用HashMap结构(C中叫UnOrderedMap) 4、有无伴随数…

【C++】4.多媒体库:SFML库入门

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍SFML库使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#…

新能源车加速内卷,下一程拼什么

近日,一则长城汽车举报比亚迪的消息,瞬间刷爆了整个汽车圈,行业外对于这个事情多少有点懵,但业内对此却并不感到意外。如果说去年前年国内新能源汽车的“较量”,还是争夺入选资格的话,如今这种级别的“较量…

TensorFlow2进行CIFAR-10数据集动物识别,保存模型并且进行外部下载图片测试

首先,你已经安装好anaconda3、创建好环境、下载好TensorFlow2模块并且下载好jupyter了,那么我们就直接打开jupyter开始进行CIFAR10数据集的训练。 第一步:下载CIFAR10数据集 下载网址:http://www.cs.toronto.edu/~kriz/cifar-10…

【Vue.js】对Vue-element-admin做代理网关转发proxy配置

文章目录 环境配置配置vue.config.js演示为啥要这么做呢? 环境配置 .env.development # 开发环境 .env.production # 生产环境我们需要在两个环境变量文件中配置 VUE_APP_BASE_API /dev # 这里配置全局的API前置标识 开发环境我使用的/dev 生产环境用的是/prod V…

Word控件Spire.Doc 【其他】教程(8):在 Word 中嵌入多媒体文件

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

物联网开发中常用的几款传感器

传感器是物联网中的关键部件,在物联网开发中发挥着重要作用。目前,市场上的传感器种类繁多,它们有许多用途。有些传感器可能主要用于测量温度、压力、流量等物理量,有些则用于测量位置、距离、速度和加速度等物理量,还…