A quick overview of neural network of Andrew Ng
图1.简单的概览
对于[1],我们有→z[1]=W[1]x+b[1]→a[1]=σ(z[1])对于[2],我们有→z[2]=W[2]a[1]+b[2]→a[2]=σ(z[2])(^y=a[2])→L(a[2],y)
图2.上面这幅图代表了很多东西,得花时间理解。
我们分析网络中的第一层第一个节点:
z[1]1=w[1]T1x+b[1]1a[1]1=σ(z[1]1)(上标[[1]]代表的是这些变量只和第一个隐层有关,下标[1]表示第1个节点)
类似地,我们分析其它节点,不难得出
z[1]1=w[1]T1x+b[1]1a[1]1=σ(z[1]1)z[1]2=w[1]T2x+b[1]2a[1]2=σ(z[1]1)z[1]3=w[1]T3x+b[1]3a[1]3=σ(z[1]1)z[1]4=w[1]T4x+b[1]4a[1]4=σ(z[1]1)(注:w[1]T1表示的是(w[1]1)T)
由[这章的知识](https://www.cnblogs.com/Linkdom/p/16068238.html)我们知道了向量化所带来的方便之大;
图3.这个矩阵显然是4×3的矩阵
这样我们也容易理解图二中w下方的(4,3)所代表的意思了,即W是一个4×3的矩阵,同理b是一个4×1,所以下面标着(4,1)。
我们知道w[1]i本来是一个3×1的向量,把w[1]i向量化(且转置)之后成为了一个1×3的向量,(所以横着放),这样我们容易有⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣w[1]T1w[1]T2w[1]T3w[1]T4⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦⋅⎡⎢⎣x1x2x3⎤⎥⎦+⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣b[1]1b[1]2b[1]3b[1]4⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣w[1]T1X+b[1]1w[1]T2X+b[1]2w[1]T3X+b[1]3w[1]T4X+b[1]4⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣z[1]1z[1]2z[1]3z[1]4⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦=Z[1]
需要注意的是我们总习惯把变量定义为列向量(如果不加说明就默认是列向量),比如里面的X是一个3×1的向量,后面的Z是一个4×1的向量;
X=[x1x2x3]T
再得到a,
a[1]=⎡⎢
⎢
⎢⎣a[1]1⋮a[1]4⎤⎥
⎥
⎥⎦=σ(z[1])
Sogiveninput:xz[1](4,1)=W[1](4,3)x(3,1)+b[1](4,1)→a[1](4,1)=σ(z[1](4,1))→z[2](1,1)=W[2](1,4)a[1](4,1)+b[2](1,1)→a[2](1,1)=σ(z[2](1,1))(1)(2)(3)(4)
观察上面式子的底标我们可以发现里面的规律挺有意思的,另外x也可以被当成第零层的数据而写成:
x=a[0]
另外这里的W不同于我们上面的w,应该是这样
W[1]=w[1]TW[2]=w[2]T
回到我们最开始的
z=wTx+b^y=a=σ(z)
我们实现the output of logistic regression同样只需要上面那四行代码即可,
至此我们完成了一个样本的output,下面我们学习多样本的向量化。
所用画图工具:🥀
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人