0%

一、思考题

回答 4.1.5 疑问中的疑问,

问题 1 —— 第二个矩阵计算为何出错,

问题 2 —— MAC.v 是否有修改的必要

1.1 问题 1

第一个矩阵出错的原因是在第二个矩阵计算中,在第一个矩阵中涉及到了负数

[[ 111,   25,   32,   66,  -12,  -99,  -28,   16,  -95],
[  63,  -90, -102,   40,   73,   16,  -53,  -33,  -27],
[ -39,  -79,  -12,  -83, -112,   59,   34,  -49,  -57],
[ -18,  103,  -86,  -51, -104,   36, -105,  112,   58],
[  52,  -12,  -52,    1,  -95, -123,   34,  -89,   11],
[  50,  123,   90,  -74,   99,  100,   95,  -12,  -97],
[  12,  -94,   55,  -14,  115,   84, -110,   64,   18],
[  74, -105, -111,  -43,   63,  107,  111,   56,  -15]]
Read more »

一、从分治到动态规划

1.1 动态规划的性质

动态规划具有以下三个明显特性:

  • 无后效性:如果给定某一阶段的状态,则在这一阶段以后过程的发展不受这阶段以前各段状态的影响。如果说的直白一些,就是当我们求出 $dp_i$ 的时候,我们是怎样求出来的,就不用管了,我们只需要利用 $dp_i$ 就可以了。类似于“只要上了北航,没人管你到底是从河北考上的的,还是从月球考上的,大家只认为你是一个北航学生。”
  • 最优子结构:规模大的最优化问题包含规模小的最优化问题,大问题的最优解可以由小问题的最优解推出。
  • 重叠子问题:子问题的解不止会被利用一次。

虽然这三个特性都被称为“动态规划”的特性,但是“无后效性”和“最优子结构”并非是动态规划的专利。对于“无后效性”,应该是所有的分治算法都具有这个特性,如果我们必须掌握子问题的求解过程,那么显然我们就没必要将大问题分治为小问题。对于“最优子结构”,虽然“最优”二字将问题划定成了“最优化算法”的范畴,但是如果扩充最优化的定义,会发现依然几乎所有分治算法都满足具有最优子结构的定义。

Read more »

一、NumPy

1.1 参考资料

这篇文章写得实在是太好了图解链接

1.2 Array Matrix

这两种东西是不一样的,np.array 也可以有多维,但是它的 * 就是点对点乘法,而 @ 是点乘。但是对于 np.matrix 来说,无论是 * 还是 @ 都是点乘sp.Matrix 同理。有如下演示

Read more »

一、感受

这次作业的神经网络是比上一次作业复杂的,上一次作业是“多层感知机(MLP)”,这一次的作业是“卷积神经网络(CNN)”。运算从原来的矩阵乘法变成了卷积,网络结构也更加复杂,所以这次的作业是允许使用框架的。

这次作业的难点本质上是对于卷积网络的理解上,TensorFlow 可以提供卷积的计算方式还有后窥修正,所需要书写的只是网络结构。次难点是 TensorFlow 的工作机理,其实一开始做的时候如果能对 TensorFlow 有一个好的理解,写起来大概 40 分钟就够了(但是学习上面这俩东西花了整整一天)。


二、卷积神经网络

Read more »

一、总论

单纯形法十分神奇,涉及的理论并不困难,但是很复杂。而且不但理论繁琐,而且算法有变得极具有“跳大神色彩”,“单纯性表、检验系数”等一系列玄学名词让人作呕(从我和我妈打交道的经历来看,经济学一定说一些非人话的东西,才可以满意)。更加痛苦的是,它是线性代数知识的应用,我对于线代的理解就是,“挟泰山以超北海”,很多复杂的东西被用线代知识简化成了“魔数”一样的东西,课本并不会详细说为啥是这样的,他们只会说大概可以用线代知识表示成这样。


二、线代知识复习

对于一个线性方程组,我们可以将其转换成矩阵形式,也就是

Read more »

一、感受

真的是十分开心的,毕竟自己终于搭建了一个“神经网络”,其成就感,简直和自己第一次写 Hello, world. ,第一次写字典树,第一次写出流水线 CPU,第一次在 ARM 上移植操作系统,第一次写出编译器后端一样快乐。当我的电脑的 CPU 利用率被这个东西拉满,风扇开始轰鸣的时候,开心的都要冒泡了。

image-20220930203534068

尤其是“人工智能”这个词,在甚嚣尘上的舆论聚光灯下,已经被蒙上了一种虚妄的光晕。我回老家的时候,被问道“你会修电脑吗?”和“我会人工智能,你会吗?”的次数是一样多的。最尴尬的是,我明知道我学的东西或许并不比一个简单的神经网络浅薄,但是还是会因为自己不懂人工智能而自卑,因“外行人抢夺话语权”而闷闷不乐。转而我又会想到自己不够自信,不够有涵养,不够包容,进而跟自己更加生气。

虽然这次严格意义上讲,也并不是纯粹的手搓,老师是给了示例代码的。我的工作不过是修改一些地方,就可以满足实验的要求了。不过通过梳理代码,看到线代知识,高数知识,编程知识,数学建模知识交织在一起,也是一件很有意思的事情。这种乐趣,我觉得比上面那种“战胜自卑”的乐趣更加纯粹。

Read more »