小编Mar*_*jko的帖子

为什么仅在输出层而不是在隐藏层中使用softmax?

我见过的用于分类任务的神经网络的大多数例子都使用softmax层作为输出激活函数.通常,其他隐藏单元使用sigmoid,tanh或ReLu函数作为激活函数.据我所知,在这里使用softmax函数也可以用数学方法计算出来.

  • 不使用softmax函数作为隐藏层激活函数的理论依据是什么?
  • 有没有关于此的出版物,引用什么?

classification machine-learning neural-network softmax activation-function

14
推荐指数
2
解决办法
8440
查看次数

在回归模型中使用Keras ImageDataGenerator

我想用

flow_from_directory
Run Code Online (Sandbox Code Playgroud)

的方法

ImageDataGenerator
Run Code Online (Sandbox Code Playgroud)

生成回归模型的训练数据,其中目标值可以是介于1和-1之间的任何浮点值.

flow_from_directory
Run Code Online (Sandbox Code Playgroud)

有一个带有descripton的"class_mode"参数

class_mode:"分类","二进制","稀疏"或"无"之一.默认值:"分类".确定返回的标签数组的类型:"分类"将是2D单热编码标签,"二进制"将是1D二进制标签,"稀疏"将是1D整数标签.

我应该选择以下哪些值?他们似乎都不适合......

regression machine-learning neural-network keras

14
推荐指数
3
解决办法
5231
查看次数

在model.fit()期间记录Keras中每个纪元的计算时间

我想比较不同模型之间的计算时间.在拟合期间,每个纪元的计算时间被打印到控制台.

Epoch 5/5
160000/160000 [==============================] - **10s** ......
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来存储这些时间,类似于在每个时期保存并通过历史对象可用的模型指标.

python machine-learning neural-network deep-learning keras

14
推荐指数
2
解决办法
7582
查看次数

TimeDistributed与TimeDistributedDense Keras

我已经阅读了官方文档,但仍然无法理解TimeDistributedKeras模型中的实际作用是什么?

我不明白之间的差别TimeDistributedTimeDistributedDense?有人会TimeDistributedDense什么时候使用?它只是为了减少训练数据集吗?它有其他好处吗?

任何人都可以用一个精确的例子来解释这两种类型的包装器有什么作用?

python machine-learning neural-network keras keras-layer

13
推荐指数
1
解决办法
6267
查看次数

如何确定Keras Conv2D函数中的"滤波器"参数

我刚刚开始我的ML之旅并做了一些教程.有一点不清楚(对我来说)是如何为Keras Conv2D确定'过滤器'参数.

我读过的大多数资源都只是将参数设置为32而没有解释.这只是一个经验法则还是输入图像的尺寸起作用?例如,CIFAR-10中的图像是32x32

特别:

model = Sequential()
filters = 32
model.add(Conv2D(filters, (3, 3), padding='same', input_shape=x_train.shape[1:]))

model.add(Activation('relu'))
model.add(Conv2D(filters, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
Run Code Online (Sandbox Code Playgroud)

下一层的过滤器参数为filter*2或64.再次,这是如何计算的?

TX.

machine-learning convolution neural-network conv-neural-network keras

13
推荐指数
2
解决办法
7991
查看次数

keras flow_from_directory对类进行过采样或欠采样

我正在尝试使用Keras进行二进制分类问题,使用该ImageDataGenerator.flow_from_directory方法生成批处理.但是,我的类非常不平衡,比如在一个类中比另一个类大约多8倍或9倍,导致模型卡住为每个示例预测相同的输出类.有没有办法在flow_from_directory我的小班上设置过采样,或者在每个纪元期间从我的大班中设置欠采样?现在,我刚刚在我的小班级中创建了每个图像的多个副本,但我希望有更多的灵活性.

python machine-learning neural-network deep-learning keras

12
推荐指数
2
解决办法
4292
查看次数

我可以将回调发送给KerasClassifier吗?

如果耐心达到我设定的数量,我希望分类器运行得更快并提前停止.在下面的代码中,它进行了10次迭代拟合模型.

import numpy
import pandas
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
from keras.wrappers.scikit_learn import KerasClassifier
from keras.callbacks import EarlyStopping, ModelCheckpoint
from keras.constraints import maxnorm
from keras.optimizers import SGD
from sklearn.model_selection import cross_val_score
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import StratifiedKFold
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)
# load dataset
dataframe = pandas.read_csv("sonar.csv", header=None)
dataset = dataframe.values
# split into input (X) and …
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network scikit-learn keras

12
推荐指数
1
解决办法
4267
查看次数

Keras/Tensorflow*中的L1正则化真的是*L1正则化吗?

我在Keras的神经网络参数上使用L1正则化keras.regularizers.l1(0.01)来获得稀疏模型.我发现,虽然我的许多系数接近于零,但实际上很少有系数为零.

在查看正则化的源代码时,它表明Keras只是将参数的L1范数添加到损失函数中.

这将是不正确的,因为参数几乎肯定永远不会像L1正则化那样变为零(在浮点误差内).当参数为零时,L1范数不可微分,因此如果参数设置为零(如果在优化例程中足够接近零),则需要使用次梯度方法.请在max(0, ..) 此处查看软阈值运算符.

Tensorflow/Keras是否会这样做,或者这对随机梯度下降是否不切实际?

编辑:这里还有一篇精湛的博客文章,解释了L1正则化的软阈值运算符.

machine-learning neural-network deep-learning keras tensorflow

12
推荐指数
2
解决办法
3806
查看次数

卷积神经网络Conv1d输入形状

我正在尝试创建一个CNN来对数据进行分类.我的数据是X [N_data,N_features]我想创建一个能够对其进行分类的神经网络.我的问题是关于keras后端的Conv1D的输入形状.

我想重复一个过滤器..让我说10个功能,然后为接下来的十个功能保持相同的权重.对于每个数据,我的卷积层将创建N_features/10个新神经元.我怎么能这样做?我应该在input_shape中添加什么?

def cnn_model():
model = Sequential()                                               
model.add(Conv1D(filters=1, kernel_size=10 ,strides=10,     
                  input_shape=(1, 1,N_features),kernel_initializer= 'uniform',      
                  activation= 'relu')) 
model.flatten()
model.add(Dense(N_features/10, init= 'uniform' , activation= 'relu' ))
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢!

input machine-learning neural-network conv-neural-network keras

12
推荐指数
3
解决办法
2万
查看次数

Keras Tokenizer num_words似乎不起作用

>>> t = Tokenizer(num_words=3)
>>> l = ["Hello, World! This is so&#$ fantastic!", "There is no other world like this one"]
>>> t.fit_on_texts(l)
>>> t.word_index
{'fantastic': 6, 'like': 10, 'no': 8, 'this': 2, 'is': 3, 'there': 7, 'one': 11, 'other': 9, 'so': 5, 'world': 1, 'hello': 4}
Run Code Online (Sandbox Code Playgroud)

我原本预计t.word_index会有前3个单词.我究竟做错了什么?

machine-learning tokenize neural-network deep-learning keras

11
推荐指数
3
解决办法
2561
查看次数