Vectorization is an important stage in Creating a robust machien Learning model. Without Vectorizaation the model can be incomplete. Real More to know the practical aspects of vectorization.
Note - These are my notes on DeepLearning Specialization Part: Python Basics With Numpy
Table of Contents
Vectorization
1 2 3 a = np.random.rand(1000000 ) b = np.random.rand(1000000 )
CPU times: user 1.62 ms, sys: 727 µs, total: 2.34 ms
Wall time: 1.06 ms
1 2 3 4 def loop (): c = 0 for i in range (1000000 ): c += a[i] * b[i]
CPU times: user 316 ms, sys: 2.56 ms, total: 319 ms
Wall time: 317 ms
Vectorizing Logistic Regression
Vectorizing Logistic Regression’s Gradient Output
A note on python/numpy vectors 1 2 a = np.random.randn(5 ) a
array([-0.91796822, -0.53903443, 1.00289266, 0.22272871, -0.35617949])
(5,)
array([-0.91796822, -0.53903443, 1.00289266, 0.22272871, -0.35617949])
2.3154893533786054
1 2 a = np.random.randn(5 , 1 ) a
array([[-1.26834861],
[-0.254855 ],
[-1.37786229],
[ 0.18718574],
[-1.31341244]])
(5, 1)
array([[-1.26834861, -0.254855 , -1.37786229, 0.18718574, -1.31341244]])
array([[ 1.60870819, 0.32324498, 1.74760972, -0.23741677, 1.66586484],
[ 0.32324498, 0.06495107, 0.35115509, -0.04770522, 0.33472972],
[ 1.74760972, 0.35115509, 1.8985045 , -0.25791618, 1.80970147],
[-0.23741677, -0.04770522, -0.25791618, 0.0350385 , -0.24585208],
[ 1.66586484, 0.33472972, 1.80970147, -0.24585208, 1.72505223]])
1 2 %load_ext version_information %version_information numpy
Software Version Python 3.6.6 64bit [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] IPython 7.0.1 OS Darwin 17.7.0 x86_64 i386 64bit numpy 1.15.1 Sun Oct 14 19:41:16 2018 MDT
Credits to the teacher