关闭

机器学习作业3 - 中心化的作用

标签: 机器学习数据
546人阅读 评论(1) 收藏 举报
分类:

中心化的作用

这次作业是周志华《机器学习》中习题10.3,比较简单,就是一道问答题:在对高维数据进行降维的时候,为什么往往需要中心化呢?当然这个问题随便百度一下就一大堆答案啦,在这里放上我的理解,如有不对之处,还请指教。

在高维数据中,不同维度的数据范围并不相同,例如Yale人脸数据集,眼睛部分的维度数据几乎都在0 – 50左右,而脸颊部分的维度数据可能在200左右。在一些更夸张的数据集上,不同维度的数据之间可能存在几个数量级的差距,如此一来,如果直接计算,数据量很小的维度很可能在降维的时候因为浮点计算的误差,而产生非常大的偏差,从而产生错误。

例如:房价数据集中,存在以下两个数据:“总价”和“同比上个月的价格波动率”,某套房子的总价为20000000.00,价格波动率为0.0015,如果直接进行降维,则产生的结果中,波动率可能有很大的误差。

中心化示例

因此,要将数据进行中心化。将所有维度上的数据减去其均值后,数据变成均值为0的较为稳定的数据(必要时还可进行标准化),此时进行计算,则不同维度之间的数据相差不会太大,可以有效降低误差,提高准确率。具体演示可见上方图片,图片来自知乎。

那么,针对作业中的如下中心化算法,进行解释:

将降维协方差矩阵中的 XXT 转化为 XHHTXT,其中 H=I1m11T

所以现在需要解释下H的作用是啥。前面说了,中心化的作用就是减掉平均值,那么怎么减呢?我们直接把H拆开,原式XH变为:

XI1mX11T(1)

其中I是单位矩阵,所以XI还是X,而后面就有意思了,假设矩阵Xmn的,也就是m维,每维n个数据,那么式子中的1就是n1的单位列向量,很显然,1mX1的结果是一个长m的列向量,每个数据对应矩阵X中每一维数据的平均值。

那么,1T就是一个1n的行向量。和前面的结果相乘,得到一个mn的矩阵,矩阵里每一行的每一个元素都是这一行的平均值。所以现在就可以看出公式1的结果了。它就是传说中减去了每一行(每一维)平均值以后的矩阵。

那么,XTHT也是同理,这里就不多说了,于是这一题也愉快的写完啦!

完结撒花~

0
0
查看评论

机器学习中的数学(2)——矩阵中心化、标准化的意义和作用

矩阵中心化和标准化的意义
  • liuweiyuxiang
  • liuweiyuxiang
  • 2017-08-25 10:33
  • 2847

数据科学与机器学习管道中预处理的重要性(一):中心化、缩放和K近邻

数据科学与机器学习管道中预处理的重要性(一):中心化、缩放和K近邻 数据 预处理 标记 机器学习 K近邻 阅读2816  原文链接:The importance of preproce...
  • starzhou
  • starzhou
  • 2016-05-22 09:20
  • 1463

特征选择与降维总结

特征选择   特征选择是一个很重要的数据预处理过程,在现实的机器学习任务中,获得数据之后通常进行特征选择。   进行特征选择的原因:   (1)    维数灾难问题   (2)    去除不相关特征,往往会降低学习任务的难度。 &...
  • WOJIAOSUSU
  • WOJIAOSUSU
  • 2017-03-13 23:11
  • 1284

机器学习(周志华) 参考答案 第十章 降维与度量学习

机器学习(周志华) 参考答案 第十章 降维与度量学习 机器学习(周志华西瓜书) 参考答案 总目录 http://blog.csdn.net/icefire_tyh/article/details/52064910 1.编程实现k邻近分类器,在西瓜数据集3.0α上比较其与决策树分类边...
  • icefire_tyh
  • icefire_tyh
  • 2016-08-18 18:41
  • 2924

西瓜书-answer- 第十章 降维与度量学习

http://blog.csdn.net/icefire_tyh/article/details/52243081 2.令err,err∗分别表示最近邻分类器与贝叶斯最优分类器的期望错误率,试证明:err∗≤err≤err∗(2−|Y||Y|−1∗err∗)。 由书226页可知 err=1−∑c∈...
  • liukai2918
  • liukai2918
  • 2018-01-18 12:46
  • 29

PCA降维

PCA降维本质: 将高维的数据通过线性变换投影到低维空间上去,前提条件是,找出最能够代表原始数据的投影方法,以保证降维后的数据不能失真,具体说就是,被PCA降掉的那些维度只能是噪声或是冗余的数据。PCA的目的就是“降噪”和“去冗余”。
  • forest_world
  • forest_world
  • 2016-03-18 19:35
  • 2561

Coursera机器学习 week3 逻辑回归 编程作业代码

这是Coursera上 Week3 的 “逻辑回归” 的编程作业代码。经过测验,全部通过。下面是 sigmoid.msigmoid.m 的代码:function g = sigmoid(z) %SIGMOID Compute sigmoid functoon % J = SIGMOID(z) c...
  • Artprog
  • Artprog
  • 2016-05-21 16:05
  • 3846

机器学习技法作业三题目16-18

说明: 1. 此处是台大林轩田老师主页上的hw7,对应coursera上“机器学习技法”作业二; 2. 本文给出大作业(13-15题)的代码; 3. Matlab代码; 4. 非职业码农,代码质量不高,变量命名也不规范,凑合着看吧,不好意思; 5. 对结果没把握。如有问题,欢迎指教,QQ:...
  • foreseerwang
  • foreseerwang
  • 2016-09-28 10:34
  • 437

浅谈高维数据可视化中的降维方法

我们生活在三维空间中,很难直接理解三维以上的空间(爱因斯坦等牛人除外)。但是爱因斯坦这样的人毕竟在人群中是少数,对大多数人来说,高维数据如何进行可视化呢? 聪明的人可以用其他的视觉通道对一些维度进行视觉编码,比如颜色、形状、朝向、体积、半径、表面覆盖物等等。。。不过有两个很显然的问题,1)用户理解...
  • u011001084
  • u011001084
  • 2016-05-13 16:30
  • 1946

数据降维方法小结

数据的形式是多种多样的,维度也是各不相同的,当实际问题中遇到很高的维度时,如何给他降到较低的维度上?前文提到进行属性选择,当然这是一种很好的方法,这里另外提供一种从高维特征空间向低纬特征空间映射的思路。数据降维的目的  数据降维,直观地好处是维度降低了,便于计算和可视化,其更深层次的意义在于有效信息...
  • yujianmin1990
  • yujianmin1990
  • 2015-09-05 10:22
  • 7911
    个人资料
    • 访问:5942次
    • 积分:210
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条