рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди - 7 рд╕рд░рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдп рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдорд╢реАрди "рд╕реАрдЦ" рдХреИрд╕реЗ рд╕рдХрддреА рд╣реИ

рдПрдХ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдПрдХ рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдПрдХ рдиреНрдпреВрд░реЙрди рдХрд╛ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдФрд░ рддрд╛рдкрдорд╛рди рдХреЛ рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рд╕реЗ рдбрд┐рдЧреНрд░реА рдлрд╝рд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


NanoNeuron.js рдХреЛрдб рдореЗрдВ 7 рд╕рд░рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдореЙрдбрд▓ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╕реАрдЦрдирд╛, рдкреНрд░рд╢рд┐рдХреНрд╖рдг, рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдирд╛ рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рдкрд┐рдЫрдбрд╝реЗ рдкреНрд░рд╕рд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкрд╛рдардХ рдХреЛ рдПрдХ рдиреНрдпреВрдирддрдо, рдмреБрдирд┐рдпрд╛рджреА рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг (рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди) рджреЗрдирд╛ рдерд╛ рдХрд┐ рдЖрдЦрд┐рд░рдХрд╛рд░, рдПрдХ рдорд╢реАрди "рдХреИрд╕реЗ рд╕реАрдЦ рд╕рдХрддреА рд╣реИ"ред рдХреЛрдб рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╕рд░рд▓ "рд╡реЗрдирд┐рд▓рд╛" рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред


рдпреЗ рдХрд╛рд░реНрдп рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИрдВред рдХрдИ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдЧрд╛рдпрдм рд╣реИрдВ рдпрд╛ рд╕рд░рд▓ рд╣реИрдВ! рдЗрд╕ рд╕рд░рд▓реАрдХрд░рдг рдХреЛ рдПрдХрдорд╛рддреНрд░ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИ - рдкрд╛рдардХ рдХреЛ рдорд╢реАрди рдореЗрдВ, рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ, "рд╕реАрдЦрдиреЗ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рдФрд░ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рддрд╛рдХрд┐ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, "рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХрд╛ рдЬрд╛рджреВ" рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ "MATHEMATICS" рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдардХ рдХреЛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред


NanoNeuron


рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди "рдХреНрдпрд╛ рд╕реАрдЦреЗрдВрдЧреЗ"


рдЖрдкрдиреЗ рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реЛрдЧрд╛ред рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдЙрд╕реА рдиреНрдпреВрд░реЙрди рдХрд╛ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рд▓рд┐рдЦреЗрдВрдЧреЗред рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдПрдХ рдПрдХрд▓ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЙрд╕реЗ рд╕рд┐рдЦрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рддрд╛рдкрдорд╛рди рдХреЛ рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рд╕реЗ рдбрд┐рдЧреНрд░реА рдлрд╝рд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдореЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣рдо рдЙрд╕реЗ рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рдореЗрдВ рддрд╛рдкрдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбрд┐рдЧреНрд░реА рдлрд╝рд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдореЗрдВ рддрд╛рдкрдорд╛рди рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдирд╛ рд╕рд┐рдЦрд╛рдПрдВрдЧреЗред


рд╡реИрд╕реЗ, рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рдХреЛ рдбрд┐рдЧреНрд░реА рдлрд╝рд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рд╕реВрддреНрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:


рдлрд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдХреЛ рд╕реЗрд▓реНрд╕рд┐рдпрд╕


рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓, рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЛ рдЗрд╕ рд╕реВрддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ ...


рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдореЙрдбрд▓


рдЖрдЗрдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЗ рдореЙрдбрд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдореЙрдбрд▓ x рдФрд░ y рдмреАрдЪ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд░реИрдЦрд┐рдХ рд╕рдВрдмрдВрдз рд╣реИ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: y = w * x + b ред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рд╣рдорд╛рд░рд╛ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдПрдХ рдмрдЪреНрдЪрд╛ рд╣реИ рдЬреЛ XY рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдПрдХ рд╕реАрдзреА рд░реЗрдЦрд╛ рдЦреАрдВрдЪ рд╕рдХрддрд╛ рд╣реИред


рдЪрд░ w рдФрд░ b рдореЙрдбрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ ред рдПрдХ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдПрдХ рд░реИрдЦрд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЗрд╡рд▓ рдЗрди рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИред рдпреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдареАрдХ рд╡рд╣реА рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╕реАрдЦреЗрдВрдЧреЗред


рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХрд░ рд╕рдХрддреА рд╣реИ, рд╡рд╣ рд╣реИ рд░реИрдЦрд┐рдХ рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ред рд╡рд╣ predict() рд╡рд┐рдзрд┐ рдореЗрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрдирдкреБрдЯ рдкрд░ рдПрдХ рдЪрд░ x рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдЪрд░ y рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рдЬрд╛рджреВ рдирд╣реАрдВред


 function NanoNeuron(w, b) { this.w = w; this.b = b; this.predict = (x) => { return x * this.w + this.b; } } 

_ (... рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ ... рд░реИрдЦрд┐рдХ рдкреНрд░рддрд┐рдЧрдорди рд╣реИ рдЖрдк, рдпрд╛ рдХреНрдпрд╛?) _


рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рдХреЛ рдлрд╝рд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ


рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рдореЗрдВ рддрд╛рдкрдорд╛рди рд╕реВрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбрд┐рдЧреНрд░реА рдлрд╝рд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: f = 1.8 * c + 32 , рдЬрд╣рд╛рдБ c рдХрд╛ рддрд╛рдкрдорд╛рди рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рдФрд░ f рдХрд╛ рддрд╛рдкрдорд╛рди рдлрд╝рд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред


 function celsiusToFahrenheit(c) { const w = 1.8; const b = 32; const f = c * w + b; return f; }; 

рдирддреАрдЬрддрди, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВред рдЙрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдкрддрд╛ рдЪрд▓реЗ рдмрд┐рдирд╛ рдкреИрд░рд╛рдореАрдЯрд░ w = 1.8 рдФрд░ b = 32 рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ (рд╕реАрдЦрдирд╛) рд╣реЛрдЧрд╛ред


рдпрд╣ рдЪрд╛рд░реНрдЯ рдкрд░ рд░реВрдкрд╛рдВрддрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣реА рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░рд▓ "рдмреЗрдмреА" рдХреЛ "рдЖрдХрд░реНрд╖рд┐рдд" рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:


рдлреЗрд░рдирд╣рд╛рдЗрдЯ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рд╕реЗрд▓реНрд╕рд┐рдпрд╕


рдбреЗрдЯрд╛ рдЬрдирд░реЗрд╢рди


рд╢рд╛рд╕реНрддреНрд░реАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рд╣рдо рдЗрд╕ рдбреЗрдЯрд╛ (рдкреИрд░рд╛рдореАрдЯрд░ w рдФрд░ b ) рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ ( x ) рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ ( y ) рдЕрдЬреНрдЮрд╛рдд рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЧрдгрдирд╛ рдПрдХ рдЬреНрдЮрд╛рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИред рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЗрдВ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХреЗрд╡рд▓ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ ( x рдФрд░ y ) рдЬреНрдЮрд╛рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди x рд╕реЗ y рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЕрдЬреНрдЮрд╛рдд рд╣реИ (рдкреИрд░рд╛рдореАрдЯрд░ w рдФрд░ b )ред


рдпрд╣ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдкреАрдврд╝реА рд╣реИ рдЬреЛ рдЕрдм рд╣рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рд╣рдореЗрдВ рдореЙрдбрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдореЙрдбрд▓ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдж celsiusToFahrenheit() рд╣реЗрд▓реНрдкрд░ рдлрдВрдХреНрд╢рди рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рд╕реЗрдЯ рдЬреЛрдбрд╝реЗ x рдФрд░ y рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ x = 2 , рддреЛ y = 35,6 рдФрд░ рдЗрд╕реА рддрд░рд╣ред


рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЙрддреНрдкрдиреНрди рдирд╣реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ "рдлреЗрд╕ рдлреЛрдЯреЛрдЬ" -> "рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдирд╛рдо" рдХреЗ рдЬреЛрдбрд╝реЗ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдЕрдкрдиреЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░реЗрдирд┐рдЧ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╡рд╣ рдмрдбрд╝рд╛ рд╣реЛ рдЬрд╛рдП рдФрд░ рдЕрдкрдиреЗ рджрдо рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ, рд╣рдореЗрдВ рдЙрд╕реЗ рд╕рд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗрдЯ рд╕реЗ "рд╕рд╣реА" рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рд╕рд╣реА" рдХреНрдпрд╛ рд╣реИ рдФрд░ "рдЧрд▓рдд" рдХреНрдпрд╛ рд╣реИред


