рдпреЛрдЬрдирд╛ рдореЗрдВ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ

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


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


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



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

рдЕрдм рд╣рдо рд╕реАрдзреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВред рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд┐ IMHO LISP рдХреА рд╕рдмрд╕реЗ рд╕реБрдВрджрд░ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдмреЛрд▓реА рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдордЖрдИрдЯреА-рд╕реНрдХреАрдо рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдкрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
(n lst) - рдиреНрдпреВрд░реЙрдиред рдиреНрдпреВрд░реЙрди, рдХреЗ рдмрдЬрд╛рдп lst рдореЗрдВ synapse рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдкреНрд░рд╡рд░реНрдзрди рдХрд╛рд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: (n (1 2 4))ред
(l lst) - рдкрд░рддред рдПрдХ рдкрд░рдд рдЬрд┐рд╕рдореЗрдВ рдиреНрдпреВрд░реЙрдиреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп lst рдореЗрдВ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИред 2 рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рдкрд░рдд рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг (l ((n (0.1 0.6 0.2)) (n (0.8 0.4 0.4)))
(lst) - рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реВрдЪреА, рд╕реВрдЪреА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХрд┐рд╕реА рднреА рдЪрд░рд┐рддреНрд░ рдХреЗ рдмрд┐рдирд╛ - рдПрдХ рд╕рд╛рдзрд╛рд░рдг рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХред Lst рдореЗрдВ рдкрд░рддреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
((l ((n (0.1 0.6 0.2)) (n (0.5 0.1 0.7)) (n (0.8 0.4 0.4)))
(l ((n (0.3 0.8 0.9)) (n (0.4 0.9 0.1)) (n (0.9 0.9 0.9)))

рдХреЛрдб рдХреБрдЫ рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
; рдмрд╛рд╣рд░ - рдиреНрдпреВрд░реЙрди рдЖрдЙрдЯрдкреБрдЯ - рдиреНрдпреВрд░реЙрди рдЖрдЙрдЯрдкреБрдЯ
; wh - рд╡рдЬрди - рдмрд╛рдВрдб рд╡рдЬрди
; Res - рдкрд░рд┐рдгрд╛рдо - рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рдкреВрд░реА рдкрд░рдд рдХреА рдЧрдгрдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо
; akt - рд╕рдХреНрд░рд┐рдпрдг - рдиреНрдпреВрд░реЙрди рд╕рдХреНрд░рд┐рдпрдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо
; n - рдиреНрдпреВрд░реЙрди
; рдПрд▓ - рдкрд░рдд
; рдиреЗрдЯ - рдиреЗрдЯрд╡рд░реНрдХ
; mk - рдмрдирд╛рдирд╛
; рдЦрд░реАрдж - рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЖрдЗрдП рдПрдХ рдиреНрдпреВрд░реЙрди рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЬреЛ рдЙрдмрд╛рдК рд╣реИ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ:

(define (n-mk lst) ;make new neuron
(list 'n lst))

рдкрд░рдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ:

(define (l-mk-new input n lst) ;makes new layer
(let ( (lst1 (append lst (list (n-mk (lst-rand input))))) )
(if (= n 1) (l-mk lst1) (l-mk-new input (- n 1) lst1))))

рдЗрдирдкреБрдЯ - рдЗрд╕ рдкрд░рдд рдореЗрдВ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдЗрдирдкреБрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛
n рдкрд░рдд рдореЗрдВ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред
lst - рддреИрдпрд╛рд░ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреАред

рдЗрдирдкреБрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЬрд╛рдирддреЗ рд╣реБрдП, рд╣рдо lst-rand рд╕реЗ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдЖрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ n-mk рдХреЗ рд╕рд╛рде рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ lst1 рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрдзрд┐рдХ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрджрд┐ рдпрд╣ рдЕрдВрддрд┐рдо рдиреНрдпреВрд░реЙрди рдирд╣реАрдВ рдерд╛, рддреЛ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдХрдо рдХрд░реЗрдВ рдФрд░ рдСрдкрд░реЗрд╢рди рдХреЛ рджреЛрд╣рд░рд╛рдПрдВред рдпрджрд┐ рдпрд╣ рдЕрдВрддрд┐рдо рдиреНрдпреВрд░реЙрди рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрд▓-рдПрдордХреЗ рдХреЗ рд╕рд╛рде рдкреИрдХ рдХрд░реЗрдВред

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

(define (net-make lay)
(net-mk-new (car lay) (cdr lay) '()))

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

(define (net-mk-new input n-lst lst)
(let ( (lst1 (lst-push-b (l-mk-new input (car n-lst) '()) lst)) )
(if (= (length n-lst) 1) lst1 (net-mk-new (car n-lst) (cdr n-lst) lst1))))

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирдпрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╣реИред рдЖрдЗрдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВред рд╕рдХреНрд░рд┐рдпрдг рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

(define (n-akt x param) ;neuron activation function
(/ x (+ (abs x) param)))

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд▓рд┐рд╕реНрдк рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╣ рд╕рд┐рд░реНрдл x / (| x | + p) рд╣реИ, рдЬрд╣рд╛рдВ p рд╡рд╣ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдЧреНрд░рд╛рдл рдХреЛ рддреЗрдЬ рдпрд╛ рдЪрд┐рдХрдирд╛ рдмрдирд╛рддрд╛ рд╣реИред

(define (n-proc neuron input) ;process single neuron
(n-akt (lst-sum (lst-mul (n-inp-lst neuron) input )) 4))

рдиреНрдпреВрд░реЙрди - рдПрдХ рд╕рдХреНрд░рд┐рдп рдиреНрдпреВрд░реЙрди рд╣реЛрддрд╛ рд╣реИ,
рдЗрдирдкреБрдЯ - рд╕рд┐рдиреЗрдкреНрд╕ рдХреЗ рдЗрдирдкреБрдЯ рдХрд╛ рдорд╛рдиред
рдЬрд╡рд╛рдм рдореЗрдВ, рд╣рдо рдиреНрдпреВрд░реЙрди рдХреЗ рдЕрдХреНрд╖рддрдВрддреБ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред 4 - рд╕рдХреНрд░рд┐рдпрдг рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░, рдкреНрд░рдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рд╣рдо рдкреВрд░реА рдкрд░рдд рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

(define (l-proc l input) ;proceses a layer
(map (lambda(x)(n-proc x input)) (n-inp-lst l)))

рдЗрдирдкреБрдЯ - рдкрд┐рдЫрд▓реА рдкрд░рдд рдХреЗ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ,
рдПрд▓ - рдкрд░рдд рд╣реА
n-inp-lst - рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд▓реЗрдпрд░ рдХреЗ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИред

рд╣рдо рдПрдХ рд╕реНрддрд░ рдКрдВрдЪрд╛ рдЙрдареЗрдВрдЧреЗ рдФрд░ рдкреВрд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╕рдХреНрд░рд┐рдпрдг рдХрд╛рд░реНрдп рдХрд░реЗрдВрдЧреЗред

(define (net-proc net input)
(let ( (l (l-proc (car net) input)) )
(if (= 1 (length net)) l
(net-proc (cdr net) l))))

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

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

(define (net-study net lst spd) ;studys net for each example from the list smpl ((inp)(out))
(if (net-check-lst net lst) net
(net-study (net-study-lst net lst spd) lst spd)))

рдЬрд╣рд╛рдВ рдиреЗрдЯ рд╣реА рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ
lst рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ
spd - рд╕реАрдЦрдиреЗ рдХреА рдЧрддрд┐ред
net-check-lst - lst рд╕реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░рддрд╛ рд╣реИ
net-study-lst - рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ

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

(define (net-study-lst net lst spd)
(let ( (x (net-study1 net (caar lst) (cadar lst) spd)) )
(if (= 1 (length lst)) x
(net-study-lst x (cdr lst) spd))))

(define (net-study1 net inp need spd)
(net-study2 net (l-check inp) need spd))

рдпрд╣рд╛рдБ l-check рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рд╡реЗ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рд╕реНрддрд░ рдкрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рдВрдЪрд░рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ред

(define (net-study2 net inp need spd)
(let ( (x (net-study3 net inp need spd)))
(if (= (caar (lst-order-max need))(caar (lst-order-max (net-proc x inp))))
x
(net-study2 x inp need spd))))


рдиреЗрдЯ-рд╕реНрдЯрдбреА 2 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдЖрдЙрдЯрдкреБрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдкреИрдЯрд░реНрди рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдЖрдЙрдЯрдкреБрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╡реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╣рдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред

(define (net-study3 net inp need spd)
(let ((err (net-spd*err spd (slice (net-err net inp need) 1 0)))
(wh (net-inp-wh net))
(out (slice (net-proc-res-out net inp) 0 -1)))
(net-mk-data (net-err+wh wh (map (lambda(xy)(lst-lst-mul xy)) out err)))))


рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рднреА рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рдЬрди рдХреА рд╕реВрдЪреА
рдмрд╛рд╣рд░ - рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рднреА рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ
рдЧрд▓рдд - рдкреНрд░рддреНрдпреЗрдХ рдиреНрдпреВрд░реЙрди рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд╕реВрдЪреА
рдиреЗрдЯ-рд╕реНрдкрдб * рдЗрд░реЗрдЯ - рдиреНрдпреВрд░реЙрди рдХреЗ рд╡рдЬрди рджреНрд╡рд╛рд░рд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдЧрддрд┐ рдХреЛ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИред
рдиреЗрдЯ-рдЗрд░ + рд╡реН - рд╡реЗрдЯреНрд╕ рдХреА рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдкрд░рд┐рдХрд▓рд┐рдд рддреНрд░реБрдЯрд┐ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд╕реЗ рдиреЗрдЯ-рдореЗрдХ-рдбреЗрдЯрд╛ рдПрдХ рдирдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рддрд╛ рд╣реИред

рдЦреИрд░, рдЕрдм рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рддреНрд░реБрдЯрд┐ рдЧрдгрдирд╛ рд╣реИред рд╡рдЬрди рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
рдЫрд╡рд┐
рдЬрд╣рд╛рдБ
Wij рдХрд╛ рд╡рдЬрди рдиреНрдпреВрд░реЙрди i рд╕реЗ рдиреНрдпреВрд░реЙрди j рддрдХ рд╣реЛрддрд╛ рд╣реИ,
рд╢реА рдиреНрдпреВрд░реЙрди i рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ,
R рд╕реАрдЦрдиреЗ рдХрд╛ рдЪрд░рдг рд╣реИ,
Gj рдиреНрдпреВрд░реЙрди j рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдорд╛рди рд╣реИред

рдЖрдЙрдЯрдкреБрдЯ рдкрд░рдд рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдЫрд╡рд┐
рдЬрд╣рд╛рдБ
Dj рдиреНрдпреВрд░реЙрди j рдХрд╛ рд╡рд╛рдВрдЫрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рд╣реИ,
Yj рдиреНрдпреВрд░реЙрди j рдХрд╛ рд╡рд░реНрддрдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рд╣реИред

рд╕рднреА рдкрд┐рдЫрд▓реА рдкрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдЫрд╡рд┐
рдЬрд╣рд╛рдВ рдХрд╢реНрдореАрд░ рдкрд░рдд рдХреЗ рд╕рднреА рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдпреВрдирд┐рдЯ рдирдВрдмрд░ рдПрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдиреНрдпреВрд░реЙрди рдЬреЗ рд╣реЛрддрд╛ рд╣реИред

(define (net-err net inp need) ;networks error list for each neuron
(let ( (wh-lst (reverse (net-out-wh net)))
(err-lst (list (net-out-err net inp need)))
(out-lst (reverse (slice (net-proc-res-out net inp) 0 -1))))
(net-err2 out-lst err-lst wh-lst)))

(define (net-err2 out-lst err-lst wh-lst)
(let ( (err-lst1 (lst-push (l-err (car out-lst) (car err-lst) (first wh-lst)) err-lst)) )
(if (lst-if out-lst wh-lst) err-lst1 (net-err2 (cdr out-lst) err-lst1 (cdr wh-lst)))))

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

рдЕрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рд╕рд░рд▓ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ рддреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЪреАрдЬреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ T, O, I, U рдЕрдХреНрд╖рд░ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЪрд╛рд░ рд╕рд░рд▓ рдкреИрдЯрд░реНрди рд╣реЛрдВрдЧреЗред рд╣рдо рдЙрдирдХреА рдореИрдкрд┐рдВрдЧ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ:

(рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЯреА '
рез рез рез
реж рез реж
0 1 0))

(рдбрд┐рдлрд╛рдЗрди рдУ тАЩ
рез рез рез
рез реж рез
1 1 1))

(рдореБрдЭреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ ')
реж рез реж
реж рез реж
0 1 0))

(рдбрд┐рдлрд╛рдЗрди рдпреВ) (
рез реж рез
рез реж рез
1 1 1))

рдЕрдм рд╣рдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдлреЙрд░реНрдо рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдкреНрд░рддреНрдпреЗрдХ рдЕрдХреНрд╖рд░ 4 рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

(рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрддреНрд░)
(рд╕реВрдЪреА рдУ '(1 0 0 0))
(рд╕реВрдЪреА t '(0 1 0 0))
(рд╕реВрдЪреА I '(0 0 1 0))
(рд╕реВрдЪреА рдпреВ '(0 0 0 1))))

рдЕрдм рдПрдХ рдирдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ 9 рдЗрдирдкреБрдЯ, 3 рд▓реЗрдпрд░реНрд╕ рдФрд░ 4 рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдВред

(рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрд░реАрдХреНрд╖рдг (рдиреЗрдЯ-рдореЗрдХ ') (реп test рек))

рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВред рдкрддреНрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред 0.5 рдПрдХ рд▓рд░реНрдирд┐рдВрдЧ рд╕реНрдЯреЗрдк рд╣реИред

(рдЯреЗрд╕реНрдЯ 1 рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ (рдиреЗрдЯ-рд╕реНрдЯрдбреА рдЯреЗрд╕реНрдЯ рдкрддреНрд░ 0.5)

рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЯреЗрд╕реНрдЯ 1 рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдкреИрдЯрд░реНрди рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ:

(рдиреЗрдЯ-рдкреНрд░реЛрдХ рдЯреЗрд╕реНрдЯ 1 рдУ)

> (.3635487227069449 .32468771459315143 .20836372502023912 .3635026264793502)

рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

(рдиреЗрдЯ- proc-num рдЯреЗрд╕реНрдЯ 1 рдУ)

> 0

рдпрд╛рдиреА рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдЙрдЯрдкреБрдЯ рдореВрд▓реНрдп рд╢реВрдиреНрдп рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдерд╛ред рдЕрдиреНрдп рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди:

(net-proc-num test1 i)

> реи

рд╣рдо рдЫрд╡рд┐ рдХреЛ рдереЛрдбрд╝рд╛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реИ:

(net-proc-num test1
'(
реж рез реж
рез реж рез
0 1 0))

> 0

(net-proc-num test1
'(
реж реж рез
реж рез реж
0 1 0))

> 1

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдЫрд╡рд┐ рднреА рдХрд╛рдлреА рдЕрд▓рдЧ рд╣реИред рд╕рдЪ рд╣реИ, рдПрдХ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╕реНрдерд┐рддрд┐ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдЯрд░реНрди I рдХреЗ рд╕рд╛рде рдкреИрдЯрд░реНрди рдЯреА рдХреЛ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛ред рдЖрдЙрдЯрдкреБрдЯ рдмрд╣реБрдд рдХрд░реАрдм рд╣реЛрдЧрд╛ред

(рдиреЗрдЯ-рдкреНрд░реЛрдХ рдЯреЗрд╕реНрдЯ рез
'(
0 1 1
реж рез реж
0 0 0))

> (.17387815810580473 .2731127800467817 .31253464734295566 -6.323399331678244e-3)

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ 1 рдФрд░ 2 рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдкреИрдЯрд░реНрди рдХрд╛рдлреА рд╕рдорд╛рди рд╣реИрдВ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ 2 рдкреИрдЯрд░реНрди рдХреЛ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдорд╛рдирддрд╛ рд╣реИред

PS рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдмрд╣реБрдд рдЕрд░рд╛рдЬрдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЛ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧреЗрдЧрд╛ред

PSS рдПрд▓рдЖрдИрдПрд╕рдкреА-рдпреБрдЧ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдЕрдиреБрд░реЛрдзред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрдиреА рдпреЛрдЬрдирд╛ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрд▓реЛрдЪрдирд╛ рдХрд╛ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред

рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ:
1. oasis.peterlink.ru/~dap/nneng/nnlinks/nbdoc/bp_task.htm#learn - рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рд▓рд┐рдП
2. ru.wikipedia.org/wiki/Artific_Neural_Network - рдЪрд┐рддреНрд░ рдФрд░ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рд╕реЗ рдорд┐рдЯрд╛ рджреА рдЧрдИ рд╣реИ
3. alife.narod.ru/lectures/neural/Neu_ch03.htm - рдпрд╣рд╛рдВ рд╕реЗ рдПрдХ рддрд╕реНрд╡реАрд░ рд▓реА
4. Iiklub.rf / neur-1.html

рдкрд╛рд╕реНрдЯрдмрд┐рди рдкрд░ рдкреВрд░реНрдг рд╕реНрд░реЛрдд:

pastebin.com/erer2BnQ

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


All Articles