一 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

最新文章

  1. WebConfig配置
  2. 首先,编写一个类ChongZai,该类中有3个重载的方法void print();其次, 再编写一个主类来测试ChongZai类的功能
  3. POJ 3071 Football(概率DP)
  4. 对.Net WebSocket 和Socket的原理的思考
  5. jquery ui autoComplete自动完成
  6. Spring AOP实现方式二【附源码】
  7. DataTable 无法转换的错误
  8. C++指针和引用简介
  9. c++:自己动手实现线程安全的c++单例类
  10. Flex读取txt文件中的内容(一)
  11. CocosCreator 小知识
  12. Linq to XML操作XML文件
  13. Java String与Stringbuffer
  14. Winform嵌入CEF(非正常用法)
  15. /proc详解
  16. GENA
  17. 术语-服务:SaaS
  18. [Python] Scipy and Numpy(1)
  19. spingboot集成jpa(二)
  20. 如何搭建Spring MVC 框架---Hello World

热门文章

  1. 使用AXIS2作为Client訪问WebService
  2. Mac环境,React native错误解决方案
  3. phpPHP创建创建jpg格式图片以及压缩图片(转)
  4. 5.JavaScript优化及导航菜单背后的秘密
  5. 《C prime plus (第五版)》 ---第11章 字符串和字符串函数
  6. 51Nod 1294 修改数组 —— LIS
  7. POJ3450 Corporate Identity —— 后缀数组 最长公共子序列
  8. cmd 环境变量设置方法详细解释
  9. Matlab的publish功能和cell功能
  10. NOIP 2016【蚯蚓】