Lesson 1 Week 2
1. Python Basics with Numpy
1.1 - 記住sigmoid的導數
s = sigmoid (x)
sigmoid_derivative (x) = s * (1-s)
1.2 - 圖片的三維存儲表示
-
圖片的矩陣表示通常爲(width, height, depth),前兩維爲圖片的寬和高,指定這兩維能夠定位到像素殿;最後一維是每個像素點的深度,也即(R, G, B)三個通道,每個通道就是一層數據。
-
作業裏讓我們reshape的目標是一個(3, 3, 2)的array,並且說明typical image是(num_px_x, num_px_y, 3),也就是RGB三個通道的。
image = np.array([[[ 0.67826139, 0.29380381],
[ 0.90714982, 0.52835647],
[ 0.4215251 , 0.45017551]],
#以上是圖片第一行的三個像素
[[ 0.92814219, 0.96677647],
[ 0.85304703, 0.52351845],
[ 0.19981397, 0.27417313]],
#以上是圖片第二行的三個像素
[[ 0.60659855, 0.00533165],
[ 0.10820313, 0.49978937],
[ 0.34144279, 0.94630077]]
#以上是圖片第三行的三個像素
]) -
作業裏reshape操作之後,全部像素的所有通道被shape成了一個一維向量。
1.3 - Normalizing rows
-
歸一化和標準化的概念,特點
-
歸一化(Min-Max Normalization)
-
特點
1、對不同特徵維度進行伸縮變換
2、改變原始數據的分佈。使各個特徵維度對目標函數的影響權重是一致的(即使得那些扁平分佈的數據伸縮變換成類圓形)
3、對目標函數的影響體現在數值上
4、把有量綱表達式變爲無量綱表達式 。 -
好處
1、提高迭代求解的收斂速度
2、提高迭代求解的精度 -
缺點
1、最大值與最小值非常容易受異常點影響
2、魯棒性較差,只適合傳統精確小數據場景。
-
-
標準化(Z-score)
-
特點
對不同特徵維度的伸縮變換的目的是使得不同度量之間的特徵具有可比性。同時不改變原始數據的分佈。 -
好處
1、不改變原始數據的分佈。保持各個特徵維度對目標函數的影響權重
2、對目標函數的影響體現在幾何分佈上
3、在已有樣本足夠多的情況下比較穩定,適合現代嘈雜大數據場景。
-
-
-
歸一化的優點和不同歸一化方法的使用場景
https://blog.csdn.net/program_developer/article/details/78637711
1.4 - A summary of build useful function with numpy
- np.exp(x) works for any np.array x and applies the exponential function to every coordinate
- The sigmoid function and its gradient - image2vector is commonly used in deep learning
- np.reshape is widely used. In the future, you’ll see that keeping your matrix/vector dimensions straight will go toward eliminating a lot of bugs.
- numpy has efficient built-in functions - broadcasting is extremely useful