Questions tagged «neural-networks»

人工神经网络(ANN)是一类广泛的基于生物神经网络的计算模型。它们包括前馈NN(包括“深度” NN),卷积NN,递归NN等。

1
如何将简单的感知器内核化?
带有非线性边界的分类问题不能通过简单的感知器来解决。以下R代码出于说明目的,并且基于Python中的此示例): nonlin <- function(x, deriv = F) { if (deriv) x*(1-x) else 1/(1+exp(-x)) } X <- matrix(c(-3,1, -2,1, -1,1, 0,1, 1,1, 2,1, 3,1), ncol=2, byrow=T) y <- c(0,0,1,1,1,0,0) syn0 <- runif(2,-1,1) for (iter in 1:100000) { l1 <- nonlin(X %*% syn0) l1_error <- y - l1 l1_delta <- l1_error * …

2
神经网络中的交叉熵代价函数
我正在看本教程中发现的交叉熵成本函数: C=−1n∑x[ylna+(1−y)ln(1−a)]C=−1n∑x[yln⁡a+(1−y)ln⁡(1−a)]C = -\frac{1}{n} \sum_x [y \ln a+(1−y)\ln(1−a)] 我们到底要总结什么?当然,过,但和不改变。所有的的被输入到所述一个。 甚至在方程以上段落中,因为所有的和的函数来定义的和的。 xxxyyyaaaxxxxxxaaaaaawwwxxx 另外,定义为输入到该特定神经元的数量,对吗?它被表述为“训练数据项的总数”。nnn 编辑: 我认为正确吗 C=−1n∑x[ylna+(1−y)ln(1−a)]C=−1n∑x[yln⁡a+(1−y)ln⁡(1−a)]C= -\frac{1}{n} \sum_x [y \ln a+(1−y)\ln(1−a)] 将是整个网络的成本函数,而 C=[ylna+(1−y)ln(1−a)]C=[yln⁡a+(1−y)ln⁡(1−a)]C = [y \ln a+(1−y)\ln(1−a)] 单个神经元的成本是多少?总和不应该超过每个输出神经元吗?

2
什么是预训练?如何预训练神经网络?
我知道预培训可避免常规培训中的某些问题。如果我将反向传播与自动编码器一起使用,我知道我会遇到时间问题,因为反向传播的速度很慢,而且我会陷入局部最优状态而无法学习某些功能。 我不了解的是我们如何预训练网络,以及具体如何进行预训练。例如,如果给我们一堆受限的玻尔兹曼机器,我们将如何对该网络进行预训练?

1
如何确定CNN中卷积运算符的数量?
在使用卷积神经网络(CNN)进行计算机视觉任务(例如对象分类)时,该网络具有出色的性能。但是我不确定如何在卷积层中设置参数。例如,在灰度图像(480x480)中,第一卷积层可以使用像的卷积算子11x11x10,其中数字10表示卷积算子的数量。 问题是如何确定CNN中卷积运算符的数量?

4
使用神经网络,auto.arima和ets进行R时间序列预测
我听说过一些有关使用神经网络预测时间序列的信息。 如何比较哪种预测时间序列(每日零售数据)的方法更好:auto.arima(x),ets(x)或nnetar(x)。 我可以通过AIC或BIC将auto.arima与ets进行比较。但是如何将它们与神经网络进行比较? 例如: > dput(x) c(1774, 1706, 1288, 1276, 2350, 1821, 1712, 1654, 1680, 1451, 1275, 2140, 1747, 1749, 1770, 1797, 1485, 1299, 2330, 1822, 1627, 1847, 1797, 1452, 1328, 2363, 1998, 1864, 2088, 2084, 594, 884, 1968, 1858, 1640, 1823, 1938, 1490, 1312, 2312, 1937, 1617, 1643, 1468, …

1
CPH,加速故障时间模型或神经网络用于生存分析的比较
我是生存分析的新手,我最近了解到,对于特定目标,可以采用不同的方法进行。我对这些方法的实际实现和适当性感兴趣。 向我介绍了传统的Cox比例危害,加速故障时间模型和神经网络(多层感知器),作为根据患者的时间,状态和其他医学数据获得患者生存的方法。据说这项研究将在五年内完成,目标是每年为新的记录给出生存风险。 我发现了两个实例,这些实例是通过Cox PH选择其他方法的: 我发现“ 如何从Cox PH模型获得生存期的预测 ”,并提到: 如果您对获取特定时间点生存概率的估计特别感兴趣,我将向您介绍参数化生存模型(又称为加速故障时间模型)。这些是在R的生存程序包中实现的,将为您提供参数化的生存时间分布,您可以在其中简单地插入您感兴趣的时间并获取生存概率。 我去了推荐的站点,并在survival软件包中找到了一个函数survreg。 在此评论中建议使用神经网络: 神经网络方法进行生存分析的一个优势是它们不依赖于Cox分析基础的假设... 另一个问题是“ 带有目标向量的R神经网络模型,其输出包含生存预测 ”,给出了一种详尽的方法来确定神经网络和Cox PH中的生存。 用于获得生存的R代码如下所示: mymodel <- neuralnet(T1+T2+T3+T4+T5~covar1+covar2+covar3+..., data=mydata, hidden=1) compute(mymodel,data=mydata) 我去了R论坛,并在“ predict.coxph和predict.survreg ” 问题中找到了这个答案: 确实,从的predict()功能中,coxph您不能直接获得“时间”预测,而只能获得线性和指数风险评分。这是因为,为了获得时间,必须计算基准危害,而且它并不直接,因为它在Cox模型中是隐含的。 我想知道这三个(或两个考虑Cox PH的论点)中哪一个最适合获取感兴趣时间段的生存率?我对在生存分析中使用哪一个感到困惑。

4
神经网络权重的收敛
我遇到一种情况,即使经过500次迭代,我的神经网络的权重仍未收敛。我的神经网络包含1个输入层,1个隐藏层和1个输出层。它们在输入层中约为230个节点,在隐藏层中约为9个节点,在输出层中约为1个输出节点。我想知道是否要尽早停止条件(例如,在100次迭代后停止神经网络训练)。这会对模型产生什么影响? 还想知道如果神经网络中的权重不收敛,行业的工作标准是什么?

2
用逻辑函数转换的高斯随机变量的期望值
逻辑函数和标准差通常都表示为。我将使用和作为标准偏差。σσ\sigmaσ(x)=1/(1+exp(−x))σ(x)=1/(1+exp⁡(−x))\sigma(x) = 1/(1+\exp(-x))sss 我有一个逻辑输入随机输入的逻辑神经元,其均值和标准差我所知。我希望可以通过一些高斯噪声很好地估计出与平均值的差。因此,略微使用符号,假定它产生。的期望值是多少?与或相比,标准偏差可能大或小。理想值的良好闭合形式近似值几乎与闭合形式解决方案一样好。μμ\musssσ(μ+N(0,s2))=σ(N(μ,s2))σ(μ+N(0,s2))=σ(N(μ,s2))\sigma(\mu + N(0,s^2))=\sigma(N(\mu,s^2))σ(N(μ,s2))σ(N(μ,s2))\sigma(N(\mu,s^2))sssμμ\mu111 我认为不存在封闭形式的解决方案。这可以看作是卷积,并且逻辑密度的特征函数是已知的(),但是我不确定有什么帮助。该逆符号计算器无法识别密度物流配送的密度的卷积和标准正态分布,这说明,但并不能证明没有简单的基本积分。更多的间接证据:在一些将高斯输入噪声添加到具有逻辑神经元的神经网络的论文中,这些论文也未给出封闭形式的表达式。πt csch πtπt csch πt\pi t ~\text{csch} ~\pi t000 这个问题产生于试图了解玻尔兹曼机中平均场近似的误差。

2
AlphaZero纸中Dirichlet噪声的目的
在DeepMind的AlphaGo Zero和AlphaZero论文中,他们描述了在蒙特卡洛树搜索中,将Dirichlet噪声添加到根节点(板状态)的先验概率上: 通过将Dirichlet噪声添加到根节点的先验概率来实现额外的探索,特别是,其中和\ varepsilon = 0.25 ; 这种噪音确保可以尝试所有动作,但是搜索可能仍会否决不良动作。 P (小号,一)= (1 - ε )p 一个 + ε η 一个 η 〜风向(0.03 )ε = 0.25s0s0s_0P(s,a)=(1−ε)pa+εηaP(s,a)=(1−ε)pa+εηaP(s, a) = (1−\varepsilon)p_a+ \varepsilon \eta_aη∼Dir(0.03)η∼Dir(0.03)\eta \sim \text{Dir}(0.03)ε=0.25ε=0.25\varepsilon = 0.25 (AlphaGo零) 和: Dirichlet噪声Dir(α)Dir(α)\text{Dir}(\alpha)已添加到根节点中的先验概率;这与典型位置中合法移动的近似数量成反比例,即α={0.3,0.15,0.03}α={0.3,0.15,0.03}\alpha = \{0.3, \; 0.15, \; 0.03\}用于国际象棋,将棋和围棋。 (零零) 我不明白的两件事: P(s, a)是维向量。是的简写与狄利克雷分布参数,每个的值是?风向(α )ñ αnnnDir(α)Dir(α)\text{Dir}(\alpha)nnnαα\alpha 我只遇到Dirichlet作为多项式分布的共轭形式。为什么在这里挑选呢? 就上下文而言,P(s, …

3
当输入条件独立时,超平面可以对数据进行最佳分类-为什么?
在名为“ 深度学习和信息瓶颈原理”的论文中,作者在II A)节中指出: 单神经元只能对线性可分离的输入进行分类,因为它们只能在其输入空间实现超平面。当输入是独立的时,超平面可以对数据进行最佳分类。u=wh+bu=wh+bu = wh+b 为了说明这一点,他们得出以下结论。使用贝叶斯定理,他们得到: (1)p(y|x)=11+exp(−logp(x|y)p(x|y′)−logp(y)p(y′))p(y|x)=11+exp(−logp(x|y)p(x|y′)−logp(y)p(y′))p(y|x) = \frac{1}{1 + exp(-log\frac{p(x|y)}{p(x|y')} -log\frac{p(y)}{p(y')})} 其中是输入,y是类别,y '是预测类别(我假设,y '未定义)。继续,他们说:xxxyyyy′y′y'y′y′y' (2)p(x|y)p(x|y′)=∏Nj=1[p(xj|y)p(xj|y′)]np(xj)p(x|y)p(x|y′)=∏j=1N[p(xj|y)p(xj|y′)]np(xj)\frac{p(x|y)}{p(x|y')} = \prod^N_{j=1}[\frac{p(x_j|y)}{p(x_j|y')}]^{np(x_j)} 其中是输入维度,n不确定(同样,两者均未定义)。考虑一个S型神经元,S型激活函数σ (u )= 1NNNnnn和预激活u,将(2)插入(1)后,我们得到最佳权重值wj=logp(xj|y)σ(u)=11+exp(−u)σ(u)=11+exp(−u)\sigma(u) = \frac{1}{1+exp(-u)}uuu和b=logp(y)wj=logp(xj|y)p(xj|y′)wj=logp(xj|y)p(xj|y′)w_j = log\frac{p(x_j|y)}{p(x_j|y')},当输入值ħĴ=Ñp(XĴ)。b=logp(y)p(y′)b=logp(y)p(y′)b=log\frac{p(y)}{p(y')}hj=np(xj)hj=np(xj)h_j=np(x_j) 现在我的问题。我知道将(2)插入(1)会导致最佳权重和输入值。我不明白的是以下内容:w,b,hw,b,hw,b,h (1)如何使用贝叶斯定理导出? (2)如何得出?什么是?它是什么意思?我认为这与条件独立性有关nnn 即使x的尺寸是有条件独立的,如何能说出x等于其缩放的概率?(即如何陈述?)hj=np(xj)hj=np(xj)h_j=np(x_j) 编辑:变量是一个二进制类变量。据此,我认为y '是“其他”类。这将解决问题1.您是否同意?yyyy′y′y'

