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