Вверх ↑
Ответов: 8
Рейтинг: 0
#1: 2020-07-10 12:15:10 ЛС | профиль | цитата
Походил, подумал, так не понял почему в hiasme нельзя сделать нейросеть. Решил почитать в интернете, что пишут. Нашел небольшое руководство на странице:https://neurohive.io/ru/osnovy-data-science/osnovy-nejronnyh-setej-algoritmy-obuchenie-funkcii-aktivacii-i-poteri/. Решил сделать как написано.


Add(MainForm,2953706,77,56)
{
Height=217
Caption="нейросеть"
BorderStyle=1
Position=1
}
Add(Memo,5818142,1525,665)
{
Top=35
Width=384
Height=52
}
Add(Button,232110,98,203)
{
Left=180
Top=87
Width=204
Caption="Учить"
link(onClick,14798066:doEvent1,[])
}
Add(Random,7893346,546,126)
{
link(onRandom,15268055:doOperation,[(608,132)(608,125)])
}
Add(For,4320093,448,133)
{
End=2
link(onEvent,7893346:doRandom,[(531,139)(531,132)])
link(onStop,823416:In,[(495,146)(495,174)])
}
Add(Math,15268055,637,119)
{
OpType=3
Op2=100
link(onResult,13232827:doAdd,[(719,125)(719,132)])
link(Op1,7893346:Random,[(643,114)(597,114)(597,170)(552,170)])
}
Add(MathParse,9250038,972,280)
{
DataCount=3
MathStr="1/(1+e^((%2*%1)+(%3*%1)))"
link(onResult,9135928:doOperation,[(1065,286)(1065,251)])
link(X1,1287673:Var,[(978,206)(979,206)])
link(X2,13587347:Var2,[(985,180)(1042,180)])
link(X3,7690501:Var2,[(992,253)(1088,253)])
}
Add(Math,9135928,1126,245)
{
Point(doClear)
link(Op2,443059:Var3,[(1139,233)(1137,233)(1137,292)])
}
Add(Hub,14798066,168,203)
{
OutCount=3
link(onEvent1,10249591:In,[(200,209)(200,153)])
link(onEvent2,12551519:In,[(214,216)(214,167)])
link(onEvent3,15036713:doEvent1,[])
}
Add(LineBreak,11345495,1084,252)
{
link(Out,9135928:doClear,[])
Primary=[10249591,-867,-105]
}
Add(Math,16110325,1238,340)
{
OpType=1
link(onResult,9246201:doValue,[(1327,346)(1327,339)])
link(Op1,16442475:Text,[])
link(Op2,15851051:Var,[])
}
Add(Edit,16442475,1238,214)
{
Left=120
Top=15
Width=164
Text="1"
}
Add(StrList,13232827,769,126)
{
}
Add(LineBreak,4774714,699,133)
{
link(Out,13232827:doClear,[])
Primary=[12551519,-454,28]
}
Add(Memory,9246201,1427,333)
{
}
Add(GetDataEx,443059,1126,287)
{
link(Data,9135928:Result,[])
}
Add(LineBreak,16302653,1126,311)
{
Type=1
link(Data,443059:Var2,[])
Primary=[15851051,119,1]
}
Add(ArrayEnum,2257085,790,322)
{
link(onItem,9250038:doCalc,[(897,328)(897,286)])
link(onEndEnum,3988918:doEvent1,[(855,335)(855,349)])
link(Array,10480258:Var2,[(796,304)(793,304)])
}
Add(Hub,3988918,888,343)
{
link(onEvent1,16110325:doOperation,[(1106,347)(1176,347)(1176,346)])
link(onEvent2,1501520:doEnum,[(951,356)(951,608)])
}
Add(Memory,15060778,1154,532)
{
Default=String(0.01)
}
Add(ArrayEnum,1501520,1035,602)
{
link(onItem,145600:doCalc,[])
link(onEndEnum,2973558:doTimer,[(1135,615)(1135,706)])
link(Array,14709785:Var,[])
}
Add(GetDataEx,10480258,787,193)
{
link(Data,13232827:Array,[(793,182)(789,182)])
}
Add(MathParse,145600,1161,602)
{
DataCount=3
MathStr="%3-((%1*(1/(1+e^(%2))))/(1/(1+e^(%3))))"
link(onResult,5649291:doEvent1,[])
link(X1,15060778:Value,[(1167,583)(1160,583)])
link(X2,11167896:Var,[])
link(X3,13013882:Var,[])
}
Add(IndexToChanel,8608340,308,217)
{
Point(Index)
link(onEvent1,4320093:doFor,[(394,223)(394,139)])
link(onEvent2,931595:doData,[(464,230)(464,314)])
link(Index,11757201:Value,[])
}
Add(DoData,931595,476,308)
{
link(onEventData,13403264:doEvent1,[])
link(Data,7470258:Var,[])
}
Add(LineBreak,6727217,1567,742)
{
Type=1
link(Data,5818142:Text,[(1573,726)(1531,726)])
Primary=[7470258,-1091,-462]
}
Add(Hub,13403264,532,308)
{
OutCount=3
link(onEvent1,13232827:doText,[(686,314)(686,153)])
link(onEvent2,16178709:In,[])
link(onEvent3,15522394:doEvent2,[(630,328)(630,335)])
}
Add(LineBreak,10063462,1435,672)
{
link(Out,14779023:doEvent1,[])
Primary=[16178709,-798,-357]
}
Add(Memory,11757201,308,91)
{
Default=Integer(0)
}
Add(Hub,12276822,1225,700)
{
link(onEvent1,13552621:doData,[(1260,706)(1260,692)])
link(onEvent2,7839421:In,[(1260,713)(1260,727)])
}
Add(DoData,13552621,1281,686)
{
Data=Integer(1)
link(onEventData,7848787:In,[])
}
Add(LineBreak,8859062,259,84)
{
link(Out,11757201:doValue,[(299,90)(299,97)])
Primary=[7848787,1064,602]
}
Add(Hub,15036713,231,217)
{
InCount=2
OutCount=1
link(onEvent1,8608340:doEvent,[])
}
Add(LineBreak,7457174,182,231)
{
link(Out,15036713:doEvent2,[(222,237)(222,230)])
Primary=[7839421,1085,490]
}
Add(LineBreak,11444634,693,280)
{
link(Out,15522394:doEvent1,[(742,286)(742,328)])
Primary=[823416,-189,-112]
}
Add(Hub,15522394,756,322)
{
InCount=2
OutCount=1
link(onEvent1,2257085:doEnum,[])
}
Add(Timer,2973558,1162,700)
{
Enable=1
link(onTimer,12276822:doEvent1,[])
}
Add(Label,4660302,1288,217)
{
Left=5
Top=15
Width=116
Height=17
Caption="Какой результат хочу:"
}
Add(Button,13291767,1103,711)
{
Top=87
Width=179
Caption="Остановить"
link(onClick,2973558:doStop,[(1149,717)(1149,713)])
}
Add(CheckBox,5783179,1036,14)
{
Left=5
Top=110
Width=175
Caption="Есть работа"
}
Add(CheckBox,14479807,1110,11)
{
Left=180
Top=110
Width=175
Caption="Желания иметь свой дом"
}
Add(Label,12815975,1554,525)
{
Left=10
Top=140
Width=104
Height=17
Caption="У меня есть дом: %"
}
Add(Label,11844836,1554,574)
{
Left=120
Top=140
Width=4
Height=4
Caption=""
}
Add(Hub,5649291,1236,602)
{
link(onEvent1,9238156:In,[])
link(onEvent2,5818142:doAdd,[(1277,615)(1277,671)])
}
Add(Math,9689440,1498,574)
{
OpType=2
Op2=100
link(onResult,11844836:doText,[])
}
Add(Button,11684095,105,532)
{
Left=210
Top=135
Width=170
Caption="Узнать"
link(onClick,1810444:doEvent1,[])
}
Add(ArrayEnum,11872268,210,532)
{
link(onItem,3400600:doEvent,[(293,537)])
link(onEndEnum,12555394:doOperation,[(314,545)(314,643)])
link(Array,1331200:Var,[])
}
Add(LineBreak,6678867,1539,749)
{
Type=1
link(Data,5818142:Array,[])
Primary=[1331200,-1329,-259]
}
Add(Math,3705988,420,469)
{
OpType=2
link(Op2,3202119:Var,[])
}
Add(IndexToChanel,3400600,336,532)
{
Point(Index)
Point(Data)
link(onEvent1,3705988:doOperation,[(394,538)(394,475)])
link(onEvent2,4243685:doOperation,[(464,545)(464,482)])
link(Index,11748065:Var,[])
link(Data,11872268:Item,[(349,520)(254,520)(254,576)(216,576)])
}
Add(GetDataEx,13587347,1036,70)
{
link(Data,5783179:Checked,[])
}
Add(LineBreak,5539737,1001,91)
{
Type=1
link(Data,13587347:Var1,[(1007,75)])
Primary=[3310172,-504,350]
}
Add(Math,4243685,490,476)
{
OpType=2
link(Op2,3310172:Var,[])
}
Add(GetDataEx,7690501,1082,77)
{
link(Data,14479807:Checked,[(1088,60)(1116,60)])
}
Add(LineBreak,9534299,1120,91)
{
Type=1
link(Data,7690501:Var1,[(1126,82)])
Primary=[3202119,-693,350]
}
Add(Math,12555394,455,637)
{
link(onResult,7648739:In,[])
link(Op1,3705988:Result,[(461,569)(426,569)])
link(Op2,4243685:Result,[(468,571)(496,571)])
}
Add(LineBreak,6888472,1442,574)
{
link(Out,9689440:doOperation,[])
Primary=[7648739,-945,63]
}
Add(Button,6694263,98,357)
{
Left=210
Top=155
Width=170
Caption="Удалить"
link(onClick,1823499:doEvent1,[])
}
Add(LineBreak,15951247,259,98)
{
link(Out,11757201:doClear,[])
Primary=[10514145,-77,259]
}
Add(Hub,1823499,147,357)
{
link(onEvent1,10514145:In,[])
link(onEvent2,2684425:In,[])
}
Add(Hub,14779023,1498,672)
{
InCount=2
OutCount=1
link(onEvent1,5818142:doClear,[])
}
Add(LineBreak,14983604,1435,679)
{
link(Out,14779023:doEvent2,[])
Primary=[2684425,-1260,-315]
}
Add(LineBreak,859792,790,370)
{
Type=1
link(Data,2257085:Item,[(796,359)(796,359)])
Primary=[1287673,183,-216]
}
Add(LineBreak,8761235,819,210)
{
Type=1
link(Data,10480258:Var3,[(825,198)])
Primary=[14709785,216,364]
}
Add(LineBreak,12843045,1421,382)
{
Type=1
link(Data,9246201:Value,[(1427,374)(1433,374)])
Primary=[11167896,-253,125]
}
Add(LineBreak,1881234,217,602)
{
Type=1
link(Data,11872268:Index,[])
Primary=[11748065,119,-112]
}
Add(LineBreak,3099286,1035,655)
{
Type=1
link(Data,1501520:Item,[])
Primary=[13013882,140,-180]
}
Add(InfoTip,11302864,84,420)
{
Info=#42:Узнать новые ответы из известных подсчетов|
Width=463
Height=256
}
Add(InfoTip,3671835,77,329)
{
Info=#15:Обнулить работу|
Width=148
Height=74
}
Add(InfoTip,8917234,245,28)
{
Info=#25:Индекс: 0-первое обучения|22:1-продолжения обучения|
Width=162
Height=242
}
Add(InfoTip,4214946,413,84)
{
Info=#49:Зададим начальные веса случайным образом: w1; w2;|
Width=288
Height=123
}
Add(InfoTip,5449507,777,224)
{
Info=#61:Умножим входные данные на веса для формирования скрытого слоя|
Width=274
Height=165
}
Add(Hub,1810444,175,532)
{
InCount=2
OutCount=1
link(onEvent1,11872268:doEnum,[])
}
Add(LineBreak,15749151,140,546)
{
link(Out,1810444:doEvent2,[(172,552)(172,545)])
Primary=[9238156,1239,56]
}
Add(InfoTip,6402321,1057,210)
{
Info=#20:y_ = fn(h1 , h2, h3)|
Width=141
Height=158
}
Add(InfoTip,4077879,1232,203)
{
Info=#24:err = loss_func( у , y_)|
Width=253
Height=214
}
Add(InfoTip,8796384,952,427)
{
Info=#50:В результате получатся следующие обновленные веса:|0:|30:w1 = w1 — (n * d(err) / d(w1))|30:w2 = w2 — (n * d(err) / d(w2))|30:w3 = w3 — (n * d(err) / d(w3))|
Width=673
Height=347
}
Add(InfoTip,7596771,1078,658)
{
Info=#34:Остановить, когда все удовлетворит|
Width=281
Height=109
}
Add(InfoTip,16627571,35,119)
{
Info=#27:Начать учить или продолжить|
Width=204
Height=158
}
У меня только один вопрос, эта сеть может помочь для распознания чего-либо?
карма: 0
0