2
WaveNet并不是真正的膨胀卷积,是吗?
在最近的WaveNet论文中,作者将他们的模型称为具有膨胀卷积的堆叠层。他们还产生以下图表,解释“常规”卷积和膨胀卷积之间的区别。 常规卷积看起来像是 一个卷积为2且步幅为1的卷积,重复4层。 然后,他们展示了其模型所使用的体系结构,它们称为膨胀卷积。看起来像这样。 他们说每一层的膨胀都增加了(1、2、4、8)。但是对我来说,这看起来像是常规卷积,滤镜大小为2,步幅为2,重复了4层。 据我了解,一个过滤器大小为2,步幅为1,膨胀为(1、2、4、8、8)的膨胀卷积看起来像这样。 在WaveNet图表中,没有一个过滤器会跳过可用的输入。没有孔。在我的图中,每个过滤器跳过(d-1)个可用输入。这是扩张应该不会起作用的方式吗? 所以我的问题是,以下哪个命题是正确的? 我不了解膨胀和/或规则卷积。 Deepmind实际上并没有实现膨胀卷积,而是跨步卷积,但是滥用了膨胀一词。 Deepmind确实实现了膨胀卷积,但没有正确实现图表。 我对TensorFlow代码的理解不够流利,无法理解他们的代码到底在做什么,但是我确实在Stack Exchange上发布了一个相关的问题,其中包含一些可以回答这个问题的代码。

