var x=new Array();
var y=new Array();
var alphax=new Array();
var a=new Array();
var alpha=new Array();
function myFunction() {
for(s=1;s<3;s++){
alpha[s]=new Array();
}
for(s=1;s<101;s++){
x[s]=new Array();
}
for(s=1;s<101;s++){
x[s][1]=Math.random();
x[s][2]=Math.random();
y[s]=0;
if(3*x[s][1]+2*x[s][2]>2.5)y[s]=1;
}
for(trd=1;trd<3;trd++){
step();
for(s=0;s<3;s++){
alpha[trd][s]=alphax[s];
}
}
var id="1LjGdGZ3DNKnHmVSMcM9fyJC7tJqeg5EFPoP2Kqql6Mc";
ex1 = SpreadsheetApp.openById(id);
var sh = ex1.getSheetByName("data");
for(s=1;s<101;s++){
z=alpha[1][0]+alpha[1][1]*x[s][1]+alpha[1][2]*x[s][2];
z1=alpha[2][0]+alpha[2][1]*x[s][1]+alpha[2][2]*x[s][2];
sh.getRange(s+1,1).setValue(y[s]);
sh.getRange(s+1,2).setValue(z);
sh.getRange(s+1,3).setValue(z1);
}
}
function step(){
for(sx=0;sx<3;sx++){
alphax[sx]=0;
}
minz=9999;
for(tr=1;tr<301;tr++){
z=0;
for(sx=0;sx<3;sx++){
m1=20*Math.random()-10;
a[sx]=Math.floor(m1)+1;
}
for(s=1;s<101;s++){
a1=a[0];
for(sx=1;sx<3;sx++){
a1=a1+a[sx]*x[s][sx];
}
z1=1/(1+Math.exp(-a1));
z=z+(y[s]-z1)*(y[s]-z1);
}
if(z<minz){
for(sx=0;sx<3;sx++){
alphax[sx]=a[sx];
}
minz=z;
}
}
Logger.log(minz);
}
最終更新:2017年08月09日 03:50