• 无监督学习: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来说,C1C2C3C4C5分别为111

    那我们如何找到 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

  • 相关阅读:
    .net core读取appsettings.config中文乱码问题
    vs2017错误:当前页面的脚本发生错误
    VS Code中无法识别npm命令
    Visual Studio报错/plugin.vs.js,行:1074,错误:缺少标识符、字符串或数字
    记录一次在生成数据库服务器上出现The timeout period elapsed prior to completion of the operation or the server is not responding.和Exception has been thrown by the target of an invocation的解决办法
    Java集合框架
    java hash表
    Java Dictionary 类存储键值
    java数据结构 栈stack
    java封装
  • 原文地址:https://www.cnblogs.com/Terrypython/p/9456991.html
Copyright © 2020-2023  润新知