рд╕рд░рд▓рддрдо рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдЗрд╕рдХреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛

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

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

рдЫрд╡рд┐


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

рдЪрд░рдг 1. рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╛рд░рдВрдн


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рднреА рд╕рдХреНрд░рд┐рдп рдШрдЯрдХреЛрдВ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

# numpy тАФ    Python,        import numpy #  scipy.special , -scipy    , ,  ,      ,       ,   - " " import scipy.special #,      import matplotlib.pyplot #     class neuralNetwork: #     def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate): #     ,   ,   ,  ) #     ,  ,   self.inodes = inputnodes self.hnodes = hiddennodes self.onodes = outputnodes #    , wih -       ,    who-       self.wih = numpy.random.rand(self.hnodes, self.inodes) self.who = numpy.random.rand(self.onodes, self.hnodes) #   -  ,  ,  ,    ,     ,     ,  ,  ,   self.lr = learningrate #  -   self.activation_function = lambda x: scipy.special.expit(x) 

рдЕрд╡рдЧреНрд░рд╣


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

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдмрдбрд╝реЗ (рдореЛрдбреБрд▓реЛ) рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рд╢реВрдиреНрдп рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ , рдФрд░ рдмрдбрд╝реА рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ ред

рдЗрд╕рдХрд╛ рдЙрддреНрдкрд╛рджрди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдиреНрдпреВрд░реЙрди рд╕рдХреНрд░рд┐рдпрдг рдХреЗ рд╕реНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ : рд╕рдХреНрд░рд┐рдпрдг рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ (0) рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрддреГрдкреНрдд рд╕рдХреНрд░рд┐рдпрдг (1) рддрдХред

рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╕реВрддреНрд░ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдЫрд╡рд┐

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрдВрдХрдбрд╝реЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд┐рдЧреНрдореЙрдЗрдб рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЧреНрд░рд╛рдл:

рдЫрд╡рд┐

рд╕рд┐рдЧреНрдореЛрдЗрдб рдлрд╝рдВрдХреНрд╢рди рд╣реИ:

  • рдирд┐рд░рдВрддрд░;
  • рдиреАрд░рд╕рддрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ;
  • рд╡рд┐рднреЗрджрдХред

рдЗрд╕ рдХреЛрдб рдореЗрдВ, рд╕рд┐рдЧреНрдореЙрдЗрдб рдореМрдЬреВрдж рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдирд╛рдо рдХреЗ рддрд╣рдд рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ (x)

рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдПрдХ рдиреЛрдб рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛


рдЫрд╡рд┐

рдЪрд┐рддреНрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдиреЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЗрд╕реЗ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рд╕рд░реНрдХрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдПрдХ рдЖрдпрддред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рдПрдХ рдЖрдпрдд (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдПрдХ рд╡реГрддреНрдд) рдХреЗ рдЕрдВрджрд░ - рдпрд╣ рд╕рдм рд╕рд╛рд░ рд╣реИ, 2 рдХрд╛рд░реНрдп рд╣реИрдВ:

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

рджреВрд╕рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╛рди рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдХреНрд░рд┐рдпрдг рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╕рд┐рдЧреНрдореЛрдЗрдб

рд╣рдо рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ :

рднрд╛рдЧ 2. рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг


 def train(self, inputs_list, targets_list): #       inputs = numpy.array(inputs_list, ndmin=2).T #     input targets = numpy.array(targets_list, ndmin=2).T #  targets #      hidden_inputs = numpy.dot(self.wih, inputs) #  ,       .    ,       hidden_inputs (1 ),        -   (2 ) hidden_outputs = self.activation_function(hidden_inputs) #    ()  final_inputs = numpy.dot(self.who, hidden_outputs) #  ,     final_outputs = self.activation_function(final_inputs) #   ( - ) output_errors = targets - final_outputs #      ,    <b>  </b>,   <b>       </b>(      ) hidden_errors = numpy.dot(self.who.T, output_errors) #        ( ,      ) self.who += self.lr * numpy.dot((output_errors * final_outputs * (1.0 - final_outputs)), numpy.transpose(hidden_outputs)) #       (       ) self.wih += self.lr * numpy.dot((hidden_errors * hidden_outputs * (1.0 - hidden_outputs)), numpy.transpose(inputs)) 

рдФрд░ рдЕрдм рд╣рдо рдЕрдВрдд рдХреЗ рдирд┐рдХрдЯ рд╣реИрдВ

рднрд╛рдЧ 3. рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдкреВрдЫрддрд╛рдЫ


 #  ,      def query(self, inputs_list): #         inputs = numpy.array(inputs_list, ndmin=2).T #      hidden_inputs = numpy.dot(self.wih, inputs) #  ,     hidden_outputs = self.activation_function(hidden_inputs) #      final_inputs = numpy.dot(self.who, hidden_outputs) #     ,     final_outputs = self.activation_function(final_inputs) return final_outputs 

рд╣рдо рдЗрд╕реЗ рдЕрдВрдд рддрдХ рд▓рд╛рддреЗ рд╣реИрдВ


 #     ,  ,  (  <b></b>-    , ,   input_nodes = 3 hidden_nodes = 3 output_nodes = 3 #    -   , ... 0.3! learning_rate = 0.3 #   (n    neuralNetwork ,      __init__ ,        n = neuralNetwork(input_nodes,hidden_nodes,output_nodes, learning_rate) 

рдкреБрдирд╢реНрдЪ


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

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

рдкреА рдкреА рдПрд╕


рдиреАрдЪреЗ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ рдорд┐рд▓реЗрдВрдЧреЗ:

1. рдЧрд┐рддреБрдм рддрд╛рд░рд┐рдХ рд╕реЗ рд▓рд┐рдВрдХ ->
реи.рд╣рд┐рд╕ рдкреБрд╕реНрддрдХ ->
3.Machine Learning Theory ->
4.Machine Learning Theory ->
5.Machine Learning Theory ->

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


All Articles