摘要:
算法基础 分析算法 循环不变式 设计算法 分治法 练习 线性查找的平均检查次数 最好 1 次,最坏 n 次,平均 $\frac{n+1}{2}$ 次,$f(n) = \Theta(n)$。 使任何算法的最好情况运行时间提高的办法 将最好情况总结,并作为算法的特例实现。但是不应该将函数的最好情况作为判 阅读全文
摘要:
算法要求 正确性(Correctness) 语法正确 输入输出(IO)正确 可读性(Readability) 使用注释(不注释比坏注释好,代码易读比过多注释好) 命名契合(camelCase、PascalCase、UnderScoreCase) 健壮性(Robustness) 完善的异常处理(处理非 阅读全文
摘要:
Linear 数组概述 数组有四种操作:添加、删除、更改和搜索。 读取是数组中最容易、最快的操作,因为数组以顺序的方式存储在内存中。 数组最突出的能力叫做随机读取,即通过一个下标读取值。 int a[] = {3, 1, 2, 5, 4, 9, 2, 7}; printf("%d", a[3]); 阅读全文
摘要:
递归 递归是栈的应用之一 举一个斐波那契数列的例子 int Fbi(unsigned i) { if (i < 2) return i; return Fbi(i - 1) + Fbi(i - 2); } 我们把一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称作递归函数 在高级语言中, 阅读全文
摘要:
工具准备和附件购买 Linux 系统的电脑(可以是虚拟机):根目录 10G 左右空间,用户目录 40G 左右的空间,会在上面安装 SDK Manager 来对 Jetson Nano 进行刷机和安装 SDK。 屏幕:支持 HDMI 连接,屏幕使用 HDMI 接 HD IN 和 micro USB 小 阅读全文
摘要:
Python注释 Python注释可以分为块注释和行内注释、文档注释、类型注释 块注释和行内注释 # 块注释一般用于描述下方代码 if a > 10 : # 按照PEP8规范,块注释以一个#和一个空格开头,除非块注释中需要使用缩进 a = 10 else: # 块注释应该和它要注释的代码具有同样的缩 阅读全文
摘要:
GameTheory 概述 等边际原理:最优的资源配置必须资源在每种用途上的边际贡献都需相等 羊群效应:大家做什么,自己也跟着做什么,不管对错 社会的基本问题:协调问题、合作问题 协调问题的核心是人们如何预测他人的行为,最直接的办法是沟通和交流,需要行为规范的知识、对对方特性的知识,甚至对方如何看待 阅读全文
摘要:
意志力的本质 前额皮质分成三个区域,掌控“我要做”、“我不要”和“我想要” 两个自我:原始本能和自控系统 意志力的前提:自我意识,认识你自己,考虑每一个决定 训练方法 冥想,控制走神 深呼吸 锻炼 充分睡眠 明智地使用自控力 锻炼自控力 自我记录 选择更难的一些小事 三思而后行 应激反应和三思而后行 阅读全文
摘要:
《学会提问》这本书可以被分为三个部分: 正确提问和批判性思维的关系,为什么要学会提问 什么阻碍了批判性思维 如何分析一个论证 为什么要学会正确提问 因为这个世界是嘈杂的,总有人坚称我们一定要按他们所说的那样去做。他们努力塑造我们的行为习惯,但他们说的话至多是真假参半。如果我们不想被一些专家牵着鼻子走 阅读全文
摘要:
下载地址 Wireshark 是一个拦截和观察网络包的工具。 工作原理 由于更上层的数据最终都会成为链路层的一个个帧(frame),Wireshark 接受链路层(link-layer)的数据包(packet)的副本后,经过内部的包分析工具(packet analyzer)实现包的拦截和观察。包分析 阅读全文
摘要:
理论 K-NN,即 k 近邻算法,是一种基本的分类和回归的算法,其主要思想可以归纳为:选择与待检测数据最相近的 k 个数据,再将这 k 个数据的成分最多的类别作为待测数据的类别。 假如给定数据 $T={ (\pmb{x_1}, y_1), (\pmb{x_2}, y_2), \dots (\pmb{ 阅读全文
摘要:
线性回归的预设 线性 只能通过每个样本各维的线性组合获得预测结果,这使得函数很简单,但拟合能力较弱。 同方差性 每个样本的方差不变。方差不同会使得拟合函数对某些数据敏感性有差异。 独立性 每个样本独立于其他样本 固定特征 特征数是固定的 非多重共线性 特征直接不能存在线性关系 $$ \begin{a 阅读全文
摘要:
基本公式 $$ \begin{align*} F(x)&=P\lbrace X\le x\rbrace=\frac1{1+e^{(\mu-x)/\gamma}}\ f(x)&=F^\prime(x)={e^{(\mu-x)/\gamma}\over\gamma(1+e^{(\mu-x/\gamma) 阅读全文
摘要:
标准化 $$ \begin{align*} \pmb x&=\left(x^{(1)},x^{(2)},\dots,x^{(n)}\right)\ \pmb\mu&=\frac1m\sum_{i=1}^m\pmb x_i\ \pmb\sigma&=\sqrt{\delta+\frac1m\sum_{ 阅读全文
摘要:
算法分出 $n$ 个类($c_1,c_2,\dots,c_n$)之后,得到 $n$ 个向量 $\pmb w$,分类方法为 $c=\underset{c_i\in[c_1,\dots,c_n]}{\arg\max}\pmb w_i^T\pmb x$。 求 $\pmb w_1$ 和其他向量 $\pmb 阅读全文
摘要:
$L^2$ 正则 结论 $$ \begin{align*} J=(\pmb X\pmb w-\pmb y)^T(\pmb X\pmb w-\pmb y)&\implies\pmb w=(\pmb X^T\pmb X)^{-1}\pmb X^T\pmb y\ \widetilde J=(\pmb X\ 阅读全文
摘要:
贝叶斯分类器 $$ \begin{align*} y&=\underset{c_i}{\arg\max}\left\lbrace{P[\pmb X=\pmb x\mid Y=c_i]P[Y=c_i]\over\sum_kP[\pmb X=\pmb x\mid Y=c_k]P[Y=c_k]}\righ 阅读全文
摘要:
聚类 聚类方法在于寻找数据中的集群(clusters),在同一个集群中的数据在某些方面更加相似。这同时也是对数据的一种压缩,因为我们使用了更小的集合—集群—来表示更大的数据。也可以理解为寻找有用特征的一种方式,如果一系列数据可以很好地被集群中心点表示,那么很有可能我们发现了更好的特征。 为了获得聚类 阅读全文
摘要:
在前一篇文章中,已经初略的建立了前向神经网络,但是前向神经网络大量的前馈计算使其只有较低的速度,因此我们来建立反向神经网络。 本篇主要是公式 链式法则 在学习偏导数的反向传递之前,需要有对链式法则有一定的了解 $$ \begin{align*} \text{provide that }&y = y( 阅读全文
摘要:
根据上一篇文章,来构建神经网络吧 明确输入和输出 选择合适的各种函数 用矩阵和激活函数建立起从输入到输出的拟合函数 用正向传播或反向传播获得损失函数的偏导数(注意对一定的数据集来说自变量为 $\pmb{W}$,$\pmb{A}$ 固定) 用梯度下降法努力使损失函数最小 mnist分析(输入分析) 下 阅读全文