吴恩达神经网络和深度学习课程自学笔记(二)之神经网络基础
来源:互联网 发布:网购比价软件 编辑:程序博客网 时间:2024/05/29 15:47
一:一些符号表示
例如将图片转换为像素点后输入。
n 是特征维度,m 是样本(x,y)数量。向量X是n*m维向量,Y是1*m维向量。
使用列向量,计算更方便。python中 X.shape命令输出X的维度。
二:logistics回归
y^是预测值,y^ = P(y=1|x)。w 是n 维向量,b 是一个实数。
令z = w^T * x + b ,则有:
sigmod 函数
另一种表示方法:
x0 = 1;x 是 n+1 维向量 。
但是在神经网络中将w 和 b 看做独立的参数更好,因此不使用第二种表示方法。
损失函数:
损失函数L是用来衡量预测值(y^)和实际值(y)之间的差距。用于单个样本。
L = - ( y logy^ + (1-y) log(1-y^) )
如果 y = 1,L = - log y^ 为了使 L 最小,所以让 y^ 尽可能大,但是小于1;
如果 y = 0,L = - log (1-y^) 为了使 L 最小,所以让 y^ 尽可能小,但是大于0;
成本函数:
和损失函数功能类似,但是用于整个训练样本,衡量 w 和 b 的效果。是个凸函数。
求得 w 之后,用同样方法求得 b :
计算图:
J(a,b,c)=3(a+bc) u=bc v=a+u J=3v
反向传播计算(求导的链式法则):
dJ/dv = 3 dv/da = 1 ==》 dJ/da = dJ/dv * dv/da = 3*1=3
logistic回归中低度下降链式求导:
对于单个样本来说:
dL/da = dL(a,y)/da = (1-y)/(1-a) + -y/a
d(z) = dL(a,y)/dz = dL/da * da/dz = a-y
dL/dw1 = x1 * dz
对于m个样本来说:
最终:
w1 := w1 - α dw1
w2 := w2 - α dw2
b := b - α db
向量化:(代码运行速度快)
w,x为两个n维列向量
python中:z = np.dot(w.T,x)+b
应当多使用python的内置函数,少使用for循环。速度更快。
eg: np.log(v) 求v中每个元素的log值
np.abs(v) 求v中每个元素的绝对值
np.Maximum(v) 求v中最大值
v**2 v中每个元素平方
1/v v中每个元素的倒数
梯度下降的向量化 :
python中的广播:
(1)
cal = A.sum(axis = 0) 竖直求和
cal = A.sum(axis = 1) 水平求和
(2)
m*n矩阵 + - * / 另一个1*n矩阵 python广播将1*n矩阵转换为m*n
其他:
(1)不确定矩阵的尺寸时,调用reshape命令
percentage = 100 * A/(cal.reshape(1,4))
(2) a=np.random.randn(5) -----错误的
a=np.random.randn(5,1) ------正确的
- 吴恩达神经网络和深度学习课程自学笔记(二)之神经网络基础
- 吴恩达神经网络和深度学习课程自学笔记(三)之浅层神经网络
- 吴恩达神经网络和深度学习课程自学笔记(四)之深层神经网络
- 吴恩达神经网络和深度学习课程自学笔记(一)之深度学习概论
- 吴恩达神经网络和深度学习课程自学笔记(五)之深度学习实用层面
- 吴恩达神经网络和深度学习课程自学笔记(八)之机器学习策略
- 吴恩达神经网络和深度学习课程自学笔记(六)之优化算法
- Coursera吴恩达《神经网络与深度学习》课程笔记(2)-- 神经网络基础之逻辑回归
- 吴恩达神经网络和深度学习课程自学笔记(七)之超参数调试,Batch正则化和程序框架
- 吴恩达深度学习课程笔记之神经网络基础
- 吴恩达深度学习入门学习笔记之神经网络和深度学习(第二周:神经网络基础)
- 吴恩达深度学习入门学习笔记之神经网络和深度学习(第二周:神经网络基础)
- Coursera吴恩达《神经网络和深度学习》课程笔记(3)
- Coursera吴恩达《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化
- 吴恩达 神经网络和深度学习 第二周神经网络基础笔记
- Coursera吴恩达《神经网络和深度学习》课程笔记(2)
- 吴恩达深度学习课程四:卷积神经网络(学习笔记)
- 吴恩达《神经网络与深度学习》课程笔记归纳(一)
- Oracle分组查询1——rullup
- 通过半平面交求多边形的核
- GStreamer播放媒体,实现Video Mute功能
- 关于layui数据表格的分页操作的学习笔记。
- SAP UI5初步结构分析研究(七)(番外篇)
- 吴恩达神经网络和深度学习课程自学笔记(二)之神经网络基础
- python文件和目录操作
- dom4j解析xml字符串时异常:org.dom4j.DocumentException: no protocol
- Linux ls命令
- python requirements文件依赖生成
- 112. Path Sum
- android studio 打包AAR并将AAR引入u3d
- On the Effectiveness of Visible Watermarks论文解读
- 稳中求进