1
SVM =模板匹配如何?
我了解了SVM,并了解到它们正在解决优化问题,并且最大利润率的想法非常合理。 现在,使用内核,他们甚至可以找到很棒的非线性分离边界。 到目前为止,我真的不知道SVM(一种特殊的内核计算机)和内核计算机如何与神经网络相关联? 在这里考虑Yann Lecun => 的评论: kernel methods were a form of glorified template matching 还有这里: 例如,一些人因为与之相关的数学运算而对内核方法感到迷惑。但是,正如我在过去所说的,最后,内核计算机是执行“标准化模板匹配”的浅层网络。没什么错(SVM是一种很好的方法),但是它有可怕的局限性,我们都应该意识到。 所以我的问题是: SVM与神经网络有何关系?浅层网络如何? SVM通过定义明确的目标函数解决了优化问题,它如何进行模板匹配?输入与之匹配的模板在这里是什么? 我想这些评论需要对高维空间,神经网络和内核机器有透彻的了解,但到目前为止,我一直在尝试并且无法理解其背后的逻辑。但是,注意到两种截然不同的ml技术之间的联系肯定很有趣。 编辑:我认为从神经的角度理解SVM会很棒。我正在寻找对以上两个问题的数学支持的完整答案,以便真正理解SVM和神经网络之间的联系,无论是线性SVM还是带有内核技巧的SVM。

