线性转化与坐标轴收缩(linear transform and ollapsed on some axis)
2014-04-14 22:42
309 查看
最近阅读了一篇无觅网上的文章,题目叫"Neural network ,manifolds ,topology",作者尝试从流形的角度解释deep neural network。Blog的链接为:http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
在里面作者针对每一层的feedforward projection W,进行了讨论。其中一点就是W的行列式。作者认为W的行列式如果为0,将会dataset gets collapsed on some axis。我一直不是十分理解这句话,于是就做了一个最简单的实验:
假设有3个两维的数据点data=[5 6 1 ;2 3 1],然后线性变化矩阵分别是A=[ 1 2; 2 4];B= [1 7 ; 0 2],|A|=0,|B|=2.
我们有C1=A*data ; C2 = B*data;
得到的效果如下所示,菱形点表示的是data中的三个数,星形点表示的C1中的数据点,十字星点表示的是C2中的数据点:
![](http://img.blog.csdn.net/20140414223251687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fycmllcmx4a3N1cGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
为了更加清楚的表示他们的关系,我将各个点各自连接起来:
![](http://img.blog.csdn.net/20140414223615546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fycmllcmx4a3N1cGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
我们发现,由于矩阵A是低秩的,其行列式为0,那么它将输入数据(红色的菱形块)之间的三角形关系全部映射到了本身的坐标轴y=2x上去了(蓝色星形上的直线)(实现了降维).而B矩阵由于其行列式不为0,相当于对三角形进行了一定的拉伸和旋转,得到了绿色十字星所示的效果(仍然是三角形),仍然保证了拓扑关系的不变性。
很有意思的运算,因为PCA就是属于其中的一个情况。
在里面作者针对每一层的feedforward projection W,进行了讨论。其中一点就是W的行列式。作者认为W的行列式如果为0,将会dataset gets collapsed on some axis。我一直不是十分理解这句话,于是就做了一个最简单的实验:
假设有3个两维的数据点data=[5 6 1 ;2 3 1],然后线性变化矩阵分别是A=[ 1 2; 2 4];B= [1 7 ; 0 2],|A|=0,|B|=2.
我们有C1=A*data ; C2 = B*data;
得到的效果如下所示,菱形点表示的是data中的三个数,星形点表示的C1中的数据点,十字星点表示的是C2中的数据点:
为了更加清楚的表示他们的关系,我将各个点各自连接起来:
我们发现,由于矩阵A是低秩的,其行列式为0,那么它将输入数据(红色的菱形块)之间的三角形关系全部映射到了本身的坐标轴y=2x上去了(蓝色星形上的直线)(实现了降维).而B矩阵由于其行列式不为0,相当于对三角形进行了一定的拉伸和旋转,得到了绿色十字星所示的效果(仍然是三角形),仍然保证了拓扑关系的不变性。
很有意思的运算,因为PCA就是属于其中的一个情况。
相关文章推荐
- some cognition on volume testing,stress testing and performance testing
- Some Articles on WCF Instance and Concurrency Management
- 深度学习框架Keras学习系列(一):线性代数基础与numpy使用(Linear Algebra Basis and Numpy)
- Methods to transform made the effort and additionally wedding date about Diesel-engined keep an eye on
- Some insights on PDM, ADM and Schedule
- Some tips on using HashSet<T> and List<T>
- Installing VMware Tools on Kali Linux and Some Debugging Basics
- Disable testSuite and testCase on some environment
- Some Monitoring and Troubleshooting Tools on JDK
- OpenInventor笔记:线性坐标轴PoLinearAxis的使用
- SQL Injection Attacks and Some Tips on How to Prevent Them
- 打破ImageNet中的线性分类器Breaking Linear Classifiers on ImageNet
- gprof, Valgrind and gperftools - an evaluation of some tools for application level CPU profiling on
- some articles about linear-Z buffer and W-buffer
- Some insights on PDM, ADM and Schedule
- Some insights on PDM, ADM and Schedule
- 线性回归与梯度下降(linear regression and gradient descent)
- Texture Coordinates and Visuals on 3D surfaces 纹理坐标
- Linear线性坐标投影
- Give some advice on how to learn html,css,and javascript for c developers