我建立了一个常规的ANN-BP设置,在输入和输出层有一个单元,在sigmoid中隐藏了4个节点.给它一个简单的任务,f(n) = n在0-100范围内近似线性n.
问题:无论层数,隐藏层中的单位数或者我是否在节点值中使用偏差,它都会学习近似f(n)=平均值(数据集),如下所示:
代码用JavaScript编写,作为概念证明.我定义了三个类:Net,Layer和Connection,其中Layer是输入,偏置和输出值的数组,Connection是权重和delta权重的2D数组.这是所有重要计算发生的层代码:
Ann.Layer = function(nId, oNet, oConfig, bUseBias, aInitBiases) {
var _oThis = this;
var _initialize = function() {
_oThis.id = nId;
_oThis.length = oConfig.nodes;
_oThis.outputs = new Array(oConfig.nodes);
_oThis.inputs = new Array(oConfig.nodes);
_oThis.gradients = new Array(oConfig.nodes);
_oThis.biases = new Array(oConfig.nodes);
_oThis.outputs.fill(0);
_oThis.inputs.fill(0);
_oThis.biases.fill(0);
if (bUseBias) {
for (var n=0; n<oConfig.nodes; n++) {
_oThis.biases[n] = Ann.random(aInitBiases[0], aInitBiases[1]);
}
}
};
/****************** PUBLIC ******************/
this.id;
this.length;
this.inputs;
this.outputs;
this.gradients;
this.biases;
this.next;
this.previous;
this.inConnection;
this.outConnection;
this.isInput …Run Code Online (Sandbox Code Playgroud) artificial-intelligence regression machine-learning neural-network conv-neural-network
这就是我需要的:
这是我正在探索的内容:
那个聪明的人在那里推动我朝着正确的方向前进?
我试图用递归来实现反向传播用于学术目的,但似乎我在某处出错了.现在已经修补了一段时间,但要么根本没有学习,要么没有学习第二种模式.
请让我知道我哪里出错了.(这是javascript语法)注意:错误会null在每个学习周期之前重置.
this.backpropagate = function(oAnn, aTargetOutput, nLearningRate) {
nLearningRate = nLearningRate || 1;
var oNode,
n = 0;
for (sNodeId in oAnn.getOutputGroup().getNodes()) {
oNode = oAnn.getOutputGroup().getNodes()[sNodeId];
oNode.setError(aTargetOutput[n] - oNode.getOutputValue());
n ++;
}
for (sNodeId in oAnn.getInputGroup().getNodes()) {
this.backpropagateNode(oAnn.getInputGroup().getNodes()[sNodeId], nLearningRate);
}
}
this.backpropagateNode = function(oNode, nLearningRate) {
var nError = oNode.getError(),
oOutputNodes,
oConn,
nWeight,
nOutputError,
nDerivative = oNode.getOutputValue() * (1 - oNode.getOutputValue()), // Derivative for sigmoid activation funciton
nInputValue = oNode.getInputValue(),
n;
if (nError === null /* Dont do …Run Code Online (Sandbox Code Playgroud) javascript recursion artificial-intelligence backpropagation neural-network
我正在尝试使用 javascript 下载 xlsx 电子表格。我已经测试过 base64 数据。我这样解码:
var data = atob(validBase64Data);
在那之后,我这样做:
save(name, data, type) {
const blob = new Blob([data], {type: type});
let objectURL = window.URL.createObjectURL(blob);
let anchor = document.createElement('a');
anchor.href = objectURL;
anchor.download = name;
anchor.click();
URL.revokeObjectURL(objectURL);
}
Run Code Online (Sandbox Code Playgroud)
其中 name 是文件名.xlsx,data 是解码后的数据,type 是 mime 类型的字符串。
excel 文件已下载,但不会以 excel 格式打开。数据以某种方式损坏。
另外:我使用 unix 终端命令测试了相同的数据,以 base64 解码并将 xlsx 直接写入该文件,并生成工作文件。测试是这样完成的:
base64 -D -i test_excel.txt -o test_excel.xlsx我对代码做错了什么?
我将代码从Nodejs移植到PHP并继续使用此正则表达式获取错误:
^/[a-z0-9]{6}([^0-9a-z]|$)
PHP抱怨美元符号:
未知修饰符'$'
在JavaScript我能来检查字符串结尾[^0-9a-z]或者END OF STRING
我如何做到这一点在PHP中使用的preg_match?
我的PHP代码如下所示:
<?
$sExpression = '^/[a-z0-9]{6}([^0-9a-z]|$)';
if (preg_match('|' . $sExpression . '|', $sUrl)) { ... }
?>
Run Code Online (Sandbox Code Playgroud)
JS代码与此类似:
var sExpression = '^/[a-z0-9]{6}([^0-9a-z]|$)';
var oRegex = new RegExp(sExpression);
if (oRegex.test(sUrl)) { ... }
Run Code Online (Sandbox Code Playgroud)
提前致谢.
在反向传播训练中,在沿着误差面进行梯度下降期间,隐藏层中具有大量神经元的网络可能会陷入局部最小值。我读过,在所有情况下将权重重新初始化为随机数最终将避免此问题。这意味着总是存在一组“正确的”初始重量值。(这个假设安全吗?)
我需要找到或制定一个算法来找到它们。
我尝试过谷歌搜索该算法,尝试自己设计它,但没有成功。任何人都可以提出解决方案吗?也许我可以搜索算法的名称?
注意:这是一个常规的前馈 3 层墨西哥卷饼:)
注意:我知道已经尝试使用 GA 来达到此目的,但这需要在每次迭代中重新训练网络,当网络变得足够大时,这会耗费大量时间。
提前致谢。
我有这个简单的代码:
class App extends Component {
render() {
return (
<div>
<PanelPayment />
</div>
);
}
}
export default App
Run Code Online (Sandbox Code Playgroud)
和这个:
export default class PanelPayment {
render() {
return (
<div>
<button>Pay now!</button>
</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)
而且我得到了错误:
TypeError:无法将类作为函数调用
class.App.js:66 Uncaught TypeError: Cannot call a class as a function
at _classCallCheck (class.App.js:66)
at PanelPayment (class.PanelPayment.js:3)
at ReactCompositeComponent.js:305
at measureLifeCyclePerf (ReactCompositeComponent.js:75)
at ReactCompositeComponentWrapper._constructComponentWithoutOwner (ReactCompositeComponent.js:304)
at ReactCompositeComponentWrapper._constructComponent (ReactCompositeComponent.js:279)
at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:187)
at Object.mountComponent (ReactReconciler.js:45)
at ReactDOMComponent.mountChildren (ReactMultiChild.js:236)
at ReactDOMComponent._createInitialChildren (ReactDOMComponent.js:703)
at ReactDOMComponent.mountComponent …Run Code Online (Sandbox Code Playgroud) 注意!我不能在我的应用程序中使用filter_var.只有通用功能.也许正则表达式?
<?php
if (is_valid_ipv4($ip)) { ... }
else if (is_valid_ipv6($ip) { ... }
else { ... }
?>
Run Code Online (Sandbox Code Playgroud) javascript ×3
php ×2
node.js ×1
react-redux ×1
reactjs ×1
recursion ×1
redux ×1
regex ×1
regression ×1
sqlite ×1