Part.10_Octave_Tutorial(ML_Andrew.Ng.)
# Octave Tutorial
2021-08-18
Tags: #Octave #MachineLearning
- 还是要在实践中学习Octave
# 为什么吴恩达说Octave比Python好呢?
或许这里涉及到编程与建模的区别? 建模的目的是快速实现一个模型, 像
MatlabOctaveLabview之类的软件的目标就是快速建模, 而编程语言像是Python之类的, 他们的目的偏向于 建立一个模型的可靠的应用实例, 不仅要实现, 还需要可靠, 性能需要优化 但是像IPython Console, Jupyter Notebook之类的交互式编程界面是否已经打破了这两个之间的隔阂?Cousera 上面Machine Learning 大概开始于2011
In October 2011, the “applied” version of the Stanford class (CS229a) was hosted on ml-class.org and launched, with over 100,000 students registered for its first edition1
IPython Notebook & Jupyter Notebook 也大致自2011-2015年间逐渐起步, 后来才逐步变得流行起来.
故一种合理的猜测是在Andrew Ng 的课程录制的时候, Python 的交互性还没有得到很好的发展与推广, 时至今日(2021), Python作为机器学习建模工具的易用性值得关注.
# 实用技巧: 向量化Vectorization
相比于利用循环, 在需要对一个矩阵里面的元素进行相似的操作的时候, 我们可以利用矩阵乘法来进行相同的操作, 这样我们可以利用性能优化过的函数, 加快程序性能.
E.g. $$\sum x_i^2=\vec X^T \vec X$$