机器学习——无监督学习

聚类

问题描述

训练数据: D = { x 1 , x 2 , ⋯ , x m } D=\lbrace x_1,x_2,\cdots,x_m\rbrace D={x1,x2,,xm},其中每个数据为 n n n 维向量 x i = ( x i 1 , x i 2 , ⋯ , x i n ) x_i=(x_{i1},x_{i2},\cdots,x_{in}) xi=(xi1,xi2,,xin)
任务:将 D D D 划分为 k k k 个互不相交的簇。

样本相似性的度量

有序属性的度量

闵可夫斯基距离:
d i s t m k ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 / p , p ≥ 1 {\rm dist_{mk}}(x_i,x_j)=(\sum\limits_{u=1}^{n}|x_{iu}-x_{ju}|^p)^{1/p},\ p\ge1 distmk(xi,xj)=(u=1nxiuxjup)1/p, p1

余弦相似度:
s i j ( x i , x j ) = x i T x j ∣ ∣ x i ∣ ∣ ⋅ ∣ ∣ x j ∣ ∣ s_{ij}(x_i,x_j)=\frac{x_i^{T}x_j}{||x_i||\cdot ||x_j||} sij(xi,xj)=∣∣xi∣∣∣∣xj∣∣xiTxj

马氏距离:
D M ( x ) = ( x − μ ) T Σ − 1 ( x − μ ) D_M(x)=\sqrt{(x-\mu)^T\Sigma^-1(x-\mu)} DM(x)=(xμ)TΣ1(xμ)
其中 Σ \Sigma Σ 为样本集协方差矩阵。

为啥不用相关系数呢?

无序属性的度量

VDM距离:
V D M p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a − m u , b , i m u , b ∣ p {\rm VDM}_p(a,b)=\sum\limits_{i=1}^{k}|\frac{m_{u,a,i}}{m_{u,a}}-\frac{m_{u,b,i}}{m_{u,b}}|^p VDMp(a,b)=i=1kmu,amu,a,imu,bmu,b,ip
其中, m u , a m_{u,a} mu,a 表示在属性 u u u 上取 a a a 的样本数, m u , a , i m_{u,a,i} mu,a,i 表示在 i i i 簇中属性 u u u 上取 a a a 的样本数。

直观上理解,如果两个取值越像,则其在每个簇的差异应该也越小

混合属性的度量

M i n k o V D M p ( x i , x j ) = ( ∑ u = 1 n c ∣ x i u − x j u ∣ p + ∑ u = n c + 1 n V D M p ( x i u , x j u ) ) 1 p {\rm MinkoVDM}_p(x_i,x_j)=(\sum\limits_{u=1}^{n_c}|x_{iu}-x_{ju}|^p+\sum\limits_{u=n_c+1}^{n}{\rm VDM}_p(x_{iu},x_{ju}))^\frac{1}{p} MinkoVDMp(xi,xj)=(u=1ncxiuxjup+u=nc+1nVDMp(xiu,xju))p1

聚类方法

划分聚类——K-Means

在这里插入图片描述

关于 K-Means 只适用于“团状”数据的问题,感觉换一种距离度量方式就能解决了吧?

层次聚类

自底向上:先将每个样本看作独立的簇,然后按照相似度进行合并,如 AGNES 算法。

自顶向下:将所有样本看作一个簇,然后逐渐细分,如 DIANA 算法。

密度聚类

在这里插入图片描述
DBSCAN 算法:
在这里插入图片描述

模型聚类

n n n 维随机变量的高斯分布:
在这里插入图片描述
上式可以简记为 p ( x ∣ u , Σ ) p(x|u,\Sigma) p(xu,Σ)

高斯混合模型:
在这里插入图片描述
k k k 个高斯分布混合而成, α i \alpha_i αi为权重。

在这里插入图片描述

关联分析

问题描述

挖掘形如 x → y x\rightarrow y xy的蕴含式(简单关联:无先后顺序、序列关联:有先后顺序)

