这与6月份的早期问题有关:
我有一个自定义混合分布使用第二个自定义分布定义,跟随@Sasha过去一年的许多答案中讨论的行.
定义分布的代码如下:
nDist /: CharacteristicFunction[nDist[a_, b_, m_, s_],
t_] := (a b E^(I m t - (s^2 t^2)/2))/((I a + t) (-I b + t));
nDist /: PDF[nDist[a_, b_, m_, s_], x_] := (1/(2*(a + b)))*a*
b*(E^(a*(m + (a*s^2)/2 - x))* Erfc[(m + a*s^2 - x)/(Sqrt[2]*s)] +
E^(b*(-m + (b*s^2)/2 + x))*
Erfc[(-m + b*s^2 + x)/(Sqrt[2]*s)]);
nDist /: CDF[nDist[a_, b_, m_, s_],
x_] := ((1/(2*(a + b)))*((a + b)*E^(a*x)*
Erfc[(m - x)/(Sqrt[2]*s)] -
b*E^(a*m + …Run Code Online (Sandbox Code Playgroud) 我正在使用反向传播技术创建一个神经网络进行学习.
我知道我们需要找到所用激活函数的导数.我正在使用标准的sigmoid函数
f(x) = 1 / (1 + e^(-x))
Run Code Online (Sandbox Code Playgroud)
而且我已经看到它的衍生物了
dy/dx = f(x)' = f(x) * (1 - f(x))
Run Code Online (Sandbox Code Playgroud)
这可能是一个愚蠢的问题,但这是否意味着我们必须在等式期间将x通过sigmoid函数两次,因此它将扩展为
dy/dx = f(x)' = 1 / (1 + e^(-x)) * (1 - (1 / (1 + e^(-x))))
Run Code Online (Sandbox Code Playgroud)
或者它只是采取已经计算的输出f(x),即神经元的输出,并将该值替换为f(x)?
algorithm math artificial-intelligence calculus neural-network
你在Javascript中有这个代码(即使语言选择无关紧要):
var arr = new Array(101);
for (skip = 1; skip <= 100; skip++) {
for (i = 0; i <= 100; i+= skip) {
arr[i] = !arr[i];
}
}
Run Code Online (Sandbox Code Playgroud)
显然,运行此代码后,数组中会出现一堆true和false值.如果arr [i]被触摸了很多次,那将是错误的,否则它将是真的.
问题是这些价值构成了什么样的模式?你能否快速判断arr [15]是否属于假?怎么样arr [81]?
我知道答案(当x是某个整数的平方时,arr [x]将是真的),但我不明白的是我应该如何在采访中快速提出它?
奖励问题是这段代码的时间复杂度,假设你为N个数组元素做了(我将在下面回答)?
用于计算梯度的反向传播算法已被多次重新发现,并且是在反向累积模式中称为自动微分的更通用技术的特殊情况.
有人可以用这个来解释这个问题吗?被区分的功能是什么?什么是"特例"?它是使用的伴随值本身还是最终的渐变?
algorithm automatic-differentiation calculus backpropagation neural-network
我正在编写一个应用程序,让糖尿病患者输入他/她的"血糖"读数,然后从左到右随时间在图表上绘制图表.由于血液读数每天只进行几次,因此算法可以方便:
a)在读数之间填充图表上的空白(曲线比生涩的线条更真实),并允许更准确的"血糖水平"每日平均值
b)粗略预测将来会发生什么(如果用户不吃任何会影响他血液水平的东西)
我嘲笑微积分.我希望有人知道这个东西的图书馆吗?我希望有人知道已经为这个特定问题量身定制的算法(例如:有人将其与糖尿病患者的真实数据进行比较)
免责声明:我非常清楚任何此类算法都会因用户而异.我只是想改进直角线.无论糖尿病患者如何,血糖升高和降低的速度都是有限的.
我正在使用Javascript,但因为它只是数学,我可以从C,Java或其他任何东西移植它.
我有以下功能:
function ypdiff = ypdiff(t,y)
a = 0.01;
b = 0.1;
ypdiff(1) = -a*y(1)*y(2);
ypdiff(2) = b*y(1)*y(2)-b*y(2);
ypdiff(3) = b*y(2);
ypdiff = [ypdiff(1) ypdiff(2) ypdiff(3)]';
Run Code Online (Sandbox Code Playgroud)
如果我想解决这个问题,我会调用ode45函数,如下所示:
[t y] = ode45(@ypdiff, [to tf], yo);
Run Code Online (Sandbox Code Playgroud)
但是,如果我想将参数传递给此函数,我将如何使用ode45函数?具体来说,我正在尝试以下配方:
function ypdiff = ypdiff(t,y,u)
a = 0.01;
b = 0.1;
ypdiff(1) = -a*u*y(1)*y(2);
ypdiff(2) = b*u*y(1)*y(2)-b*y(2);
ypdiff(3) = b*u*y(2);
ypdiff = [ypdiff(1) ypdiff(2) ypdiff(3)]';
Run Code Online (Sandbox Code Playgroud) 我想编写一个程序,用特定的值集计算给定的数学函数(由用户).
要求用户输入一个函数,比如他输入f(x)=(x ^ 2)+ 3x + 1然后通过程序我应该显示[f(3),f(6)和f(9的输出) )].
问题具体是如何在类型函数中获取这些x,然后如何将函数从字符串转换为double或float.
你有什么想法吗?
假设我正在使用C或C++
我想创建一个函数,在我的应用程序的某个部分返回函数的派生.我完全不知道如何做到这一点.显然这是限制的正式定义.但是什么样的函数能够在某一点返回函数的导数?

我完全迷失了.我真的不在乎用户输入什么,因为我可以在某一点计算导数.有任何想法吗?
我试图计算softmax的激活函数的导数.我发现了这个:https: //math.stackexchange.com/questions/945871/derivative-of-softmax-loss-function似乎没有给出正确的推导,我们将如何得到i = j和i的答案!= j .有人可以解释一下!当涉及求和时,我与衍生物混淆,如softmax激活函数的分母.
calculus ×10
algorithm ×4
math ×4
function ×2
c++ ×1
derivative ×1
ios ×1
matlab ×1
medical ×1
parameters ×1
plot ×1
probability ×1
softmax ×1
swift ×1