SquareFace Blog


  • 首页

  • 关于

  • 标签

  • 归档

  • 搜索

论文逻辑

发表于 2019-10-08
字数统计: 510 | 阅读时长 ≈ 1

意义

建立信号和环境因子的关系。(这样不是意义,不能这样说。感觉差点意思,模型是数据驱动的,没有挖掘出来信号可以携带的信息)

目的

我现在可以用seq2seq去预测刺激后的信号,模型的可解释是没必要的(物理含义),因为本身就是数据驱动的。

重点:数据驱动的模型直接从历史电信号中探索植物电信号和盐胁迫的之间的关系,而无需考虑物理过程。

最主要的逻辑问题 :

训练好的seq2seq,已经发现了历史电信号中探索植物电信号和盐胁迫的之间的关系,描述就是网络结构。但是没办法进行深层次的描述。而且也可以使用。

缺乏可解释性的模型,对环境因子和电信号的关系,有啥用???

电信号预测:  可以知道植物刺激后的信号,可以用来分类。(刺激后的稳定波形是可以用来判定是否耐盐)
            可以知道植物和环境之间的关系模型。
            通过电信号知道植物所处的生长环境:这是分类的问题,和我写的预测不是一个问题啊。
                我可以描述环境信息来论证模型。  
                    相同环境采集到的电信号都不一样。。。
                    光梯度、盐梯度是Y
                    X是电信号(588个点)

解决方案

看相关文章都是怎么描述的。
    NLP:就是翻译或生成,肉眼看的见的应用。实用,
    ECG:分类可以看出有啥病,预测可以看出可能患病的概率。生成可以提高预测和分类的准确性。
    股票、交通流量、

同样的问题:
分类电信号的目的是区别品质—-> 这样做的目的仅仅是为了分类吗?那具体的应用意义是什么呢???

那我预测电信号的目的是什么????

未命名

发表于 2019-10-08
字数统计: 313 | 阅读时长 ≈ 1

title: 网络结构思考
date: 2019-10-08 11:42:34

tags:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

import tensorflow as tf
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

def add_layer(inputs, in_shape, out_shape, activation_function=None):
Weights = tf.Variable(tf.random_normal([in_shape, out_shape]))
bais = tf.Variable(tf.zeros([1, out_shape])+0.1)
y_pred = tf.matmul(inputs, Weights) + bais
if activation_function is None:
outputs = y_pred
else:
outputs = activation_function(y_pred)

return outputs


##### 创建数据,x y 的 shape[300,1]


x_data = np.linspace(-1,1,300, dtype=np.float32)[:, np.newaxis]

noise = np.random.normal(0, 0.05, x_data.shape).astype(np.float32)
y_data = np.square(x_data) - 0.5 + noise

xs = tf.placeholder(tf.float32, [None, 1])
ys = tf.placeholder(tf.float32, [None, 1])

l1 = add_layer(xs,1,10,activation_function=tf.nn.relu)
predict = add_layer(l1, 10, 1, activation_function=None)
loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-predict),
reduction_indices=[1]
))

train = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

init = tf.global_variables_initializer()

with tf.Session() as sess:
sess.run(init)
for i in range(1000):
# training
sess.run(train, feed_dict={xs: x_data, ys: y_data})
if i % 50 == 0:
# to see the step improvement
print(sess.run(loss, feed_dict={xs: x_data, ys: y_data}))

我的数据shape

x.shape = (None, 588) # 有N条样本,每条588个特征,也对有588个y。
y.shape = (None, 588)

588个x对应588个y可以计算吗?

这样我的数据对应的不是一个Y值,换个思路说,1个x对应一个y可以计算。588个x对应一个y可以计算。588个x对应588个y可以计算吗?

维度扩展,在第三个维度,数据都是1。这样可以计算。

斯皮尔曼spearman

发表于 2019-10-06
字数统计: 115 | 阅读时长 ≈ 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import pandas as pd
import numpy as np

#原始数据
X1=pd.Series([1, 2, 3, 4, 5, 6])
Y1=pd.Series([0.3, 0.9, 2.7, 2, 3.5, 5])



def spearman(x1, y1):
return(x1.corr(y1,method='spearman'))

print(spearman(X1,Y1))

#处理数据删除Nan
# x1=X1.dropna()
# y1=Y1.dropna()
# n=x1.count()
# x1.index=np.arange(n)
# y1.index=np.arange(n)

# #分部计算
# d=(x1.sort_values().index-y1.sort_values().index)**2
# dd=d.to_series().sum()

# p=1-n*dd/(n*(n**2-1))

# #s.corr()函数计算
r=x1.corr(y1,method='spearman')
print(r) #0.942857142857143 0.9428571428571428

seq2seq优化

发表于 2019-10-04
字数统计: 18 | 阅读时长 ≈ 1

67条测试集

平均rmse = 0.185417
最大rmse = 0.6110
最小rmse = 0.0588

AutoEncoder自编码器

发表于 2019-10-03
字数统计: 61 | 阅读时长 ≈ 1

自编码器是一种压缩特征的方法,和PCA降维类似。

自编码器主要用在降维和去噪。

def add(x, y, name=None):
“””Returns x + y element-wise.
“””

def sigmoid(x, name=None):
“””Computes sigmoid of x element-wise.

Specifically, y = 1 / (1 + exp(-x)). “””

1…111213…25
Square Face

Square Face

少不吃苦是废人,老不吃苦是贵人

121 日志
3 分类
32 标签
GitHub E-Mail YouTube Instagram
© 2020 Square Face | Site words total count: 45.5k
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4