无监督学习方法总结

文章目录

    • 1. 无监督学习方法的关系和特点
      • 1.1 各种方法之间的关系
      • 1.2 无监督学习方法
      • 1.3 基础机器学习方法

1. 无监督学习方法的关系和特点

八种常用的统计机器学习方法:

  • 聚类方法(层次聚类、k均值聚类)
  • 奇异值分解(SVD)
  • 主成分分析(PCA)
  • 潜在语义分析(LSA)
  • 概率潜在语义分析(PLSA)
  • 马尔可夫链蒙特卡罗法(MCMC,包括Metropolis-Hastings算法、吉布斯抽样)
  • 潜在狄利克雷分配(LDA)
  • PageRank算法

三种常用的统计机器学习方法,非负矩阵分解(NMF)、变分推理、幂法
这些方法通常用于无监督学习的 聚类、降维、话题分析、图分析

1.1 各种方法之间的关系

在这里插入图片描述

1.2 无监督学习方法

  • 聚类有硬聚类和软聚类,层次聚类、k均值聚类是硬聚类方法
  • 高斯混合模型是软聚类方法
  • 层次聚类基于启发式算法,k均值聚类基于迭代算法,高斯混合模型学习通常基于EM算法

  • 降维有线性降维和非线性降维,PCA是线性降维方法。PCA基于SVD

  • 话题分析兼有聚类降维特点,有非概率模型、概率模型
  • LSA、NMF是非概率模型,PLSA、LDA是概率模型
  • PLSA不假设模型具有先验分布,学习基于极大似然估计
  • LDA假设模型具有先验分布,学习基于贝叶斯学习,具体地后验概率估计
  • LSA的学习基于SVD,NMF可以直接用于话题分析
  • PLSA的学习基于EM算法
  • LDA的学习基于吉布斯抽样或变分推理

  • 图分析的一个问题是链接分析,即结点的重要度计算
  • PageRank是链接分析的一个方法。PageRank通常基于幂法

在这里插入图片描述

1.3 基础机器学习方法

  • 矩阵分解基于不同假设:SVD基于正交假设,即分解得到的左右矩阵是正交矩阵,中间矩阵是非负对角矩阵
  • 非负矩阵分解基于非负假设,即分解得到的左右矩阵皆是非负矩阵
  • 含有隐变量的概率模型的学习有两种方法:迭代计算方法、随机抽样方法
  • EM算法 和 变分推理(包括变分EM算法)属于迭代计算方法
  • 吉布斯抽样 属于随机抽样方法
  • 变分EM算法是EM算法的推广
  • 矩阵的特征值与特征向量求解方法中,幂法是常用的算法
    在这里插入图片描述

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

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

相关文章

java继承序列化_java中序列化之子类继承父类序列化

