首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sci-kit学习从ANN检索矩阵

使用sci-kit学习从ANN检索矩阵
EN

Stack Overflow用户
提问于 2017-02-16 02:47:22
回答 1查看 156关注 0票数 0

USing Python3.5,我执行以下操作

代码语言:javascript
复制
from sklearn.neural_network import MLPRegressor
import pandas as pd

从sklearn导入数据集从sklearn.decomposition导入PCA

代码语言:javascript
复制
# import some data to play with
iris = datasets.load_iris()
X = iris.data[0:100, :2]  # we only take the first two features.
Y = iris.target[0:100]

X = StandardScaler().fit_transform(X)

X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.15)
reg = MLPRegressor(hidden_layer_sizes=(10,),
                           solver="lbfgs", #solver="lbfgs",
                           max_iter = 10000,
                           activation = 'relu')
reg.fit(X_train,y_train)

我可以使用reg.coefs_[0]得到矩阵,但是当我将它乘以测试用例时,我得不到0或1

我正在尝试做的是基于实验室数据训练一个人工神经网络,然后在一块硬件上将其实现为矩阵乘法。硬件可以做基本的运算,所以我需要将我的ANN解构成一个矩阵,然后将矩阵乘法编程为迭代乘法/加法

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-16 04:26:03

简短的“针对这个问题”的答案是

代码语言:javascript
复制
np.dot((np.dot(X_test[0],reg.coefs_[0]) +reg.intercepts_[0] ),reg.coefs_[1]) + reg.intercepts_[1]

长长的答案如下(这里有更长的版本:https://www.mohammadathar.com/blog/2017/2/15/a-different-look-at-neural-networks )

感知器神经网络可以这样建模:

真正的意思是,“将输入值乘以一个权重,然后添加一个偏置值。然后激活。然后乘以权重,然后添加。然后激活。然后重复!”

作为矩阵数学,它看起来像这样

因此,reg.coefs_是矩阵系数(每层),reg.intercepts_是激活值(同样,每层)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42257708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档