0%

hw1: Ring 实验报告

一、个人信息

条目 信息
姓名 Thysrael
学号 xxxxxxx
学院 xxxxxx

二、题目分析

Read more »

一、思考题

回答 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 »