吴恩达机器学习笔记(三)
标签(空格分隔): 机器学习
1.神经网络
神经网络分为输入层,输出层,隐藏层
输出层是对输入层的运算结果
在输入层中可能会添加偏置单元x0(bios unit)
1.1神经网络的数学表达
⎡⎣⎢⎢⎢x0x1x2x3⎤⎦⎥⎥⎥→⎡⎣⎢⎢⎢a(2)1a(2)2a(2)3⎤⎦⎥⎥⎥→hθ(x)
a(j)i=第j层第i个单元的激励Θ(j)=从第j层到j+1层的映射权重矩阵
a(2)1=g(Θ(1)10x0+Θ(1)11x1+Θ(1)12x2+Θ(1)13x3)a(2)2=g(Θ(1)20x0+Θ(1)21x1+Θ(1)22x2+Θ(1)23x3)a(2)3=g(Θ(1)30x0+Θ(1)31x1+Θ(1)32x2+Θ(1)33x3)hΘ(x)=a(3)1=g(Θ(2)10a(2)0+Θ(2)11a(2)1+Θ(2)12a(2)2+Θ(2)13a(2)3)
如果有 sj 在 j 层以及有 sj+1 在 j+1层, 那么Θ(j) 的维度将会是 sj+1×(sj+1).
例如:第一层有两个输入,第二层有四个激励单元,则θ1的维度是4*3
1.2前向传播(forward propagation)
令z(2)k=Θ(1)k,0x0+Θ(1)k,1x1+⋯+Θ(1)k,nxn
a(2)1=g(z(2)1)a(2)2=g(z(2)2)a(2)3=g(z(2)3)
则
x=⎡⎣⎢⎢⎢x0x1⋯xn⎤⎦⎥⎥⎥z(j)=⎡⎣⎢⎢⎢⎢⎢z(j)1z(j)2⋯z(j)n⎤⎦⎥⎥⎥⎥⎥
令x=
a1,则
z(j)=Θ(j−1)a(j−1)
如果有偏置单元的话则z(j+1)=Θ(j)a(j)
最后的结果可以表示为:hΘ(x)=a(j+1)=g(z(j+1))
1.3神经网络简单示例(AND)
输入X1与X2的逻辑值,预测X1&&X2的值
运算过程如下
⎡⎣⎢x0x1x2⎤⎦⎥→[g(z(2))]→hΘ(x)
其中
X1与
X2为输入层,
x0=1
设置
Θ(1)=[−302020]
则:
hΘ(x)=g(−30+20x1+20x2)x1=0 and x2=0 then g(−30)≈0x1=0 and x2=1 then g(−10)≈0x1=1 and x2=0 then g(−10)≈0x1=1 and x2=1 then g(10)≈1
2.多元分类问题
例如将图片分为四类,则应该让假设函数返回一个四维向量分别表示与四类图片的相似程度
同时训练集Xi也应当对应一个四维向量yi

3.重要矢量化公式
1.代价函数(Cost function)
h=g(Xθ)J(θ)=1m⋅(−yTlog(h)−(1−y)Tlog(1−h))(重要)
其中:
g(z)=11+e(−z) 2.梯度函数 grad=1mXT(hθ(x)−y)
3.加上正则化后 J(θ)=1m⋅(−yTlog(h)−(1−y)Tlog(1−h))+λ2m(θTθ−θ(1,1)θ(1,1))(重要)
∂J(θ)∂θ0=∑i=1m(hθ(x(i))−y(i))x(i)j(j=0)
grad=1mXT(hθ(x)−y)+λmθ(j!=0)