支持度:
S u p p o r t ( A ∩ B ) = F r e q ( A ∩ B ) N {\rm Support}(A\cap B)=\frac{{\rm Freq}(A\cap B)}{N} Support(AB)=NFreq(AB)
置信度:
C o n f i d e n c e = F r e q ( A ∩ B ) F r e q ( A ) {\rm Confidence}=\frac{{{\rm Freq}(A\cap B)}}{{\rm Freq}(A)} Confidence=Freq(A)Freq(AB)

Apriori 算法

如果事件 A 包含 k k k 个元素,则称其为 k k k 项集,若 A 的最小支持度超过阈值,则进一步称其为频繁 k k k 项集。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试背了4年“锅“,测试缺陷总结整理(细致)“锅“终丢掉了...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 缺陷分析也是测试…

MySQL——变量与游标

今天我们来一起学习MySQL中的变量(系统变量与用户变量),以及什么是游标,游标如何使用? 1. 变量 在 MySQL 数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终…

RabbitMQ快速上手(延迟队列)

安装 官网 参考文章: ​ https://blog.csdn.net/miaoye520/article/details/123207661 ​ https://blog.csdn.net/lvoelife/article/details/126658695 安装Erlang,并添加环境变量ERLANG_HOME,命令行运行erl 安装rabbitmq,rab…

时间序列预测的20个基本概念总结

1、时间序列 时间序列是一组按时间顺序排列的数据点 比如: 每小时的气压每年的医院急诊按分钟计算的股票价格 2、时间序列的组成部分 时间序列数据有三个主要组成部分。 趋势季节性残差或白噪声 3、趋势 在时间序列中记录的长期缓慢变化/方向。 4、季节性 …

【软件架构模式】—微内核架构

欢迎回到软件架构模式博客系列。这是本系列的第 4 章,我们将讨论微内核架构模式 概述: 内核模式也被称为插件架构模式。将附加应用程序功能作为插件添加到核心应用程序,以提供可扩展性以及功能分离和隔离。 这种模式由两种类型的架构组件组…

SpringSecurity实现前后端分离登录授权详解

在介绍完SpringSecurity实现前后端分离认证之后,然后就是SpringSecurity授权,在阅读本文章之前可以先了解一下作者的上一篇文章SpringSecurity认证SpringSecurity实现前后端分离登录token认证详解_山河亦问安的博客-CSDN博客。 目录 1. 授权 1.1 权限系…

ERR! code ERR_SOCKET_TIMEOUT

问题 安装npm包,终端报错ERR! code ERR_SOCKET_TIMEOUT ERR! code ERR_SOCKET_TIMEOUT详细问题 笔者运行以下命令重新安装依赖项: npm install控制台报错,具体报错信息如下 npm ERR! code ERR_SOCKET_TIMEOUT npm ERR! network Socket t…

360手机刷机 360手机Xposed框架安装 360手机EdXposed、LSP 360手机xposed模块

360手机刷机 360手机Xposed框架安装 360手机EdXposed、LSP 360手机xposed模块 参考:360手机-360刷机360刷机包twrp、root 360刷机包360手机刷机:360rom.github.io 【前言】 手机须Twrp或root后,才可使用与操作Xposed安装后,重启…

Spring Boot 中的 @Transactional 注解是什么,原理,如何使用

Spring Boot 中的 Transactional 注解是什么,原理,如何使用 简介 在 Spring Boot 中,Transactional 注解是非常重要的一个注解,用于实现数据库事务的管理。通过使用 Transactional 注解,我们可以很方便地对事务进行控…

java + opencv对比图片不同

1,去官网下载opencv,下载的时候需要注册一个 Oracle 账户,分分钟就能注册。然后安装。我下的是4.7的。 2,找到jar包放进项目里 3,项目结构,比较简单 4,把下载的文件放进C盘 5,主类代…

GitLab无法提交大文件的问题

GitLab无法提交大文件的问题 问题描述 GitLab 当提交大文件时遇到如下报错 MYOPS001MYOPS001 MINGW64 /e/work/GitLab/system-deploy (main) $ git push Enumerating objects: 91, done. Counting objects: 100% (91/91), done. Delta compression using up to 16 threads C…