Morvan博客-tensorflow2学习(三)

前面是关于线性拟合和构建简单神经网络的内容,对于构建过程的可视化,tensorflow提供了一个强大的工具tensorboard。

Tensorboard的使用

tensorflow2与tensorflow1不同使用的动态图,可以说tensorflow中是没有”图”的概念的(reference3)。个人认为对于morvan大佬的自建神经网络,在tensorflow2情况下是十分受阻碍的。

首先使用tf.summary.create_file_writer函数来创建SummaryWriter对象,tensorflow2下使用tensorboard构建神经网络的结构,则还需要使[……]

阅读更多

Morvan博客-tensorflow2学习(二)

前面使用tensorflow2对线性数据进行拟合,此篇则是进行简单的神经网络搭建,对二次函数进行拟合。

搭建简单的神经网络

同样先使用tensorflow.compat.v1来跑morvan大佬的代码,需要注意要tf.disable_v2_behavior(),这样可以避免tf.placeholder() is not compatible with eager execution的运行错误。

ok,代码在原基础上没有做太多改动,使用tf.global_variables_initializer()替换了原来代码的变量初始化。使用with操作来自动关闭session句柄,[……]

阅读更多

Morvan博客-tensorflow2学习(一)

最近要阅读修改一篇论文的tensorflow代码,所以来学习tensorflow,博客主要内容来自Morvan的tensorflow的教程(reference1, 2),Morvan大佬用的tensorflow用的是很早版本了,本人安装的r2.0,所以将morvan大佬教程的代码修改成tensorflow2来熟悉api。考虑要写一些api的注解,所以就以博客形式放出来了。

tensorflow的基本思想就是通过构建含有基础变量tensor的graph,在session中运行。(reference4)

使用tensorflow进行线性拟合

拟合直线:\(y = 0.1 x +[……]

阅读更多

马尔科夫链基础知识

记得学概率论总会提一个词:独立同分布。也即随机变量的取值互不影响,又服从同一个分布规律。正如我们进行伯努利实验,连续抛一枚骰子,上一个结果不会影响后一个结果,同时每个结果获得的概率都是\(p=1/6\)。

像伯努利过程、泊松过程这样的随机过程是无记忆的,未来的状态不会被过去的状态影响。不同于伯努利过程,马尔科夫链则考虑的是过去的状态会影响未来的状态。

马尔科夫链

马尔科夫链的核心假设是此时的状态只与上一个时刻的状态有关,而与其他时刻的状态无关。

对于一个状态空间\(S = \{1, \ldots, m\}\),马尔科夫链有转移概率\(p_{ij}\)来决定,在时刻\(n[……]

阅读更多

Almeida–Pineda algorithm

Almeida-Pineda algorithm, a.k.a, recurrent backpropagation,来自于reference1和reference2,由于年代久远,没有找到reference1,读了下reference2,个人感觉有点晦涩(对第一个耦合微分等式不了解),所以搜罗了其他资料来读来理解。

从reference2中,可以知道RBP算法(简称),解决的是通过迭代找到参数的fixed point(固定点),但需要保证网络的对称性。

reference3中以RNN模型为标准,来reviving RBP算法。了解RNN的机制我们知道,隐状态的转化公式为\(h_{[……]

阅读更多

Banach Fixed point theory

最近在看GNN的2009年的文章(reference 1),看到了这个概念。此概念来自于Metric Fixed Point Theory中,也即来自泛函分析,我并没有对其进行深入了解,blog中的内容只是作为GNN的知识储备。

Fixed Point Theory

Fixed point problem:
假设存在集合\(X\),以及集合\(X\)的两个非空子集\(A, B\),存在\(A \cap B \neq \emptyset \),一个映射\(f: A \rightarrow B\),当存在点\(x \in A \)有\(f(x) =x\),此点也被称为\(f\)的一个固定[……]

阅读更多

GNN-图神经网络

科学和工程学等多个领域中的数据之间存在许多潜在关系,例如 计算机视觉,分子化学,分子生物学,模式识别,数据挖掘可以用图形表示。reference 1提出了一种新的神经网络-图神经网络(GNN)

在图形领域中的应用通常可以分为两类:分别是graph focused的应用程序和node focused的应用程序。

1.在graph focused应用中,例如如下图A,构建有机化合物成图\(G\),节点为每个原子,边则是原子间的化学键。函数\(\tau\)在类似上述的图结构上实现一个分类器或者回归器,并且此函数独立于节点。函数映射\(\tau (G)\)则用来估计化合物对于某一疾病是否有[……]

阅读更多

权重随机取样–WRS

如题所示,权重随机取样(Weight Random Sampling, WRS),这一应用需求,许多地方都会用到。

首先我们要确定权重随机取样是什么?在我们抽取样本时考虑的是无放回。权重随机取样的每个样本都是带有权重,抽取样本时由样本的权重所决定。下面是权重随机取样算法的一般描述。

权重随机取样算法(algorithm D):
输入数据:\(n\)个带有权重的数据样本集\(V\)
输出结果:\(m\)个WRS算法抽取的数据样本集\(S\)
1. 重复\(2-3\)步
2. 计算每个样本\(v_i\)被抽取的概率:\(P(v_i) = \frac{w_i}{\sum _{s_j \in V-[……]

阅读更多

感知机与线性可分

感知机

感知机是一个线性分类模型,由于与神经网络类似而得名。它解决的是二分类问题,当我们输入的样本\(X= (x_1, x_2, \ldots, x_n)^T\)(其中\(x_i\)为向量),对应标签为\(Y = (y_1, y_2, \ldots, y_n)^T\)(其中\(y_i \in \{-1, 1\}\)),目标是找到超平面\(w^T x +b = 0\)将数据划分开来。

\(f(x)=sign(w^T x + b)\)
\(sign(x)\)是一个符号函数

我们的数据通过上式,可以得出对应的属性\(\hat{y}\),划分完,出现误分类,即原本+1的被误分为-1,或[……]

阅读更多

最小二乘法

最小二乘法是机器学习最最基础的部分了,我们在线性拟合数据(回归)的时候,会用到此法。同时也在一些模型作为模型的优化指标,即均方误差MSE

投影

首先来扯一扯投影这个概念,对于线段之间的投影,如下图将向量b投影至向量a上,得到投影p,其关键就是向量b到投影p的线段是正交与向量a的,也即\(a \cdot e = a \cdot (b-p) = 0\),投影:\(p=\hat{x}a\)

\(a \cdot (b-\hat{x}a) = 0\)
\(\hat{x}=\frac{a^T b}{a^T a}\)
\(p = \hat{x}a = \frac{a^T b}{a^T a} a[……]

阅读更多