ufldl学习笔记与编程作业:Vectorization(向量化/矢量化)
2014-08-05 21:44
369 查看
ufldl学习笔记与编程作业:Vectorization(向量化/矢量化)
ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践。
在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl。
于是最近就开始搞这个了,教程加上matlab编程,就是完美啊。
新教程的地址是:http://ufldl.stanford.edu/tutorial/
本节学习链接:http://ufldl.stanford.edu/tutorial/supervised/Vectorization/
什么是向量化?怎么样向量化?
简单来说,向量化在代码的体现就是,把一些for循环的操作,用矩阵操作的形式代替。
教程中举了一些例子,可以去看看。
比如说,线性回归,求预测值时,普通做法是一个example求一次,m个example就得循环m次。
而向量化操作,用一个矩阵相乘的方法,一次性把m个example的预测值都求出来。
个人觉得,要实现向量化编程,必须个人头脑中对模型中主要数据(矩阵)都要有清晰地印象,特别是矩阵的维度。
为什么要向量化?
1 代码简洁;2 速度快。
主要是速度快。一般你自己所写的一些循环操作是比MATLAB封装好的矩阵操作是慢很多的。因为那些MATLAB数值计算库是根据科学家的并行运算的研究写出来的。当然,你牛逼的话,或许可以写出比那些库更快的代码。
当初我就是自不量力,在cuda上写一些核函数做运算,后来结果当然是比cublas慢很多。
因此,想写一个比caffe快的cnn框架,就得高一段落了。
这节的编程作业是对线性回归和逻辑回归进行向量化编程。
由于我之前已经是向量化编程了,所以这里就不列代码了。
本文作者:linger
本文链接:http://blog.csdn.net/lingerlanlan/article/details/38390429
ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践。
在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl。
于是最近就开始搞这个了,教程加上matlab编程,就是完美啊。
新教程的地址是:http://ufldl.stanford.edu/tutorial/
本节学习链接:http://ufldl.stanford.edu/tutorial/supervised/Vectorization/
什么是向量化?怎么样向量化?
简单来说,向量化在代码的体现就是,把一些for循环的操作,用矩阵操作的形式代替。
教程中举了一些例子,可以去看看。
比如说,线性回归,求预测值时,普通做法是一个example求一次,m个example就得循环m次。
而向量化操作,用一个矩阵相乘的方法,一次性把m个example的预测值都求出来。
个人觉得,要实现向量化编程,必须个人头脑中对模型中主要数据(矩阵)都要有清晰地印象,特别是矩阵的维度。
为什么要向量化?
1 代码简洁;2 速度快。
主要是速度快。一般你自己所写的一些循环操作是比MATLAB封装好的矩阵操作是慢很多的。因为那些MATLAB数值计算库是根据科学家的并行运算的研究写出来的。当然,你牛逼的话,或许可以写出比那些库更快的代码。
当初我就是自不量力,在cuda上写一些核函数做运算,后来结果当然是比cublas慢很多。
因此,想写一个比caffe快的cnn框架,就得高一段落了。
这节的编程作业是对线性回归和逻辑回归进行向量化编程。
由于我之前已经是向量化编程了,所以这里就不列代码了。
本文作者:linger
本文链接:http://blog.csdn.net/lingerlanlan/article/details/38390429
相关文章推荐
- ufldl学习笔记与编程作业:Softmax Regression(vectorization加速)
- ufldl学习笔记与编程作业:Softmax Regression(vectorization加速)
- ufldl学习笔记与编程作业:Linear Regression(线性回归)
- ufldl学习笔记与编程作业:Linear Regression(线性回归)
- ufldl学习笔记与编程作业:Logistic Regression(逻辑回归)
- ufldl学习笔记与编程作业:Multi-Layer Neural Network(多层神经网络+识别手写体编程)
- ufldl学习笔记与编程作业:Debugging: Gradient Checking(梯度检测)
- 【UFLDL】Ex2-Vectorization 矢量化编程
- ufldl学习笔记和编程作业:Feature Extraction Using Convolution,Pooling(卷积和汇集特征提取)
- ufldl学习笔记与编程作业:Softmax Regression(Softmax 回归)
- ufldl学习笔记与编程作业:Feature Extraction Using Convolution,Pooling(卷积和池化抽取特征)
- ufldl学习笔记与编程作业:Convolutional Neural Network(卷积神经网络)
- ufldl学习笔记与编程作业:Multi-Layer Neural Network(多层神经网络+识别手写体编程)
- POJ C++程序设计 编程题#2 编程作业—STL2
- SDN第一次作业——关于网络编程
- 高级编程作业 第五章
- 编程作业 50 2题 编写一个程序求100以内的全部素数
- 记一次逆向工程作业(汇编windows编程)
- 第六次高级编程高级作业
- 《计算导论与C语言基础》第4周编程作业: 感性接触计算机程序