1
具有L2正则化的RNN停止学习
我使用双向RNN来检测不平衡事件的发生。积极的阶层比消极的阶层少100倍。尽管不使用正则化,但我可以在训练集上获得100%的准确性,在验证集上获得30%的准确性。我启用了l2正则化,结果在训练集上的准确度也只有30%,而不是更长的学习,而在验证集上的准确度是100%。 我当时以为我的数据可能太小了,所以只是为了进行实验,我将训练集与以前未使用的测试集合并了。情况与我使用l2正则化的情况相同,而我现在没有。我在训练+测试和验证中获得了30%的准确性。 在提到的实验中使用128个隐藏单元和80个时间步长当我将隐藏单元的数量增加到256个时,我可以再次在Train + Test Set上过拟合以达到100%的准确性,但在验证组上仍然只有30%。 我确实为超参数尝试了很多选项,但几乎没有结果。可能是加权的交叉熵引起了问题,在给定的实验中,正类的权重为5。尝试更大的权重时,结果的准确性通常会降低20%左右。 我尝试了LSTM和GRU细胞,没有区别。 我得到的最好的结果。我尝试了2个具有256个隐藏单元的隐藏层,这花了大约3天的计算时间和8GB的GPU内存。在进行l2正则化时,我再次获得了40-50%的准确度,然后又开始过度拟合,但强度不高。 我使用的是Adam优化器,其他的则效果不佳。我拥有的功能就足够了,因为在使用状态机时,我可以获得90%的精度。在该状态机中,主要特征是基于其他特征属性进行求和和阈值处理,并且其可变长度有时为10,有时为20,涉及该特征的时间戳。 在这种情况下,有一些一般性准则可以做什么?我什么都找不到。

3
递归神经网络(LSTM,GRU)的结构
我试图了解RNN的体系结构。我发现本教程非常有帮助:http : //colah.github.io/posts/2015-08-Understanding-LSTMs/ 特别是这张图片: 这如何适应前馈网络?该图像只是每一层中的另一个节点吗?

3
如何通过卷积神经网络(CNN)对不平衡数据集进行分类?
我在二元分类任务中有一个不平衡的数据集,其中正数与负数的比例为0.3%对99.7%。正面和负面之间的差距是巨大的。当我用MNIST问题中使用的结构训练CNN时,测试结果显示出较高的假阴性率。同样,训练误差曲线在开始的几个时期中迅速下降,但在随后的时期中保持相同的值。 您能建议我一种解决此问题的方法吗?谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.