最近接触到了对复数函数的求导,之前已知没有研究过。在看教程的时候,发现自己微积分忘得是一干二净。真的是,233333。算了不多说了,下面对神经网络中的复数函数求导进行记录。
复数神经网络有以下几个特点:
- 网络的输入与权重均为复数
- 损失值为实数
本文的内容主要包含一下几个部分:
- 推导复数神经网络的反向传播公式
- 为复数神经网络的反向传播完成通用代码
最近接触到了对复数函数的求导,之前已知没有研究过。在看教程的时候,发现自己微积分忘得是一干二净。真的是,233333。算了不多说了,下面对神经网络中的复数函数求导进行记录。
复数神经网络有以下几个特点:
本文的内容主要包含一下几个部分:
首先,该文章来自于极客时间网站,王争的专栏——《数据结构与算法之美》,我这里只是做简单的解释、记录并添加自己的见解,只是作为个人笔记,若侵权,马上删除。最后建议直接去该网站上购买该课程看原作者的讲解,一来是支持作者,二来是作者写的确实不错。
除了讲复杂度的大O表示法,常见的复杂度分析例子,比如 O(1)、O(logn)、O(n)、O(nlogn) 复杂度分析,还有四个复杂度分析方面的知识点:最好情况时间复杂度(best case time complexity)、最坏情况时间复杂度(worst case time complexity)、平均情况时间复杂度(average case time complexity)、均摊时间复杂度(amortized time complexity)。
代码如下:
1 | // n表示数组array的长度 |
这个Kaggle Steel Defect Detection 比赛和上一个我参加的Kaggle SIIM-ACR Pneumothorax Segmentation Challenge时间有点冲突,当我参加并总结完上一个比赛时这个比赛只剩下一个月的时间了。但是一来最近没啥好的比赛参加,而来这个比赛的任务和上一个比赛的任务大致相同。所以和小伙伴商量一下,就参加了一下。
另外,这次比赛的源代码已经释放出来了,具体点这里。
这次比赛的主要任务是从钢材图片中判断钢材是否有表面缺陷,如果含有的话要判断出缺陷类型并定位缺陷位置。也就是说这个任务是一个分类+实例分割的任务。
该比赛只有一个阶段,Public Leaderboard只采用了其中的33%的数据打分并排名,最终的Private Leaderboard采用了最后67%的数据打分并排名。
首先,该文章来自于极客时间网站,王争的专栏——《数据结构与算法之美》,我这里只是做简单的解释、记录并添加自己的见解,只是作为个人笔记,若侵权,马上删除。最后建议直接去该网站上购买该课程看原作者的讲解,一来是支持作者,二来是作者写的确实不错。
复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半。
你可能会有些疑惑,我把代码跑一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小。为什么还要做时间、空间复杂度分析呢?这种分析方法能比我实实在在跑一遍得到的数据更准确吗?
首先,我可以肯定地说,你这种评估算法执行效率的方法是正确的。很多数据结构和算法书籍还给这种方法起了一个名字,叫事后统计法。但是,这种统计方法有非常大的局限性。
首先,该文章来自于极客时间网站,王争的专栏——《数据结构与算法之美》,我这里只是做简单的解释、记录并添加自己的见解,只是作为个人笔记,若侵权,马上删除。最后建议直接去该网站上购买该课程看原作者的讲解,一来是支持作者,二来是作者写的确实不错。
什么是数据结构?什么是算法?
从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。以图书馆储藏书籍为例,为了方便查找,图书管理员一般会将书籍分门别类进行“存储”。按照一定规律编号,就是书籍这种“数据”的存储结构。那我们如何来查找一本书呢?有很多种办法,你当然可以一本一本地找,也可以先根据书籍类别的编号,是人文,还是科学、计算机,来定位书架,然后再依次查找。笼统地说,这些查找方法都是算法。
从狭义上讲,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。
表征分类精度的指标有很多,其中最常用的是混淆矩阵、总体分类精度(OA)以及Kappa系数。
混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,对于$N$类数据,可以用$N$行$N$列的矩阵来表示。混淆矩阵的每一列代表了预测类别,每一列的总数表示预测为该类别的数据的数目,每一列中的数值表示预测数据在真实数据中的分布;每一行代表了数据的真实归属类别,每一行的数据总数表示该类别的数据实例的数目,每一行的数值表示真实数据在预测数据中的分布。
混淆矩阵能够很清楚的看到每个种类正确分类的个数以及被错分的类别和个数。但是,混淆矩阵并不能一眼就看出类别分类精度的好坏,为此从混淆矩阵衍生出来各种分类精度指标,其中总体分类精度Overall Accuracy(OA)和卡帕系数(Kappa)应用最为广泛。