无监督学习:Linear Dimension Reduction(线性降维)
一 Unsupervised Learning
把Unsupervised Learning分为两大类:
- 化繁为简:有很多种input,进行抽象化处理,只有input没有output
- 无中生有:随机给一个input,自动画一张图,只有output没有input

二 Clustering
有一大堆image ,把他们分为几大类,给他们贴上标签,将不同的image用相同的 cluster表示。 也面临一个问题,要有多少种cluster呢? 有两种clustering的方法:

2.1 K-means(K均值)

2.2 Hierarchical Agglomerative Clustering (HAC阶层式汇聚分群法)


注:如果说K均值算法的问题是不好却确定分为几类,那么HAC的问题在于不知将分类门槛划在哪一层。
三 Distributed Representation(分布式表征)
光做clustering是很卡的,有的个体并不只属于一个大类,所以需要一个vector来表示在各个类中的概率。这样,从一个(高维)图片到一个各个属性概率(低维)就是一个Dimension Reduction。

四 Dimension Reduction
为什么说降维是很有用的呢? 有时候在3D很复杂的图像到2D就被简化了。

在MNIST训练集中,很多28*28维的向量转成一个image看起来根本不像数字,其中是digit的vector很少,所以或许我们可以用少于28*28维的向量来描述它。 比如下图一堆3,每一个都是28*28维的向量,但是,我们发现,它们仅仅是角度的不同,所以我们可以加上角度值进行降维,来简化表示。

那我们应该怎样做Dimension Reduction呢? 就是要找一个function。有两个方法:
- Feature selection特征选择:比如在左图二维坐标系中,我们发现X1轴对样本点影响不大,那么就可以把它拿掉。
- PCA 主成分分析: 输出 z=Wx输入,找到这个向量W。

在现实中我们很难确定某个因素是否真的不起作用,所以下边重点介绍一个PCA
4.1 Principle Component Analysis (PCA) 主成分分析

在一维的例子里,我们要找 z1 方差最大的情况,当维度升高到2维,找 z2 方差最大,为了避免与 z1 重复,所以规定 w1 与 w2 垂直。依次方法可进行高维计算。将所有w转置一下,组成一个高维向量,就是我们要找的W。

补充一些数学知识(为了求解w):



4.2 PCA - decorrelation

4.3 PCA – Another Point of View
每个手写识别,都是由基础组件构成的,把基础组件加起来,得到一个数字。 对7来说,C1\C2\C3\C4\C5分别为1\0\1\0\1

那我们如何找到 u1-uK这K个Vector呢? 我们要找K个vector使重构误差越小越好。

转化为Matrix。

怎么解这个问题呢?SVD方法: matrix X 可以用SVD拆成 matrix U * matrix ∑ * matrix V。

这样w已经通过SVD求出来了,Ck怎么求呢?


4.4 Weakness of PCA

