当我正在阅读Tomas Mikolov的一篇论文时:http://arxiv.org/pdf/1301.3781.pdf
我对"连续词袋模型"部分有一个担忧:
第一个提出的体系结构类似于前馈NNLM,其中去除了非线性隐藏层,并且所有单词(不仅仅是投影矩阵)共享投影层.因此,所有单词都被投射到相同的位置(它们的向量被平均).
我发现有些人提到Word2Vec模型中有一个隐藏层,但根据我的理解,该模型中只有一个投影层.此投影图层是否与隐藏图层完成相同的工作?
另一个问题是如何将输入数据投影到投影层?
"投影层是所有单词(不仅仅是投影矩阵)共享的",这意味着什么?
在我用"conda install pip"安装pip之后,我现在正在使用anaconda pip,如果我想再次使用系统pip,我该如何制作呢?或者我怎样才能将系统点数转换为anaconda点?
我尝试使用从nolearn包导入的DBN函数,这是我的代码:
from nolearn.dbn import DBN
import numpy as np
from sklearn import cross_validation
fileName = 'data.csv'
fileName_1 = 'label.csv'
data = np.genfromtxt(fileName, dtype=float, delimiter = ',')
label = np.genfromtxt(fileName_1, dtype=int, delimiter = ',')
clf = DBN(
[data, 300, 10],
learn_rates=0.3,
learn_rate_decays=0.9,
epochs=10,
verbose=1,
)
clf.fit(data,label)
score = cross_validation.cross_val_score(clf, data, label,scoring='f1', cv=10)
print score
Run Code Online (Sandbox Code Playgroud)
由于我的数据具有形状(1231,229)和带有形状(1231,13)的标签,因此标签集看起来像([0 0 1 0 1 0 1 0 0 0 1 1 0] ...,[.. ..]),当我运行我的代码时,我得到了这个错误信息:输入形状不好(1231,13).我想知道这里可能发生两个问题:
当我使用nolearn实现多标签分类时,我收到此错误:
'在索引1(基于0)的名称为"/Users/lm/Documents/anaconda/lib/python2.7/site-packages/nolearn/lasagne/base.p y:391"的theano函数输入参数错误,'TensorType(float32,matrix)无法存储dtype int64的值而不会有丢失精度的风险.如果你不介意这种损失,你可以:1)显式地将你的数据转换为float32,或者2)在调用"function"时设置"allow_input_downcast = True".',array([[0,0,0,... ,0,0,1],