рд╡реИрд╕реЗ, рдпрд╣рд╛рдВ рдЬреАрд╡рди рд╕рд┐рджреНрдзрд╛рдВрдд "рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ рдХрдЪрд░рд╛ - рдирд┐рдХрд╛рд╕ рдкрд░ рдХрдЪрд░рд╛" рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд┐рдЯ рдореЗрдВ "рдЭреВрда" рдлреЗрдВрдХрддрд╛ рд╣реИ рдХрд┐ 5 ┬░ C 1000 ┬░ F рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдХрдИ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рдж, рд╡рд╣ рдЗрд╕ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдЧрд╛ рдФрд░ 5 ┬░ C рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рддрд╛рдкрдорд╛рди рдорд╛рдиреЛрдВ рдХреЛ рд╕рд╣реА рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрдЧрд╛ред рд╣рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдо рд╣рд░ рджрд┐рди рдЕрдкрдиреЗ рдорд╕реНрддрд┐рд╖реНрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред

рдкреАрдЫреЗ рд╣рдЯрдирд╛ред рдЪрд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред


рд╣рдо рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TEST рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдиреЗ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдирдП рдбреЗрдЯрд╛ рдкрд░ рд╕рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВ рджреЗрдЦрд╛ рдерд╛ред


 function generateDataSets() { // xTrain -> [0, 1, 2, ...], // yTrain -> [32, 33.8, 35.6, ...] const xTrain = []; const yTrain = []; for (let x = 0; x < 100; x += 1) { const y = celsiusToFahrenheit(x); xTrain.push(x); yTrain.push(y); } // xTest -> [0.5, 1.5, 2.5, ...] // yTest -> [32.9, 34.7, 36.5, ...] const xTest = []; const yTest = []; //   0.5    1,       //   ,       . for (let x = 0.5; x < 100; x += 1) { const y = celsiusToFahrenheit(x); xTest.push(x); yTest.push(y); } return [xTrain, yTrain, xTest, yTest]; } 

рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддреНрд░реБрдЯрд┐ рдЕрдиреБрдорд╛рди


рд╣рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореАрдЯреНрд░рд┐рдХ (рдорд╛рдк, рд╕рдВрдЦреНрдпрд╛, рд░реЗрдЯрд┐рдВрдЧ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд┐рддрдиреА рд╕рдЪ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рд╕рдВрдЦреНрдпрд╛ / рдореАрдЯреНрд░рд┐рдХ / рдлрд╝рдВрдХреНрд╢рди рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдиреИрдиреЛ рдиреНрдпреВрд░реЙрди рдХрд┐рддрдирд╛ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд╣реИред рдпрд╣ рд╕реНрдХреВрд▓ рдХреА рддрд░рд╣ рд╣реИ, рдПрдХ рдЫрд╛рддреНрд░ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП 5 рдпрд╛ 2 рдХрд╛ рдЧреНрд░реЗрдб рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред


рдПрдХ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, y рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рдФрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рдЕрдиреБрдорд╛рдирд┐рдд рдореВрд▓реНрдп рдХреЗ рдмреАрдЪ рдЗрд╕рдХреА рддреНрд░реБрдЯрд┐ (рддреНрд░реБрдЯрд┐) рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рдПрдЧреА:


рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рд▓рд╛рдЧрдд


рдЬреИрд╕рд╛ рдХрд┐ рд╕реВрддреНрд░ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рддреНрд░реБрдЯрд┐ рдХреЛ рджреЛ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЕрдВрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреЗрдВрдЧреЗред рдорд╛рди рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдЬрд┐рддрдиреЗ рдХрд░реАрдм рд╣реЛрддреЗ рд╣реИрдВ, рдЕрдВрддрд░ рдЙрддрдирд╛ рд╣реА рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред рд╣рдо рд╕рд╛рдЗрди рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╕реНрдХреНрд╡реЗрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдЕрдВрдд рдореЗрдВ (1 - 2) ^ 2 (2 - 1) ^ 2 рдмрд░рд╛рдмрд░ рд╣реЛред рдПрдХ рд╕рдВрдХреЗрдд рдХреЗ рдкреАрдЫреЗ рдкреНрд░рд╕рд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░ рдореЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗ рдЕрд░реНрде рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд╡реАрдЬрди 2 рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ (рдиреАрдЪреЗ рдЗрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ)ред


рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕рдорд╛рд░реЛрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:


 function predictionCost(y, prediction) { return (y - prediction) ** 2 / 2; // ie -> 235.6 } 

рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдХреЗрдд рдкреНрд░рд╕рд╛рд░


рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдХреЗрдд рдкреНрд░рд╕рд╛рд░ рдХрд╛ рдорддрд▓рдм рд╣реИ, xTrain рдФрд░ yTrain рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рд╕рднреА рдЬреЛрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпрд╛рдВ xTrain рдФрд░ рдЗрди рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдиреЛрдВ рдХреА рдФрд╕рдд рддреНрд░реБрдЯрд┐ (рддреНрд░реБрдЯрд┐) рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ред


рд╣рдо рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЛ "рдмреЛрд▓рдиреЗ" рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпрд╛рдВ (рддрд╛рдкрдорд╛рди рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд) рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдПрдХ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдмрд╣реБрдд рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддреНрд░реБрдЯрд┐ рдХрд╛ рдФрд╕рдд рдореВрд▓реНрдп рд╣рдореЗрдВ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░рд╛ рдореЙрдбрд▓ рдХрд┐рддрдиреА рджреВрд░ рд╣реИ / рдлрд┐рд▓рд╣рд╛рд▓ рд╕рдЪреНрдЪрд╛рдИ рдХреЗ рдХрд░реАрдм рд╣реИред рдпрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рдХрд╛ рдорд╛рди рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ w рдФрд░ b рдХреЛ рдмрджрд▓рдХрд░ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реАрдзрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдирдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде "рдЕрдзрд┐рдХ рд╕реНрдорд╛рд░реНрдЯ" рд╣реЛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред


рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреА рдФрд╕рдд рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддреНрд░реБрдЯрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рдПрдЧреА:


рдФрд╕рдд рд▓рд╛рдЧрдд


рдЬрд╣рд╛рдБ m рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 100 рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗ рд╣реИрдВ)ред


рдпрд╣рд╛рдБ рд╣рдо рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 function forwardPropagation(model, xTrain, yTrain) { const m = xTrain.length; const predictions = []; let cost = 0; for (let i = 0; i < m; i += 1) { const prediction = nanoNeuron.predict(xTrain[i]); cost += predictionCost(yTrain[i], prediction); predictions.push(prediction); } //     . cost /= m; return [predictions, cost]; } 

рд╕рдВрдХреЗрдд рдЙрд▓реНрдЯрд╛ рдкреНрд░рд╕рд╛рд░


рдЕрдм рдЬрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдЕрдкрдиреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд╣реИ (рддреНрд░реБрдЯрд┐ рдХреЗ рдФрд╕рдд рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░), рддреЛ рд╣рдо рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдХреИрд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?


рд░рд┐рд╡рд░реНрд╕ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╕рд╛рд░ рд╕реЗ рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред рд╕рд┐рдЧреНрдирд▓ рдмреИрдХ рдкреНрд░рдЪрд╛рд░ рдПрдХ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреА рддреНрд░реБрдЯрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдЙрд╕рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ w рдФрд░ b рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреА рдЕрдЧрд▓реА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпрд╛рдВ рдереЛрдбрд╝реА рдФрд░ рд╕рдЯреАрдХ рд╣реЛ рдЬрд╛рдПрдВред


рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдорд╢реАрди рд╕реАрдЦрдирд╛ рдЬрд╛рджреВ рдХреА рддрд░рд╣ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдореБрдЦреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рд╣реИ , рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдиреНрдпреВрдирддрдо (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдиреНрдпреВрдирддрдо) рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХрд┐рд╕ рдЖрдХрд╛рд░ рдХреЗ рдЪрд░рдг рдФрд░ рдХрд┐рд╕ рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдп рддреНрд░реБрдЯрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдиреНрдпреВрдирддрдо рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ (рдКрдкрд░ рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦреЗрдВ)ред рдпрджрд┐ рд╣рдо w рдФрд░ b рдРрд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рддреНрд░реБрдЯрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдФрд╕рдд рдореВрд▓реНрдп рдЫреЛрдЯрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдбрд┐рдЧреНрд░реА рдлрд╝рд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдореЗрдВ рддрд╛рдкрдорд╛рди рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддреЗ рд╣реИрдВред


рдбреЗрд░рд┐рд╡реЗрдЯрд┐рд╡ рдПрдХ рдмрдбрд╝рд╛ рдФрд░ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред MathIsFun рдПрдХ рдмреЗрд╣рддрд░реАрди рд╕рдВрд╕рд╛рдзрди рд╣реИ рдЬреЛ рдбреЗрд░рд┐рд╡реЗрдЯрд┐рд╡ рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред


рдПрдХ рдмрд╛рдд рдЬреЛ рд╣рдореЗрдВ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗ рд╕рд╛рд░ рд╕реЗ рд╕реАрдЦрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬреЛ рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреА рдХрд┐ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдмреИрдХрдкреНрд░реЛрдкреИрдЬреЗрд╢рди рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдмрд┐рдВрджреБ x рдФрд░ y рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди, рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, x рдкрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡рдХреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рд░реЗрдЦрд╛ рд╣реИ y рдФрд░ рд╣рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреА рдиреНрдпреВрдирддрдо рджрд┐рд╢рд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ ред


рд╡реНрдпреБрддреНрдкрдиреНрди рдврд▓рд╛рди


рдЫрд╡рд┐ MathIsFun рд╕реЗ рд▓реА рдЧрдИ рд╣реИ


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рджрд┐рдП рдЧрдП рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ, рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдмрд┐рдВрджреБ рдкрд░ (x=2, y=4) рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ (x=2, y=4) рдврд▓рд╛рди рд╣рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдиреНрдпреВрдирддрдо рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рдХрд╛ рдврд▓рд╛рди рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИ, рдЙрддрдиреА рд╣реА рддреЗрдЬреА рд╕реЗ рд╣рдореЗрдВ рдиреНрдпреВрдирддрдо рдмрд┐рдВрджреБ рддрдХ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


w рдФрд░ b рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ averageCost рдореЗрдВ рд╣рдорд╛рд░реА рдФрд╕рдд рдПрд░рд░ рдлрдВрдХреНрд╢рди averageCost рдХрд╛ рдбреЗрд░рд┐рд╡реЗрдЯрд┐рд╡ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:


DW


рдбреАрдмреА


рдЬрд╣рд╛рдБ m рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 100 рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗ рд╣реИрдВ)ред


рдЖрдк рдпрд╣рд╛рдВ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рд▓реЗрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред


 function backwardPropagation(predictions, xTrain, yTrain) { const m = xTrain.length; //           'w'  'b'. //      0. let dW = 0; let dB = 0; for (let i = 0; i < m; i += 1) { dW += (yTrain[i] - predictions[i]) * xTrain[i]; dB += yTrain[i] - predictions[i]; } //    . dW /= m; dB /= m; return [dW, dB]; } 

рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг


рдЕрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ (рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╕рд╛рд░) рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдореЙрдбрд▓ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдХреА рддреНрд░реБрдЯрд┐ / рддреНрд░реБрдЯрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рдХреИрд╕реЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПред рд╣рдо рдпрд╣ рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдХреА рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдореЙрдбрд▓ (рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдкреАрдЫреЗ рдкреНрд░рд╕рд╛рд░) рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ w рдФрд░ b рдХреЛ рдХреИрд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕рдВрдХреЗрдд рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░рд╕рд╛рд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдХрд╛рдиреВрдиреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдФрд░ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдПрдХ рдЫрд╛рддреНрд░ рдХреА рдПрдХ рджрд┐рд╡рд╕реАрдп рд╕реНрдХреВрд▓ рдпрд╛рддреНрд░рд╛ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣ / рд╡рд╣ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ, рджрд┐рди рдХреЗ рдмрд╛рдж рджрд┐рди, рд╡рд░реНрд╖ рдХреЗ рдмрд╛рдж рд╕реНрдХреВрд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рдВрдХреЗрдд рдХреЗ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдХреЗ рдкреНрд░рд╕рд╛рд░ рдХреЛ рдХрдИ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ trainModel() рд╣реИ trainModel() рдлрд╝рдВрдХреНрд╢рди trainModel() ред рд╡рд╣ рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ "рд╢рд┐рдХреНрд╖рдХ" рдХреА рддрд░рд╣ рд╣реИ:


  • рд╡рд╣ рдЕрднреА рднреА рдореВрд░реНрдЦ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдордп (рдЕрд╡рдзрд┐) рдмрд┐рддрд╛рдПрдЧреА, рдЙрд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧреА,
  • рд╡рд╣ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХреЛрдВ ( xTrain рдФрд░ yTrain рдбреЗрдЯрд╛рд╕реЗрдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреА,
  • рдпрд╣ рд╣рдорд╛рд░реЗ "рдЫрд╛рддреНрд░" рдХреЛ alpha рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдзрд┐рдХ рдкрд░рд┐рд╢реНрд░рдо (рддреЗрдЬ) рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕реАрдЦрдиреЗ рдХреА рдЧрддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

alpha рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред рдпрд╣ рдЪрд░ dW рдФрд░ dB рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдЧреБрдгрд╛рдВрдХ (рдЧреБрдгрдХ) рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдкреАрдЫреЗ рдкреНрд░рд╕рд╛рд░ рдХреЗ рджреМрд░рд╛рди рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╡реНрдпреБрддреНрдкрдиреНрди рдиреЗ рд╣рдореЗрдВ рдиреНрдпреВрдирддрдо рддреНрд░реБрдЯрд┐ рдлрд╝рдВрдХреНрд╢рди ( dW рдФрд░ dB рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рдВрдХреЗрдд рд╣рдореЗрдВ рдмрддрд╛рдП) рдХреА рджрд┐рд╢рд╛ рджрд┐рдЦрд╛рдИред рд╡реНрдпреБрддреНрдкрдиреНрди рдиреЗ рд╣рдореЗрдВ рдпрд╣ рднреА рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рддрдиреА рдЬрд▓реНрджреА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдиреНрдпреВрдирддрдо ( dW рдФрд░ dB рдХреЗ рдирд┐рд░рдкреЗрдХреНрд╖ рдорд╛рди рд╣рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ) рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рд╣рдореЗрдВ рдЕрдкрдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЧрддрд┐ рдХреЛ рдиреНрдпреВрдирддрдо (рдХреБрд▓ рдЪрд░рдг рдЖрдХрд╛рд░) рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП alpha рджреНрд╡рд╛рд░рд╛ рдЪрд░рдг рдЖрдХрд╛рд░ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХрднреА-рдХрднреА, рдпрджрд┐ рд╣рдо alpha рд▓рд┐рдП рдмрдбрд╝реЗ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрддрдиреЗ рдмрдбрд╝реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдмрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдиреНрдпреВрдирддрдо рдкрд░ рдХрджрдо рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред


"рд╢рд┐рдХреНрд╖рдХ" рдХреЗ рд╕рд╛рде рд╕рд╛рдордВрдЬрд╕реНрдп рдХрд░рдХреЗ, рд╡рд╣ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╣рдорд╛рд░реЗ "рдиреИрдиреЛ-рдЫрд╛рддреНрд░" рдХреЛ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛, рдЙрддрдиреА рд╣реА рддреЗрдЬреА рд╕реЗ рд╡рд╣ рд╕реАрдЦреЗрдЧрд╛, рд▓реЗрдХрд┐рди, рдпрджрд┐ рдЖрдк рдЬрдмрд░рджрд╕реНрддреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ рдмрд╣реБрдд рджрдмрд╛рд╡ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ "рдиреИрдиреЛ-рдЫрд╛рддреНрд░" рдХреЛ рдПрдХ рдирд░реНрд╡рд╕ рдбрд╛рдЙрдирдбрд╛рдЙрди рдХрд╛ рдЕрдиреБрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреВрд░реНрдг рдЙрджрд╛рд╕реАрдирддрд╛ рдФрд░ рдЙрд╕рдиреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реАрдЦрд╛ред


рд╣рдо рдЕрдкрдиреЗ рдореЙрдбрд▓ w рдФрд░ b рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗ:


w


рдЦ


рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╣реА рджрд┐рдЦрддрд╛ рд╣реИ:


 function trainModel({model, epochs, alpha, xTrain, yTrain}) { //     -.  . const costHistory = []; //    ()  for (let epoch = 0; epoch < epochs; epoch += 1) { //   . const [predictions, cost] = forwardPropagation(model, xTrain, yTrain); costHistory.push(cost); //   . const [dW, dB] = backwardPropagation(predictions, xTrain, yTrain); //    -,    . nanoNeuron.w += alpha * dW; nanoNeuron.b += alpha * dB; } return costHistory; } 

рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдХрд░


рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред


рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдореЙрдбрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдБред рдлрд┐рд▓рд╣рд╛рд▓, рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ b рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рддреЛ рдЪрд▓рд┐рдП w рдФрд░ b рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред


 const w = Math.random(); // ie -> 0.9492 const b = Math.random(); // ie -> 0.4570 const nanoNeuron = new NanoNeuron(w, b); 

рд╣рдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред


 const [xTrain, yTrain, xTest, yTest] = generateDataSets(); 

рдЕрдм рдЖрдЗрдП 70000 рдпреБрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдЪрд░рдгреЛрдВ ( 0.0005 ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЖрдк рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдЕрдиреБрднрд╡рдЬрдиреНрдп рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред


 const epochs = 70000; const alpha = 0.0005; const trainingCostHistory = trainModel({model: nanoNeuron, epochs, alpha, xTrain, yTrain}); 

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХрд╛ рддреНрд░реБрдЯрд┐ рдореВрд▓реНрдп рдХреИрд╕реЗ рдмрджрд▓ рдЧрдпрд╛ред рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдмрд╛рдж рддреНрд░реБрдЯрд┐ рдореВрд▓реНрдп рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдХрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рд╕рдордЭрджрд╛рд░ рд╣реИрдВред рд╡рд┐рдкрд░реАрдд рд╡рд┐рдХрд▓реНрдк рднреА рд╕рдВрднрд╡ рд╣реИ, рдЬрдм рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдмрд╛рдж, рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдХреА рддреНрд░реБрдЯрд┐ рдХреЗрд╡рд▓ рдмрдврд╝ рдЧрдИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдЦрдиреЗ рдХреЗ рдЪрд░рдг alpha рдмрдбрд╝реЗ рдореВрд▓реНрдп)ред


 console.log('  :', trainingCostHistory[0]); // ie -> 4694.3335043 console.log('  :', trainingCostHistory[epochs - 1]); // ie -> 0.0000024 

рдФрд░ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдореЙрдбрд▓ рддреНрд░реБрдЯрд┐ рдХрд╛ рдореВрд▓реНрдп рдХреИрд╕реЗ рдмрджрд▓ рдЧрдпрд╛ред x рдЕрдХреНрд╖ рдкрд░ (рд╣рдЬрд╛рд░реЛрдВ рдореЗрдВ) рдпреБрдЧ рд╣реИрдВред рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЪрд╛рд░реНрдЯ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛ред


рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛


рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди "рд╕реАрдЦреЗ рдЧрдП" рдХреМрди рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ w рдФрд░ b рдЙрд╕реА рдирд╛рдо рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдорд┐рд▓рддреЗ-рдЬреБрд▓рддреЗ рд╣реЛрдВрдЧреЗ рдЬреИрд╕реЗ рдХрд┐ celsiusToFahrenheit() рдлрд╝рдВрдХреНрд╢рди ( w = 1.8 рдФрд░ b = 32 ), рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрд╕рдХрд╛ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереАред


 console.log(' -:', {w: nanoNeuron.w, b: nanoNeuron.b}); // ie -> {w: 1.8, b: 31.99} 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди celsiusToFahrenheit() рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реИред


рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреА рд╕рдЯреАрдХ рд╣реИ рдЬреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВ рджреЗрдЦреА рдереАред рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддреНрд░реБрдЯрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд░реАрдм рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдиреЗ рд╕рд╣реА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реАрдЦ рд▓реА рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рдХреЗ рдЕрдЬреНрдЮрд╛рдд рдбреЗрдЯрд╛ (рдпрд╣ рдореЙрдбрд▓ рдХрд╛ рдкреВрд░рд╛ рдореВрд▓реНрдп рд╣реИ) рд╕реЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред


 [testPredictions, testCost] = forwardPropagation(nanoNeuron, xTest, yTest); console.log('   :', testCost); // ie -> 0.0000023 

рдЕрдм, рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ "рдиреИрдиреЛ-рдмреЗрдмреА" рдХреЛ "рд╕реНрдХреВрд▓" рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЕрдм рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рдХреЛ рдбрд┐рдЧреНрд░реА рдлрд╝рд╛рд░реЗрдирд╣рд╛рдЗрдЯ рдореЗрдВ рднреА рдХреИрд╕реЗ рд╕рд╣реА рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреЛ рдбреЗрдЯрд╛ рдЙрд╕рдиреЗ рдирд╣реАрдВ рджреЗрдЦрд╛, рд╣рдо рдЙрд╕реЗ рдХрд╛рдлреА "рд╕реНрдорд╛рд░реНрдЯ" рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рд╣рдо рдЙрдирд╕реЗ рддрд╛рдкрдорд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рд╕рд▓рд╛рд╣ рднреА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдкреВрд░реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдерд╛ред


 const tempInCelsius = 70; const customPrediction = nanoNeuron.predict(tempInCelsius); console.log(`- "",  ${tempInCelsius}┬░C   :`, customPrediction); // -> 158.0002 console.log('  :', celsiusToFahrenheit(tempInCelsius)); // -> 158 

рдмрд╣реБрдд рдХрд░реАрдм! рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣, рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдЕрдЪреНрдЫреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╣реА рдирд╣реАрдВ :)


рд╕рдлрд▓ рдХреЛрдбрд┐рдВрдЧ!


рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдХреЛ рдХреИрд╕реЗ рдЪрд▓рд╛рдирд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╣реИ


рдЖрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдиреИрдиреЛ рдиреНрдпреВрд░реЙрди рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:


 git clone https://github.com/trekhleb/nano-neuron.git cd nano-neuron 

 node ./NanoNeuron.js 

рдЫреВрдЯреА рд╣реБрдИ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд╛ рдкреГрдердХреНрдХрд░рдг


рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╕реЗрдЯ рдореЗрдВ рдкреНрд░рддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рд╡рд┐рднрд╛рдЬрди 70/30 рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗрдЯ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдорд┐рд╢реНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдмрдбрд╝реА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЦреЛрдВ), рддреЛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗрдЯреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди 90/10 рдпрд╛ 95/5 рдХреЗ рдХрд░реАрдм рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдСрдирд▓рд╛рдЗрди рд╢рдХреНрддрд┐


рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдРрд╕реЗ рдорд╛рдорд▓реЗ рдирд╣реАрдВ рдорд┐рд▓реЗрдВрдЧреЗ рдЬрдм рдХреЗрд╡рд▓ рдПрдХ рдиреНрдпреВрд░реЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрд╛рдХрдд рдРрд╕реЗ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╣реИ ред рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд┐рд░реНрднрд░рддрд╛ рд╕реАрдЦ рд╕рдХрддрд╛ рд╣реИред


рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рднреА, рд╣рдорд╛рд░реЗ рдиреИрдиреЛ-рдиреНрдпреВрд░реЙрди рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рд░реИрдЦрд┐рдХ рдкреНрд░рддрд┐рдЧрдорди рдХреА рддрд░рд╣ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВред


рдЗрдирдкреБрдЯ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг


рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ, рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рд╣реИред


рд╡реЗрдХреНрдЯрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП, рд╡реЗрдХреНрдЯрд░ (рдореИрдЯреНрд░рд┐рдХреНрд╕) рдЧрдгрдирд╛ рдЫреЛрд░реЛрдВ рдХреЗ for рдЧрдгрдирд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рд░рд┐рд╡рд░реНрд╕ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╕рд╛рд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди рдиреЗрдореНрдкреА рдкреБрд╕реНрддрдХрд╛рд▓рдпред


рдиреНрдпреВрдирддрдо рддреНрд░реБрдЯрд┐ рд╕рдорд╛рд░реЛрд╣


рдиреИрдиреЛ рдиреНрдпреВрд░реЙрди рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдЬреЛ рдПрд░рд░ рдлрдВрдХреНрд╢рди рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓реАрдХреГрдд рд╣реИред рдЗрд╕рдореЗрдВ рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рдШрдЯрдХ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рддреНрд░реБрдЯрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рднреА рд╕рдВрдХреЗрдд рдХреЗ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдкреНрд░рд╕рд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░реЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЛ рджрд░реНрдЬ рдХрд░реЗрдЧрд╛ред


рд╕рдХреНрд░рд┐рдпрдг рд╕рдорд╛рд░реЛрд╣


рдЖрдорддреМрд░ рдкрд░ рдиреНрдпреВрд░реЙрди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рди рд╕рдХреНрд░рд┐рдпрдг рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред рд╕рдХреНрд░рд┐рдпрдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рдЧреНрдореЙрдЗрдб , ReLU рдФрд░ рдЕрдиреНрдп рдЬреИрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi479220/


All Articles