EE263 Lecture 3 Linear algebra review
课程主页:https://see.stanford.edu/Course/EE263
这次回顾第三讲,这一讲继续复习线性代数。
线性化如果$f:\mathbb R^n \to \mathbb R^m$在$x_0\in \mathbb R^n$可微,那么
x \text { near } x_{0} \Longrightarrow f(x) \text { very near } f\left(x_{0}\right)+D f\left(x_{0}\right)\left(x-x_{0}\right)其中
D f\left(x_{0}\right)_{i j}=\left.\frac{\partial f_{i}}{\partial x_{j}}\right|_{x_{0}}是导数(雅克比)矩阵。
如果定义$y=f(x), y_{0}=f\left(x_{0}\right), \delta x:=x-x_0,\delta y:=y-y_0$,那么上述近似可以写为
\delta y \approx D f\left(x_{0}\right) \delta x通过范围测量导航来看一个 ...
From Nand to Tetris week 5
这次回顾第五章的内容,这一章介绍了计算机体系结构,完整搭建了一个计算机。
课程官网:
https://www.nand2tetris.org/
视频地址:
https://www.coursera.org/learn/build-a-computer
Chapter 5 计算机体系结构Part 1:课程回顾这部分内容从略,这一章的主要内容为项目部分。
Part 2:项目MemoryMemory的架构如下:
关键问题是判断address和16383以及24576的关系,注意到上述数字的二进制表示为:
\begin{aligned}
16383 :& 011111111111111 \\
16384 :& 100000000000000\\
24575:&101111111111111\\
24576:&110000000000000
\end{aligned}所以可以根据address[14]和address[13]判断操作的位置,对应代码如下:
//判断是否小于16384, 利用address的最高位判断
DMux(in=load, sel=address[14], a=ram, ...
From Nand to Tetris week 4
这次回顾第四章的内容,这部分主要介绍了机器语言。
课程官网:
https://www.nand2tetris.org/
视频地址:
https://www.coursera.org/learn/build-a-computer
Chapter 4 机器语言Part 1:课程回顾机器语言冯诺依曼式计算机的架构如下:
内存部分分为指令和数据,这部分都是二进制数,指令部分称为机器语言。显然直接编写机器语言非常麻烦,所以人们想到了使用助记符,例如:
助记符更进一步即发展为汇编语言。
Hack机器语言概述Hack是一个基于冯诺依曼架构的16位计算机,由一个CPU,指令内存和数据内存以及两个内存映射I/O设备(显示器和键盘组成)。这里有一点非常关键,就是Hack将指令内存和数据内存分开(这称为哈佛式计算机结构),而一般计算机中并不是如此,除此之外,两个内存区都是16-位宽,有15位地址空间。
寄存器使用时有两个称为D和A的16位寄存器,这两个寄存器能够被算数和逻辑指令显式控制,例如A=D-1或D!=A。注意D仅用来存储数据值,A既可以作为数据寄存器也可以作为地址寄存器。注意因为Hack的指令 ...
EE263 Homework 1
课程主页:https://see.stanford.edu/Course/EE263
这次回顾EE263作业1。
2.1(a)首先化简(1)可得
\begin{aligned}
p_{i}(t+1)&=p_{i}(t)\times \frac {\alpha \gamma} {S_{i}(t)}\\
&=\alpha \gamma\times \frac { p_{i}(t) q_i(t)} {s_{i}(t)} \\
&=\alpha \gamma \frac {\left(\sigma+\sum_{j \neq i} G_{i j} p_{j}(t) \right) p_i(t)}
{G_{ii} p_i(t)} \\
&=\alpha \gamma \sum_{j \neq i} \frac {G_{i j}}{G_{ii}} p_{j}(t)
+ \frac{\alpha \gamma \sigma }{G_{ii}}\\
&=\alpha \gamma\left (\sum_{j =1}^n \frac {G_{i j}}{G_{ii}} p_{j}(t) \ri ...
EE263 Lecture 2 Linear functions
课程主页:https://see.stanford.edu/Course/EE263
这次回顾第二讲,这一讲主要复现线性代数的基本内容以及其含义。
Lecture 2 线性函数和例子线性方程首先回顾线性方程组:
\begin{aligned}
y_{1} &=a_{11} x_{1}+a_{12} x_{2}+\cdots+ a_{1 n} x_{n}
\\ y_{2} &=a_{21} x_{1}+a_{22} x_{2}+\cdots+ a_{2 n} x_{n}
\\ & \vdots
\\ y_{m} &=a_{m 1} x_{1}+a_{m 2} x_{2}+\cdots+a_{m n} x_{n}
\end{aligned}写成矩阵形式为$y=Ax$,其中
y=\left[ \begin{array}{c}{y_{1}} \\ {y_{2}} \\ {\vdots} \\ {y_{m}}\end{array}\right],
A= \left[ \begin{array}{cccc}{a_{11} } & {a_{12} } & {\cdots} & {a_{ ...
CS205A Lecture 18 and 19 PDE
课程主页:https://graphics.stanford.edu/courses/cs205a-13-fall/schedule.html
这次回顾最后两讲,这部分简单介绍了PDE。
Chapter 14 偏微分方程这一讲介绍PDE,即偏微分方程,为了方便后续讨论,这里给出如下记号,假设
f : \mathbb{R}^{3} \rightarrow \mathbb{R}, \vec{v} : \mathbb{R}^{3} \rightarrow \mathbb{R}^{3}那么
\begin{aligned}
\text{Gradient: }
&\nabla f \equiv\left(\frac{\partial f}{\partial x_{1}}, \frac{\partial f}{\partial x_{2}}, \frac{\partial f}{\partial x_{3}}\right) \\
\text { Divergence: }
& \nabla \cdot \vec{v} \equiv \frac{\partial v_{1}}{\partial ...
CS205A HW8
课程主页:https://graphics.stanford.edu/courses/cs205a-13-fall/schedule.html
这次回顾作业8。
Problem 1(a)代码如下:
M = zeros(nParticles);
[m, n] = size(edges);
for i = 1: m
x = edges(i, 1);
y = edges(i, 2);
M(x, x) = M(x, x) - 1;
M(x, y) = M(x, y) + 1;
M(y, x) = M(y, x) + 1;
M(y, y) = M(y, y) - 1;
end
(b)令
Y_1 =X ,Y_2 =X', Y=
\left[
\begin{matrix}
Y_1 \\
Y_2
\end{matrix}
\right]那么方程为
Y' = \left[
\begin{matrix}
X' \\
X''
\end{matrix}
\right]=
\left[
\begin{matrix}
0 & I_ ...
CS205A HW7
课程主页:https://graphics.stanford.edu/courses/cs205a-13-fall/schedule.html
这次回顾作业7。
Problem 1(a)$E_1$测量$f$和$f_0$的误差,$E_2$测量$f$的光滑性。
(b)该式表示关于$g$的相对变化率。
(c)
\begin{aligned}
d E_{1}(f, g)
&= \frac{d}{d \epsilon} \int_{0}^{1}\left(f(t)+\epsilon g(t)-f_{0}(t)\right)^{2} d t\left.\right|_{\epsilon=0} \\
&= \int_{0}^{1}2\left(f(t)+\epsilon g(t)-f_{0}(t)\right)g(t) d t\left.\right|_{\epsilon=0}\\
&= 2\int_{0}^{1}\left(f(t)-f_{0}(t)\right)g(t) d t\\
d E_{2}(f, g)
&= \frac{d}{d \epsilon} \int_{0}^{1}
...
CS205A HW6
课程主页:https://graphics.stanford.edu/courses/cs205a-13-fall/schedule.html
这次回顾作业6。
Problem 1(备注,这题没有讲明,但是从后面的讨论中可以推出这里为无向图)
假设$|V_0|=m$,并且
\vec v_i =\vec v_i^0 ,i=n-m+1,\ldots, n记$B$为邻接矩阵,即
B_{ij}=\begin{cases}
1 & (i,j)\in E\\
0 & 其他
\end{cases}将其记为如下分块形式:
B= \left[
\begin{array}{c|c}
B_1& B_2 \\ \hline
B_3& B_4
\end{array}
\right] \in \mathbb R^{n\times n}其中
B_1\in \mathbb R^{(n-m)\times (n-m)},
B_2\in \mathbb R^{(n-m)\times m},
B_3\in \mathbb R^{m\times (n-m)},
B_4 ...
CS205A Lecture 17 Time-stepping strategies
课程主页:https://graphics.stanford.edu/courses/cs205a-13-fall/schedule.html
这次回顾第十七讲,这一讲继续介绍常微分方程(ODE)。
梯形方法首先回顾一些基本定义:
y_i =y(t+ih)利用中点差分公式不难得到
{y}_{k+1}={y}_{k}+h F\left({y}_{k+1 / 2}\right)+O\left(h^{3}\right)利用梯形法可得
\frac{F\left({y}_{k+1}\right)+F\left({y}_{k}\right)}{2}=F\left({y}_{k+1 / 2}\right)+O\left(h^{2}\right)所以得到梯形方法计算公式
{y}_{k+1}={y}_{k}+h \frac{F\left({y}_{k+1}\right)+F\left({y}_{k}\right)}{2}类似之前讨论,继续对$y’=ay,a<0$分析该算法稳定性,带入可得
\begin{aligned}
y_{k+1}&=y_{k}+\frac{1}{2} h a\le ...
机器学习中的线性代数总结
之前整理CS229和CS231作业的时候发现CNN和RNN的反向传播推导还是有些难度的,由此产生了整理机器学习中的线性代数的想法,整理内容包括(但不限于)向量微积分,奇异值分解,反向传播的推导等等,每个部分都会给出严格的理论推导,相应的代码以及其应用。这篇博客相当于一个索引,给出主要的结论,并且会经常更新,每个结论背后的理论推导都会专门写一篇博客进行补充。
基本概念不同的资料上对于线性代数的记号略有不同,为了严谨起见,这部分给出一些基本概念以及记号的说明。
向量和矩阵的表示矩阵我们用大写字母(例如$A,B,C,\ldots$)表示矩阵,用带下标的小写字母$a_{ij},b_{ij},c_{ij},\ldots$表示其元素,例如
A\triangleq [a_{ij}]
=\left[ \begin{array}{cccc}{a_{11} } & {a_{12} } & {\cdots} & {a_{1 n} } \\ {a_{21} } & {a_{22} } & {\cdots} & {a_{2 n} } \\ {\vdots} & {\vdots} & {\ddots} & ...
EE263 Lecture 1 Overview
课程主页:https://see.stanford.edu/Course/EE263
CS205A课程马上就要学习完了,后续的计划是学习EE263——线性动力系统,这门课主要介绍一些线性代数的进阶应用,这门课程的作业量非常多,难度也很大,但是都是非常有趣的应用。
这次回顾第一讲,没有太多实质的内容,主要是课程介绍。
Lecture 1 Overview课程主题该课程的主题主要分为以下四个部分:
线性代数及应用
线性动力自治系统
带输入和输出的线性动力系统
基本的二次控制和估计
线性动力系统这部分介绍何为线性动力系统。
连续时间的线性动力系统(CT LDS)连续时间的线性动力系统形式如下:
\frac{d x}{d t}=A(t) x(t)+B(t) u(t), \quad y(t)=C(t) x(t)+D(t) u(t)其中
$t\in \mathbb R$表示时间
$x(t)\in \mathbb R^n$表示状态
$u(t)\in \mathbb R^m$表示输入或者控制
$y(t)\in \mathbb R^p$表示输出
$A(t)\in \mathbb R^{n\ti ...