参考:
http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/dim%20reduction%20%28v5%29.pdf
https://blog.csdn.net/soulmeetliang/article/details/73309360
无监督学习:Linear Dimension Reduction(线性降维)的更多相关文章
- 斯坦福机器学习视频笔记 Week8 无监督学习:聚类与数据降维 Clusting & Dimensionality Reduction
监督学习算法需要标记的样本(x,y),但是无监督学习算法只需要input(x). 您将了解聚类 - 用于市场分割,文本摘要,以及许多其他应用程序. Principal Components Analy ...
- 14-1-Unsupervised Learning ---dimension reduction
无监督学习(Unsupervised Learning)可以分为两种: 化繁为简 聚类(Clustering) 降维(Dimension Reduction) 无中生有(Generation) 所谓的 ...
- 【机器学习基础】无监督学习(1)——PCA
前面对半监督学习部分作了简单的介绍,这里开始了解有关无监督学习的部分,无监督学习内容稍微较多,本节主要介绍无监督学习中的PCA降维的基本原理和实现. PCA 0.无监督学习简介 相较于有监督学习和半监 ...
- 机器学习,数据挖掘,统计学,云计算,众包(crowdsourcing),人工智能,降维(Dimension reduction)
机器学习 Machine Learning:提供数据分析的能力,机器学习是大数据时代必不可少的核心技术,道理很简单:收集.存储.传输.管理大数据的目的,是为了“利用”大数据,而如果没有机器学习技术分析 ...
- 【机器学习基础】无监督学习(2)——降维之LLE和TSNE
在上一节介绍了一种最常见的降维方法PCA,本节介绍另一种降维方法LLE,本来打算对于其他降维算法一并进行一个简介,不过既然看到这里了,就对这些算法做一个相对详细的学习吧. 0.流形学习简介 在前面PC ...
- Machine Learning Algorithms Study Notes(4)—无监督学习(unsupervised learning)
1 Unsupervised Learning 1.1 k-means clustering algorithm 1.1.1 算法思想 1.1.2 k-means的不足之处 1 ...
- 学习笔记TF057:TensorFlow MNIST,卷积神经网络、循环神经网络、无监督学习
MNIST 卷积神经网络.https://github.com/nlintz/TensorFlow-Tutorials/blob/master/05_convolutional_net.py .Ten ...
- <机器学习>无监督学习算法总结
本文仅对常见的无监督学习算法进行了简单讲述,其他的如自动编码器,受限玻尔兹曼机用于无监督学习,神经网络用于无监督学习等未包括.同时虽然整体上分为了聚类和降维两大类,但实际上这两类并非完全正交,很多地方 ...
- Python 机器学习实战 —— 无监督学习(上)
前言 在上篇<Python 机器学习实战 -- 监督学习>介绍了 支持向量机.k近邻.朴素贝叶斯分类 .决策树.决策树集成等多种模型,这篇文章将为大家介绍一下无监督学习的使用.无监督学习顾 ...
随机推荐
- php微信支付测试开发(流程已通)
必要条件: appid //公众号后台开发者中心获得(和邮件内的一样) mchid//邮件内获得 key//商户后台自己设置 appsecret //公众号开发者中心获得 两个证书文件,邮件内 ...
- spring 获取bean的几种方式
1.读取xml文件的方式,这种在初学入门的时候比较适用 . ApplicationContext applicationContext = new ClassPathXmlApplicationCon ...
- 【zabbix】zabbix3.0部署手册
1.环境准备 Centos 6.X 2.数据库准备 默认centos yum源中mysql包的版本号为5.1,为了能使zabbix 3.0能达到最好的性能效果,安装最新版的mysql数据库. yum ...
- tensorflow:typeerror:‘noneType’ object is not callable
程序运行报错 typeerror: ‘noneType’ object is not callable 解决方法:删除缓存文件,再次运行没有错误 删除__pycache__文件夹
- ubuntu把文件移动到指定的文件夹
有个文件a.txt在/etc下,想把它移动到/etc/fuck文件夹中 cd /etc/fuck sudo mv a.txt 要移动到的文件夹 没报错就成功了
- 【Java 语言生态篇】Junit 测试单元
01 概述 JUnit是一个由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework).Junit测试是白盒测试.JUn ...
- Eureka 集群
集群搭建是在单节点基础上做的 单节点注册中心搭建-->https://www.cnblogs.com/chenglc/p/9561295.html 在单节点的基础上修改配置文件 bootstra ...
- 《C prime plus (第五版)》 ---第11章 字符串和字符串函数---3
字符串函数总结: 下面是头文件 string.h 中定义的函数: 序号 函数 & 描述 1 void *memchr(const void *str, int c, size_t n)在参数 ...
- HDU 4405 Aeroplane chess:期望dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4405 题意: 你在下简化版飞行棋... 棋盘为一个线段,长度为n. 上面有m对传送门,可以直接将你从a ...
- Python 微信通知 先挖个坑
桑心病狂,试试把报警信息发到微信上 原文 https://segmentfault.com/a/1190000009717078