当一个父类实现Serializable接口后,他的子类都将自动的实现序列化。以下验证了这一点:package Serial;import java.io.Serializable;public class SuperC implements Serializable {//父类实现了序列化int supervalue;public SuperC(int supervalue) {th…

LeetCode 1324. 竖直打印单词

1. 题目 给你一个字符串 s。请你按照单词在 s 中的出现顺序将它们全部竖直返回。 单词应该以字符串列表的形式返回,必要时用空格补位,但输出尾部的空格需要删除(不允许尾随空格)。 每个单词只能放在一列上,每一列中也…

SubSonic中的字段付值--MakeOld Update

根据设计当MakeOld后(在读取数据库后,或者手动调用),对记录(SubSonic生成的类)属性附值时,Sonic会检测这个Value是否与原来的不同,只有值不同时才会附值成功,并将该列添加到DirtyCol…

java从控制台输入数组_Java将控制台输入的一行整数转成整型数组

思路:将一行数据按字符串的形式读取进来。首先判断输入的字符串是不是空,为空的话,则不作任何操做。其次,将字符串按照指定方式切分为字符串数组,此处是按照空格切分,由于输入是按空格区分的。最后&#xf…

java私有表示标识_java里面的标识符、关键字和类型

1. 注释Java中有三种注释:(1) // -单行注释,注释从“//”开始,终止于行尾;(2) -多行注释,注释从““结束;(3) -是Java特有的doc注释,这种注释主要是为支持JDK工具Javadoc而采用的。Javadoc能识…

在Silverlight中使用Socket进行通信(1)Socket请求-回复方式的简易数据交换

很久之前用过Socket,由于近期项目需要用socket传输视频流,早上花了半小时回顾了一下。 Socket类简要介绍 socket下提供的主要类有四个,分别是socket,tcpclient,tcplistener,udpclient,他们的作用如下: Socket 含有大量…

LeetCode 692. 前K个高频单词(优先队列)

1. 题目 给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。 如果不同的单词有相同出现频率,按字母顺序排序。 示例 1: 输入: ["i", "love", "leetcode", &q…

LeetCode 583. 两个字符串的删除操作(动态规划)

1. 题目 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 示例: 输入: "sea", "eat" 输出: 2 解释: 第一步将"sea"变为"ea"&…

java listview控件_ListView普通列表控件的使用

Android中的列表空间非常灵活,可以自定义每一个列表项,实际上每一个列表项就是一个View,在Android定义了3个列表控件:ListView、ExpandableListView和Spinner,其中Spinner就是在Windows中常见的下拉列表框。ListView控…

【Kaggle】Intro to Machine Learning 第一次提交 Titanic

项目官网地址 新手可以参考这篇 8、Getting Started With Titanic,教你如何操作、提交等 自己简要再记录一下: Join the competition 各个 tab 下可以查看数据Data、代码编写Notebooks、讨论、排名、比赛规则、队伍点击 Notebooks,新建文…

在C#代码中执行BCS外部内容类型方法

在前面的博文中我们讨论了如何使用Business Connectivity Services对象模型栏获取已部署在SharePoint BCS中的外部内容类型。 本文中我们将学习如何获取一个ECT的BCS方法集合。并且还要通过Business Connectivity Services对象模型执行其中的Finder方法和SpecificFinder方法。…

java ndc_通过slf4j/log4j的MDC/NDC 实现日志追踪

在分布式系统或者较为复杂的系统中,我们希望可以看到一个客户请求的处理过程所涉及到的所有子系统\模块的处理日志。由于slf4j/log4j基本是日志记录的标准组件,所以slf4j/log4j成为了我的重点研究对象。slf4j/log4j支持MDC,可以实现同一请求的…

常用的匹配正则表达式

常用的匹配正则表达式 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式…

LeetCode 1091. 二进制矩阵中的最短路径(BFS)

1. 题目 在一个 N N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1)。 一条从左上角到右下角、长度为 k 的畅通路径, 由满足下述条件的单元格 C_1, C_2, ..., C_k 组成:相邻…

java 反射的弊端_java反射机制的一些学习心得小结

概述之前在了解Spring的类加载机制的时候,了解了java的反射机制。但是,我对反射理解一直不深。也一直有点疑惑:Spring为什么利用反射创建对象?直接new对象和依靠反射创建对象有什么区别?什么是动态加载类?什…

llog

/Files/TNTZWC/zxLog.rar转载于:https://www.cnblogs.com/TNTZWC/archive/2010/07/13/1776437.html

LeetCode 1015. 可被 K 整除的最小整数(数学)

1. 题目 给定正整数 K,你需要找出可以被 K 整除的、仅包含数字 1 的最小正整数 N。 返回 N 的长度。如果不存在这样的 N,就返回 -1。 示例 1: 输入:1 输出:1 解释:最小的答案是 N 1,其长度为…

网站公告js

<html><head><meta http-equiv"Content-Language" content"zh-cn"><meta http-equiv"Content-Type" content"text/html; charsetgb2312"><title>网站公告滚动</title></head><body> …

LeetCode 923. 三数之和的多种可能(双指针)

1. 题目 给定一个整数数组 A&#xff0c;以及一个整数 target 作为目标值&#xff0c;返回满足 i < j < k 且 A[i] A[j] A[k] target 的元组 i, j, k 的数量。 由于结果会非常大&#xff0c;请返回 结果除以 10^9 7 的余数。 示例 1&#xff1a; 输入&#xff1a;…

Java用sqlit拆分小数_如何将SQLite列中的分隔值拆分为多列

拉开一列是为Python非常简单(不确定关于SQLite)。这将您的DB行简化为一个字符串数组&#xff0c;并且应该与SQLite返回类似。text [Apple,Banana, Pear,Lemon, Peach, Apricot]for line in text:cols [c.strip() for c in line.split(,)]print(cols)应该输出每串线阵列&#…