《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》阅读笔记

工程地址

课前甜点——使用Jupyter Notebook运行工程中的usage.ipynb

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。

Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等

首先安装一下Jupyter Notebook

pip install jupyter notebook

在pycharm打开工程,配置环境

run

Run Jupyter Notebook

控制台上会有一个链接,在浏览器中打开

1:导入自定义文件夹中的函数

源代码中无法import lib下的内容,所以改了一下

import sys
sys.path.append(r'/home/chen/Documents/cnn_graph-master/lib')

import utils
import coarsening
import graph
import models
from lib import models, graph, coarsening, utils
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

2:图的定义和问题定义

n个样本组成了图中的点,每个样本用一个dx向量表示,每个样本xi还有一个标签yi,每个标签可以是离散的label(分类)或者一个dy的向量(回归)表示。点与点之间的权重用一个邻接矩阵A(n*n)表示。这样就可以把一个样本的分类回归问题,理解为图信号分类回归问题。

 

问题分两种:点的回归分类与图的回归分类。点的回归分类问题:给定矩阵A和n个图信号x,预测图信号y。第二个问题是寻找分类或回归A

3:usage代码解读

from lib import models, graph, coarsening, utils
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

3.1:数据生成

d = 100    # Dimensionality.
n = 10000  # Number of samples.
c = 5      # Number of feature communities.

# Data matrix, structured in communities (feature-wise).
X = np.random.normal(0, 1, (n, d)).astype(np.float32)#生成n*d个(0,1)正态分布的数据,排列成n行d列
X += np.linspace(0, 1, c).repeat(d // c)#生成d个数据,分成c组,组内相同,组间递加。X中每个样本(每行)加上生成的数据

# Noisy non-linear target.
w = np.random.normal(0, .02, d)
t = X.dot(w) + np.random.normal(0, .001, n)#样本各个维度的权重和偏差
t = np.tanh(t)#激活函数
plt.figure(figsize=(15, 5))
plt.plot(t, '.')

# Classification.
y = np.ones(t.shape, dtype=np.uint
  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值