对于前馈网络(FFN),可以轻松计算参数数量.鉴于CNN,LSTM等有一种快速查找keras模型中参数数量的方法吗?
我有一个M x N 2D数组:第i行代表在时间i的N个点的值.
我希望以图形的形式可视化点[数组的1行],其中值在一小段时间后得到更新.因此,图表一次显示1行,然后将值更新为下一行,依此类推.
我想在一个jupyter笔记本中这样做.寻找参考代码.
我尝试了一些事情,但没有成功:
我正在构建二进制分类问题的模型,其中我的每个数据点都是300维(我使用300个特征).我正在使用sklearn的PassiveAggressiveClassifier.该模型表现非常好.
我希望绘制模型的决策边界.我怎么能这样做?
为了了解数据,我使用TSNE在2D中绘制它.我通过两个步骤减少了数据的维度 - 从300到50,然后从50减少到2(这是一个常见的推荐).以下是相同的代码段:
from sklearn.manifold import TSNE
from sklearn.decomposition import TruncatedSVD
X_Train_reduced = TruncatedSVD(n_components=50, random_state=0).fit_transform(X_train)
X_Train_embedded = TSNE(n_components=2, perplexity=40, verbose=2).fit_transform(X_Train_reduced)
#some convert lists of lists to 2 dataframes (df_train_neg, df_train_pos) depending on the label -
#plot the negative points and positive points
scatter(df_train_neg.val1, df_train_neg.val2, marker='o', c='red')
scatter(df_train_pos.val1, df_train_pos.val2, marker='x', c='green')
Run Code Online (Sandbox Code Playgroud)
我得到了一个体面的图表.
有没有办法可以为这个图添加一个决策边界,它代表我模型在300昏暗空间中的实际决策边界?
我为分类(0/1)NLP任务开发了ML模型,并将其部署在生产环境中.向用户显示模型的预测,并且用户可以选择给出反馈(如果预测是正确/错误的话).
如何在模型中不断加入这些反馈?从用户体验的角度来看,你不希望用户为特定输入纠正/教导系统超过两次/三次,系统会快速学习,因此反馈应该"快速"合并.(Google优先收件箱以无缝方式执行此操作)
如何建立我的系统可以改进的"反馈循环"?我在网上搜索了很多但找不到相关资料.任何指针都会有很大的帮助.
请不要说通过包含新数据点从头开始重新训练模型.这肯定不是谷歌和Facebook如何建立他们的智能系统
为了进一步解释我的问题 - 想想谷歌的垃圾邮件检测器或他们的优先收件箱或他们最近的"智能回复"功能.众所周知,他们有能力学习/合并(快速)用户提要.
一直以来它快速整合了用户反馈(即用户必须每个数据点教授系统正确的输出2-3次,并且系统开始为该数据点提供正确的输出)并且它还确保它保持旧的学习和在结合新数据点的学习的同时,不会开始在较旧的数据点上提供错误的输出(它提前提供正确的输出).
我还没有找到任何关于如何构建这样的系统的博客/文献/讨论 - 一个在ML系统中以详细说明循环解释的智能系统
希望我的问题现在更加明确.
更新:我发现的一些相关问题是:
https://datascience.stackexchange.com/questions/1073/libraries-for-online-machine-learning
http://mlwave.com/predicting-click-through-rates-with-online-machine-learning/
更新:我仍然没有具体的答案,但这样的配方确实存在.请阅读以下博客Machine Learning!= Learning Machine中的"从反馈中学习"部分 .在这个Jean谈到"向机器添加反馈摄取循环".同样在这里,这里,4.
artificial-intelligence machine-learning prediction deep-learning keras
我正在使用keras在Deep Nets上工作.有一个激活"硬sigmoid".它的数学定义是什么?
我知道什么是Sigmoid.有人在Quora上提出了类似的问题:https://www.quora.com/What-is-hard-sigmoid-in-artificial-neural-networks-Why-is-it-faster-than-standard-sigmoid-Are-there -任何-缺点,过度的标准S型
但我无法在任何地方找到精确的数学定义?
I have a numpy array (A) of shape = (100000, 28, 28)
I reshape it using A.reshape(-1, 28x28)
Run Code Online (Sandbox Code Playgroud)
这在机器学习管道中非常常见.这是如何运作的 ?我从来没有理解重塑中"-1"的含义.
确切的问题是这个 但没有可靠的解释.有什么答案吗?
想象一下二元分类问题,如情绪分析.既然我们有标签,我们不能用实际预测的间隔作为RL的奖励吗?
我想尝试强化学习分类问题
我对keras很新.尝试为NLP任务构建二进制分类器.(我的代码来自imdb示例 - https://github.com/fchollet/keras/blob/master/examples/imdb_cnn.py)
以下是我的代码片段:
max_features = 30
maxlen = 30
batch_size = 32
embedding_dims = 30
nb_filter = 250
filter_length = 3
hidden_dims = 250
nb_epoch = 3
(Train_X, Train_Y, Test_X, Test_Y) = load_and_split_data()
model = Sequential()
model.add(Embedding(max_features, embedding_dims, input_length=maxlen))
model.add(Convolution1D(nb_filter=nb_filter,filter_length=filter_length,border_mode="valid",activation="relu",subsample_length=1))
model.add(MaxPooling1D(pool_length=2))
model.add(Flatten())
model.add(Dense(hidden_dims))
model.add(Activation('relu'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='rmsprop', class_mode="binary")
fitlog = model.fit(Train_X, Train_Y, batch_size=batch_size, nb_epoch=nb_epoch, show_accuracy=True, verbose=2)
Run Code Online (Sandbox Code Playgroud)
当我运行model.fit()时,我收到以下错误:
/.virtualenvs/nnet/lib/python2.7/site-packages/theano/compile/function_module.pyc in __call__(self, *args, **kwargs)
857 t0_fn = time.time()
858 try:
--> 859 outputs = self.fn()
860 except Exception:
861 …
Run Code Online (Sandbox Code Playgroud) 在PyTorch中,new_ones()
vs 之间有什么区别ones()
.例如,
x2.new_ones(3,2, dtype=torch.double)
Run Code Online (Sandbox Code Playgroud)
VS
torch.ones(3,2, dtype=torch.double)
Run Code Online (Sandbox Code Playgroud) keras ×4
python ×4
plot ×2
data-science ×1
graph ×1
math ×1
matplotlib ×1
nlp ×1
numpy ×1
prediction ×1
pytorch ×1
scikit-learn ×1
tensorflow ×1
theano ×1