写在前面
今天的内容主要是向量化,刚开始接触时感觉是很高深的什么算法,后来细细一看发现不过就是线代里面常用的技巧,将多个向量写成矩阵。不过numpy的库函数没有查,所以不是很明白为什么可以提高迭代速度。此时稍微对不同的语言有不同的应用场景有了些许体会,深度学习其实不算编程,只不过用编程语言实现了数学功能,python提供的库函数,以及像广播这样自动的功能,的确为“数学人士”节约了很多时间。不过纸上得来总觉浅,没有做编程作业,心里总是空捞捞。希望抽空可以动手分析一下。
几天学习的体会:重温微积分和线代,突然发现这两门课好有用...
向量化的三个课时
概括一下就是实现正向传播和反向传播的向量化,分为三个课时讲解。上图:
写在前面:刚才稍微分析了一下,发现了课中遗漏的一个点。课上并没有实现cost function 的向量化。按理说,每次迭代出新的w_1,w_2,b都要比较一下,J是否减小,以此求得最优解,有关数学的式子不太习惯用电脑写,就整理在笔记本上了。大概有两个问题。1.图中dz的式子写错了?2.logy,没有底数?估计是ln? 下面是笔记:
66F78EDE-ED1F-42F6-92F1-9EA2016478F1.jpg
IMG_20180218_205940.jpg
广播
这块内容很容易理解,就不多说了
numpy中向量使用
(5,)是秩为一的数组,而(5,1)是5*1的矩阵,写代码时最好用矩阵,以免出现蜜汁bug
网友评论