javascript的数组.length的时间复杂度是多少?我认为它会保持不变,因为看起来属性是在所有阵列上自动设置的,你只是在查找它?
CFS 调度程序根据最小虚拟时间选择下一个进程,并使用红黑树(rbtree)有效地获得该值,使用 rbtree 我们将获得最小 O(h),这里 h 是 rbtree 的高度。但是,使用最小堆我们只能在 O(1) 时间内获得最小虚拟时间进程。我只想知道为什么在 CFS 实现中不考虑 min-heap,在内核级别使用 min-heap 有什么困难吗?
我目前正在尝试重现以下文章的结果.
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
我正在使用Keras和theano后端.在文章中,他谈到控制最终softmax层的温度以提供不同的输出.
温度.我们还可以在采样过程中使用Softmax的温度.将温度从1降低到更低的数值(例如0.5)使RNN更自信,但样品中也更保守.相反,较高的温度将带来更多的多样性,但代价是更多的错误(例如拼写错误等).特别是,设定温度非常接近零将是保罗格雷厄姆可能会说的最可能的事情:
我的模型如下.
model = Sequential()
model.add(LSTM(128, batch_input_shape = (batch_size, 1, 256), stateful = True, return_sequences = True))
model.add(LSTM(128, stateful = True))
model.add(Dropout(0.1))
model.add(Dense(256, activation = 'softmax'))
model.compile(optimizer = Adam(),
loss = 'categorical_crossentropy',
metrics = ['accuracy'])
Run Code Online (Sandbox Code Playgroud)
我能想到调整最终密集层温度的唯一方法是得到权重矩阵并将其乘以温度.有谁知道更好的方法吗?此外,如果有人看到我如何设置模型有任何错误,请告诉我,因为我是RNN新手.
我在arraylist中有N个数字.为了得到这个indexOf
,arraylist必须迭代最多N次,所以复杂性是O(N)
正确的吗?
我试图从标记为一个方法中获得完整的原始文本LuisIntent
中的LuisDialog
.
文档将这些方法显示为两个参数:
IDialogContext context, LuisResult result
Run Code Online (Sandbox Code Playgroud)
这两者都没有公开披露消息的原始文本.上下文对象确实包含消息但在私有属性(context.data.message.text
)中是不可访问的.
有没有办法在中访问它context
,还是可以将它传递给对话框构造函数?
我试图backpropagation
在一个简单的3层神经网络中理解MNIST
.
有输入层weights
和a bias
.标签是MNIST
如此,它是一个10
类向量.
第二层是linear tranform
.第三层是softmax activation
将输出作为概率.
Backpropagation
计算每一步的导数并将其称为梯度.
以前的图层将渐变global
或previous
渐变附加到local gradient
.我无法计算local gradient
的softmax
在线的几个资源通过softmax及其衍生物的解释,甚至给出了softmax本身的代码样本
def softmax(x):
"""Compute the softmax of vector x."""
exps = np.exp(x)
return exps / np.sum(exps)
Run Code Online (Sandbox Code Playgroud)
所述衍生物相对于解释时i = j
和当i != j
.这是一个简单的代码片段,我想出来并希望验证我的理解:
def softmax(self, x):
"""Compute the softmax of vector x."""
exps = np.exp(x)
return exps / np.sum(exps)
def forward(self):
# self.input …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在CNTK中实现LSTM(使用Python)来对序列进行分类.
输入:
特征是固定长度的数字序列(时间序列)
标签是单热值的向量
网络:
input = input_variable(input_dim)
label = input_variable(num_output_classes)
h = Recurrence(LSTM(lstm_dim)) (input)
final_output = C.sequence.last(h)
z = Dense(num_output_classes) (final_output)
loss = C.cross_entropy_with_softmax(z, label)
Run Code Online (Sandbox Code Playgroud)
输出: 序列与标签匹配的概率
所有尺寸都是固定的,所以我认为我不需要任何动态轴,也没有指定任何尺寸.
然而,CNTK并不开心,我得到:
return cross_entropy_with_softmax(output_vector, target_vector, axis, name)
RuntimeError: Currently if an operand of a elementwise operation has any dynamic axes, those must match the dynamic axes of the other operands
Run Code Online (Sandbox Code Playgroud)
如果(根据一些例子)我用动态轴定义标签
label = input_variable(num_output_classes, dynamic_axes=[C.Axis.default_batch_axis()])
Run Code Online (Sandbox Code Playgroud)
它不再抱怨这一点,并进一步:
tf = np.split(training_features,num_minibatches)
tl = np.split(training_labels, num_minibatches)
for i in range(num_minibatches*num_passes): # multiply by the
features …
Run Code Online (Sandbox Code Playgroud) cppreference.com说范围擦除的复杂性std::map
是:
log(c.size())+ std :: distance(first,last)
而迭代器对单个元素的擦除是分摊的常量.所以,如果我在循环中擦除元素:
for( auto it = first; it != last; it = map.erase( it ) );
Run Code Online (Sandbox Code Playgroud)
这应该是线性的std::distance(first, last)
,cplusplus.com同意这一点.标准说什么?这是cppreference.com上的错字吗?
我正在阅读有关深度学习的论文.他们中的大多数是指无监督学习.
他们还说,使用无监督的RBM网络对神经元进行预训练.之后,他们使用反向传播算法(监督)进行微调.
那么我们可以使用深度学习解决监督学习问题吗?
我试图找出是否可以将深度学习应用于文档分类问题.我知道有很好的分类器可供选择.但我的目标是找出我们是否可以为此目的使用深度学习.
machine-learning neural-network supervised-learning deep-learning
根据cppreference.com,C++ STL排序算法的复杂性是:
sort
:O(N log(N))
partial_sort
:"大约"O(N log(M)),其中M是距离(中间第一个)
nth_element
:"平均"O(N)
但是,这似乎意味着partial_sort
,您可以使用nth_element
然后对第一个范围进行排序,而不是执行a ,以提供O(N + M log(M))的总体复杂度,这比O(N log)好一点(M)).这是真的吗?我最好避免partial_sort
吗?
python ×3
c++ ×2
softmax ×2
algorithm ×1
arraylist ×1
azure-language-understanding ×1
botframework ×1
c# ×1
cntk ×1
java ×1
javascript ×1
keras ×1
linux-kernel ×1
lstm ×1
numpy ×1
scheduler ×1
stdmap ×1
theano ×1