Π½Π΅ΠΉΡΠΎΡΠ΅ΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ ΠΊΠΎΠ΄
ΠΡΠΎΡΡΠ°Ρ Π½Π΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ Π² 9 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π° Python
ΠΠ· ΡΡΠ°ΡΡΠΈ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΎΡΡΡΡ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΡ Π½Π° python Ρ Π½ΡΠ»Ρ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΠ΅ΠΉ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΠ΅ Π½Π΅Ρ ΡΠ²ΠΎΠ΅ΠΉ Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ, Π²ΠΎΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ 9 ΡΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π°:
ΠΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΏΠΎΡΡΠ° How to build a simple neural network in 9 lines of Python code, Π°Π²ΡΠΎΡ β ΠΠΈΠ»ΠΎ Π‘ΠΏΠ΅Π½ΡΠ΅Ρ-Π₯Π°ΡΠΏΠ΅Ρ. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π» β Π² ΠΏΠΎΠ΄Π²Π°Π»Π΅ ΡΡΠ°ΡΡΠΈ.
Π ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ Π½Π° python. Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π°.
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° 1
ΠΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π°, ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ Π½Π΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ? Π§Π΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ·Π³ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 100 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π° ΠΊΠ»Π΅ΡΠΎΠΊ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π½Π΅ΠΉΡΠΎΠ½Π°ΠΌΠΈ, ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΡΠΈΠ½Π°ΠΏΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠ½Π°ΠΏΡΠΈΡΠ΅ΠΊΠΈΡ Π²Ρ ΠΎΠ΄ΠΎΠ² Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½Ρ, ΡΠΎ ΠΈ Π½Π΅ΠΉΡΠΎΠ½ ΡΠΎΠΆΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½Π½ΡΠΌ. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ βΠΌΡΡΠ»Π΅Π½ΠΈΠ΅β.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΠΎΠ·Π΄Π°Π² Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠΎΠ·Π³Π° Π½Π° ΠΌΠΎΠ»Π΅ΠΊΡΠ»ΡΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΌΡΡΠ»Π΅Π½ΠΈΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΡΠΊΠΈ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΠ· ΡΡΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ.
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΉΡΠΎΠ½ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅.
ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ΅ΡΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠΉ Π²ΡΠ±ΠΎΡΠΊΠΎΠΉ. ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΡ? Π§ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠΎΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅ β?β
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° 2. Input β Π²Ρ
ΠΎΠ΄Π½ΡΠΉ ΡΠΈΠ³Π½Π°Π», Output β Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π».
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π΅Π½ ΡΠ°ΠΌΠΎΠΉ Π»Π΅Π²ΠΎΠΉ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ 1.
ΠΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ
ΠΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ΅Π³ΠΎ Π½Π΅ΠΉΡΠΎΠ½Π°, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΠΌΠΎΠ³ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ? ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π²Ρ ΠΎΠ΄Ρ Π²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ. ΠΡ ΠΎΠ΄ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π²Π΅ΡΠΎΠΌ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° Π²ΡΡ ΠΎΠ΄ Π½Π΅ΠΉΡΠΎΠ½Π°. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ. ΠΠ°ΡΠ΅ΠΌ Π½Π°ΡΠ½Π΅ΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅:
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° 3
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Π²Π΅Ρ Π½Π΅ΠΉΡΠΎΠ½Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°. ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Π½Π΅ΠΉΡΠΎΠ½Ρ Β«ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡΒ» Π² Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡ ΠΎΠ΄Π½Π° Ρ ΡΠΎΠΉ, ΡΡΠΎ Π±ΡΠ»Π° Π² ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΎΠ³Π½ΠΎΠ·.
Π€ΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π²ΡΡ ΠΎΠ΄Π° Π½Π΅ΠΉΡΠΎΠ½Π°
ΠΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠ²Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π²ΡΡ ΠΎΠ΄Π° Π½Π΅ΠΉΡΠΎΠ½Π°? Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ Π±Π΅ΡΠ΅ΠΌ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ ΡΡΠΌΠΌΡ Π²Ρ ΠΎΠ΄ΠΎΠ² Π½Π΅ΠΉΡΠΎΠ½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ:
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΡΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ 0 ΠΈ 1. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Sigmoid:
ΠΡΠ»ΠΈ Π³ΡΠ°ΡΠΈΠΊ Π½Π°Π½Π΅ΡΠ΅Π½ Π½Π° Π³ΡΠ°ΡΠΈΠΊ, ΡΡΠ½ΠΊΡΠΈΡ Sigmoid ΡΠΈΡΡΠ΅Ρ S-ΠΎΠ±ΡΠ°Π·Π½ΡΡ ΠΊΡΠΈΠ²ΡΡ.
ΠΠΎΠ΄ΡΡΠ°Π²Π»ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠΎΡΠΎΠ΅, ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° Π½Π΅ΠΉΡΠΎΠ½Π°:
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ.
Π€ΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠΈ Π²Π΅ΡΠ°
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° (ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° 3) ΠΌΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌ Π²Π΅ΡΠ°. ΠΠΎ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌ Π²Π΅Ρ? ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΡΠ»Ρ Β«ΠΠ·Π²Π΅ΡΠ΅Π½Π½Π°Ρ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅Β» ΡΠΎΡΠΌΡΠ»Π°
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠ° ΡΠΎΡΠΌΡΠ»Π°? ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΡ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΌΡ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π²Π½ΠΎ 0 ΠΈΠ»ΠΈ 1. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ 0, Π²Π΅Ρ Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΡΡΡ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ ΡΠΈΠ³ΠΌΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ (Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° 4). Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΠΏΡΠΈΠΌΠΈΡΠ΅ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ:
ΠΡΠ°Π΄ΠΈΠ΅Π½Ρ Π‘ΠΈΠ³ΠΌΠΎΠ΄Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ Π²Π·ΡΡΠΈΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ:
ΠΡΡΠΈΡΠ°Ρ Π²ΡΠΎΡΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΡΠΎΠ³ΠΎΠ²ΡΡ ΡΠΎΡΠΌΡΠ»Ρ:
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΡΠΌΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π΅ΠΉΡΠΎΠ½Ρ ΡΡΠΈΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅, Π½ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ: ΠΎΠ½Π° ΠΏΡΠΎΡΡΠ°Ρ.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Python ΠΊΠΎΠ΄Π°
Π₯ΠΎΡΡ ΠΌΡ ΠΈ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΠΌΠΈ, ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ 4 ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ· ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ numpy. Π ΠΈΠΌΠ΅Π½Π½ΠΎ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ array() Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π½Π΅Π΅.
β.Tβ β ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ. ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π²ΡΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΡ Π²ΡΠ±ΠΎΡΠΊΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° Π³ΠΈΡΡ Π°Π±Π΅. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Python3 Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ xrange Π½Π° range.
ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΡΡΠ»ΠΈ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°:
ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΡΠΎ:
Π£ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ! ΠΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΠΎΡΡΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ Π½Π° Python!
Π‘Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π»Π° ΡΠ΅Π±Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ Π²Π΅ΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ°Π»Π°ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°. ΠΠ°ΡΠ΅ΠΌ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»Π° Π½ΠΎΠ²ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ [1, 0, 0] ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»Π° 0.99993704. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ Π±ΡΠ» 1. Π’Π°ΠΊ ΠΎΡΠ΅Π½Ρ Π±Π»ΠΈΠ·ΠΊΠΎ!
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΡΡΡ. Π§ΡΠΎ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π² Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡΡ , ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΡΡΡ, Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ. Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΡΠΌ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ Π±ΡΠ» ΡΠΎΠ»ΡΠΊΠΎ 1 Π½Π΅ΠΉΡΠΎΠ½, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΡ Π·Π°Π΄Π°ΡΡ. Π Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΡΡΠΈΡ Π½Π΅ΠΉΡΠΎΠ½ΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅?
ΠΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΡ ΠΏΠ΅ΡΠ²ΡΡ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΡ
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°ΡΡΠΈ PhD ΠΠΊΡΡΠΎΡΠ΄ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° ΠΈ Π°Π²ΡΠΎΡΠ° ΠΊΠ½ΠΈΠ³ ΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΠ½Π΄ΡΡ Π’ΡΠ°ΡΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ Π½Π° Python. ΠΠ½Π° ΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ Π² Π΄Π΅Π²ΡΡΡ ΡΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΠΎΡ ΡΠ°ΠΊ:
from numpy import exp, array, random, dot
training_set_inputs = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]])
training_set_outputs = array([[0, 1, 1, 0]]).T
random.seed(1)
synaptic_weights = 2 * random.random((3, 1)) β 1
for iteration in xrange(10000):
output = 1 / (1 + exp(-(dot(training_set_inputs, synaptic_weights))))
synaptic_weights += dot(training_set_inputs.T, (training_set_outputs β output) * output * (1 β output))
print 1 / (1 + exp(-(dot(array([1, 0, 0]), synaptic_weights))))
Π§ΡΡΡ Π½ΠΈΠΆΠ΅ ΠΎΠ±ΡΡΡΠ½ΠΈΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½ΡΠΆΠ΅Π½ ΠΊ Π½Π΅ΠΌΡ, ΡΡΠΎΠ±Ρ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π»Π°. ΠΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΎ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΡΡ ΠΈ ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.
Π§Π΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ·Π³ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ° ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ΠΎΠ² ΠΊΠ»Π΅ΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΉΡΠΎΠ½Π°ΠΌΠΈ. ΠΠ½ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΠ½Π°ΠΏΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΈΠ½Π°ΠΏΡΡ ΠΊ Π½Π΅ΠΉΡΠΎΠ½Ρ ΠΏΡΠΈΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ΡΠ²Π½ΡΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ², ΡΡΠΎΡ Π½Π΅ΠΉΡΠΎΠ½ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅ΡΠ²Π½ΡΠΉ ΠΈΠΌΠΏΡΠ»ΡΡ Π΄Π°Π»ΡΡΠ΅. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΌΡΡΠ»Π΅Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΡΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π² Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π² ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠΌ ΠΌΠΎΠ·Π³Π΅ Π½Π° ΠΌΠΎΠ»Π΅ΠΊΡΠ»ΡΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, Π½Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΡ ΡΡΠΎΠ²Π½ΡΡ .
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ β ΠΌΠ°ΡΡΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΡΠ΅Π». Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ΅, ΠΌΡ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π½Π΅ΠΉΡΠΎΠ½, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΡΡΡΠΏΠ°Π΅Ρ Π²Ρ ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π²ΡΡ ΠΎΠ΄ (ΡΠΈΡ. 1). ΠΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° β Π½Π°ΡΡΠΈΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ ΡΠ΅ΡΠ°ΡΡ Π·Π°Π΄Π°ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅. ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ΅ΡΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄ΡΡ Π½Π°ΡΠΈΠΌ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ. ΠΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π»ΠΈ Ρ Π²Π°Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΡ? Π§ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° β 0 ΠΈΠ»ΠΈ 1?
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π΅Π½ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°. Π’Π°ΠΊ ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ 1.
ΠΡΠΎΡΠ΅ΡΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠΎ ΠΊΠ°ΠΊ Π½Π°ΡΡΠΈΡΡ Π½Π°Ρ Π½Π΅ΠΉΡΠΎΠ½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ? ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π·Π°Π΄Π°Π΄ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΌΡ ΡΠΈΠ³Π½Π°Π»Ρ Π²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ. ΠΡΠ»ΠΈ Π½Π° Π²Ρ ΠΎΠ΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ³Π½Π°Π» Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π²Π΅ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π²Π΅ΡΠΎΠΌ, ΡΠΎ ΡΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΉΡΠΎΠ½Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ ΠΏΠΎΠ΄Π°ΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π·Π°Π΄Π°Π΄ΠΈΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π΅ΡΠ°. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠ½ΡΡΡΡΡ Π·Π° ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΠ° Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ°. ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΉΡΠΎΠ½Ρ Π±ΡΠ΄Π΅Ρ Π΄Π°Π½Π° Π½ΠΎΠ²Π°Ρ Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π°ΡΡ Π²Π΅ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ.
Π€ΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π° Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ
ΠΡΠ°ΠΊ, ΡΡΠΎ ΠΆΠ΅ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡΠΌΡΠ»Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π° Π½Π΅ΠΉΡΠΎΠ½Π°? ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΡ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ ΡΡΠΌΠΌΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ» ΠΌΠ΅ΠΆΠ΄Ρ 0 ΠΈ 1. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ, Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠ³ΠΌΠΎΠΈΠ΄ΠΎΠΉ:
ΠΡΠ»ΠΈ ΠΌΡ Π½Π°ΡΠΈΡΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ ΠΊΡΠΈΠ²Π°Ρ Π² ΡΠΎΡΠΌΠ΅ Π±ΡΠΊΠ²Ρ S (ΡΠΈΡ. 4).
ΠΠΎΠ΄ΡΡΠ°Π²ΠΈΠ² ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠΎΡΠΎΠ΅, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΡΠΎΠ³ΠΎΠ²ΡΡ ΡΠΎΡΠΌΡΠ»Ρ Π²ΡΡ ΠΎΠ΄Π° Π½Π΅ΠΉΡΠΎΠ½Π°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΌΡ Π½Π΅ Π·Π°Π΄Π°Π΅ΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠΈΠ³Π½Π°Π» Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°Ρ Π½Π΅ΠΉΡΠΎΠ½ ΠΏΠΎΠ΄Π°Π» ΡΠΈΠ³Π½Π°Π» Π½Π° Π²ΡΡ ΠΎΠ΄.
ΠΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΠΈ
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΊΡΡΡΠΎΠ² Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄ΠΎ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΠ΅ΠΉ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΊΠΈΠ΄ΠΊΠ° 5% ΠΏΠΎ ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄Ρ BLOG.
Π€ΠΎΡΠΌΡΠ»Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠΈ Π²Π΅ΡΠΎΠ²
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° (ΠΎΠ½ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3) ΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌ Π²Π΅ΡΠ°. ΠΠΎ Π½Π° ΡΠΊΠΎΠ»ΡΠΊΠΎ? ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΡΠΎ, ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΌΡΠ»ΠΎΠΉ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΉΠΌΠ΅ΠΌ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΎΡΠΌΡΠ»Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄. Π‘Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅Ρ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ°Π»Π΅Π΅ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π°Π½Π½ΠΎΠ΅ Π½Π° Π²Ρ ΠΎΠ΄ Π½Π΅ΠΉΡΠΎΠ½Π°, ΡΡΠΎ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, 0 ΠΈΠ»ΠΈ 1. ΠΡΠ»ΠΈ Π½Π° Π²Ρ ΠΎΠ΄ Π±ΡΠ» ΠΏΠΎΠ΄Π°Π½ 0, ΡΠΎ Π²Π΅Ρ Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΡΡΡ. Π Π² ΠΊΠΎΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ ΡΠΈΠ³ΠΌΠΎΠΈΠ΄Ρ. Π Π°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ°Π³Π΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ:
ΠΡΠ°Π΄ΠΈΠ΅Π½Ρ ΡΠΈΠ³ΠΌΠΎΠΈΠ΄Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΌΡΠ»Π΅:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡ Π²ΡΠΎΡΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠΈ Π²Π΅ΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΡΠΌΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π΅ΠΉΡΠΎΠ½Ρ ΠΎΠ±ΡΡΠ°ΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅, Π½ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠΉ ΡΠΎΡΠΌΡΠ»Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ° Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ.
ΠΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ Π½Π° Python
Π₯ΠΎΡΡ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΠ΅ΠΉ, ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ 4 ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ· ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ numpy:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π½Π°Ρ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ array():
training_set_inputs = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]])=
training_set_outputs = array([[0, 1, 1, 0]]).T
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΡΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π°. ΠΠΎΡΠ»Π΅ Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ½Π°Π»ΡΠ½ΡΡ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠΉ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π²Π΅ΡΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π°ΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ.
ΠΡΠ°ΠΊ, Π²ΠΎΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Python:
from numpy import exp, array, random, dot
class NeuralNetwork():
def __init__(self):
ΠΠ°Π΄Π°Π΅ΠΌ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΡΠΈΡΠ΅Π», ΡΡΠΎΠ±Ρ ΠΎΠ½ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π» ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠΈΡΠ»Π° ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
random.seed(1)
Π€ΡΠ½ΠΊΡΠΈΡ ΡΠΈΠ³ΠΌΠΎΠΈΠ΄Ρ, Π³ΡΠ°ΡΠΈΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠΌΡ Π±ΡΠΊΠ²Ρ S.
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΎΠ±Ρ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΡ ΡΡΠΌΠΌΡ Π²Ρ
ΠΎΠ΄Π½ΡΡ
ΡΠΈΠ³Π½Π°Π»ΠΎΠ².
def __sigmoid(self, x):
return 1 / (1 + exp(-x))
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠ³ΠΌΠΎΠΈΠ΄Ρ. ΠΡΠΎ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ Π΅Π΅ ΠΊΡΠΈΠ²ΠΎΠΉ. ΠΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ ΡΠ²Π΅ΡΠ΅Π½Π° Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π²Π΅ΡΠ°.
def __sigmoid_derivative(self, x):
return x * (1 β x)
ΠΡ ΡΡΠ΅Π½ΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ± ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡ Π²Π΅Ρ ΡΠΈΠ½Π°ΠΏΡΠΎΠ².
def train(self, training_set_inputs, training_set_outputs, number_of_training_iterations):
for iteration in xrange(number_of_training_iterations):
Π’ΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ (ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π΅ΠΉΡΠΎΠ½Ρ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅).
output = self.think(training_set_inputs)
ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΊΡ (ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΌ Π²ΡΡ
ΠΎΠ΄ΠΎΠΌ ΠΈ Π²ΡΡ
ΠΎΠ΄ΠΎΠΌ, ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π½Π΅ΠΉΡΠΎΠ½ΠΎΠΌ).
error = training_set_outputs β output
Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ ΠΎΡΠΈΠ±ΠΊΡ Π½Π° Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» ΠΈ Π½Π° Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ ΡΠΈΠ³ΠΌΠΎΠΈΠ΄Ρ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠΎΠ³ΠΎ, ΡΠ΅ Π²Π΅ΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅ΠΉΡΠΎΠ½ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, Π±ΡΠ΄ΡΡ ΠΎΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠΈΠ»ΡΠ½Π΅Π΅. ΠΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π²Π½Ρ Π½ΡΠ»Ρ, Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π΅ΡΠ°.
adjustment = dot(training_set_inputs.T, error * self.__sigmoid_derivative(output))
ΠΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌ Π²Π΅ΡΠ°.
self.synaptic_weights += adjustment
ΠΠ°ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π°Ρ Π½Π΅ΠΉΡΠΎΠ½ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ.
def think(self, inputs):
ΠΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΉΡΠΎΠ½.
return self.__sigmoid(dot(inputs, self.synaptic_weights))
if __name__ == Β«__main__Β»:
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π΅ΠΉΡΠΎΠ½Π°.
neural_network = NeuralNetwork()
print Β«Random starting synaptic weights:
Β» print neural_network.synaptic_weights
Π’ΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. Π£ Π½Π°Ρ ΡΡΠΎ 4 ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠΎΡΡΠΎΡΡΠΈΡ
ΠΈΠ· 3 Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ 1 Π²ΡΡ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
training_set_inputs = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]])
training_set_outputs = array([[0, 1, 1, 0]]).T
ΠΠ±ΡΡΠ°Π΅ΠΌ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅, ΠΏΠΎΠ²ΡΠΎΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ 10000 ΡΠ°Π·, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡ Π²Π΅ΡΠ°.
neural_network.train(training_set_inputs, training_set_outputs, 10000)
print Β«New synaptic weights after training:
Β» print neural_network.synaptic_weights
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° GitHub. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Python 3, ΡΠΎ Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ βxrangeβ Π½Π° βrangeβ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ½Π°Π»ΡΠ½ΡΡ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠΉ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ:
Random starting synaptic weights:
[[-0.16595599]
[ 0.44064899]
[-0.99977125]]
New synaptic weights after training:
[[ 9.67299303]
[-0.2078435 ]
[-4.62963669]]
Π£ΡΠ°, ΠΌΡ ΠΏΠΎΡΡΡΠΎΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python!
Π‘Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ Π·Π°Π΄Π°Π»Π° ΡΠ΅Π±Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ Π²Π΅ΡΠ°, Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠΈΠ»Π°ΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π»Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ²Π΅ΡΠ° 0.99993704 Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° [1, 0, 0]. ΠΠ΅ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ Π±ΡΠ» 1, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΠΏΡΠ°Π²Π΄Π΅!
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΎΠ±ΡΡΠ°ΡΡΡΡ. Π ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΏΠΎΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ: ΠΎΠ½ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΡΡΠΈΡΡΡΡ, Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ·Π³.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π΅ΠΉΡΠΎΠ½Π° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠΎ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠΌ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ Π½Π΅ΠΉΡΠΎΠ½ΠΎΠ²? Π‘ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ Π²ΠΎΡΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ·Π½Π°Π½ΠΈΠ΅?
ΠΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΠΈ
ΠΠ°ΡΡΠΈΠΌ Π²Π°Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Ρ-Π±ΠΎΡΠΎΠ², Π½Π΅ΠΉΡΠΎΡΠ΅ΡΠΈ ΠΈ Π°Π³Π΅Π½ΡΠ° Π΄Π»Ρ ΠΈΠ³ΡΡ Π² Pong.
ΠΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ : ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΠ΅ΠΉ
ΠΠ°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² Python. ΠΡΠΈΡΡΠ½Π°Ρ Π½ΠΎΠ²ΠΎΡΡΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² β Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ Π½Π΅ ΡΠ°ΠΊΠΈΠ΅ ΡΠΆ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅. Π’Π΅ΡΠΌΠΈΠ½ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ Π·Π°ΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠ΅, ΡΡΡΠ»Π°ΡΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ. ΠΠ° Π΄Π΅Π»Π΅ ΠΆΠ΅ Π²ΡΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅.
ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π½Π΅Π΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΠΌΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΠ΅ΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· Python.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ Π±Π»ΠΎΠΊΠΎΠ²
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ β Π½Π΅ΠΉΡΠΎΠ½Ρ. ΠΠ΅ΠΉΡΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²Π²ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Ρ Π½ΠΈΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠ΅ΠΉΡΠΎΠ½ Ρ Π΄Π²ΡΠΌΡ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΡΡΠΈ Π²Π΅ΡΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²Ρ ΠΎΠ΄ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° Π²Π΅Ρ (Π½Π° ΡΡ Π΅ΠΌΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ ΠΊΡΠ°ΡΠ½ΡΠΌ ):
ΠΠ°ΡΠ΅ΠΌ Π²ΡΠ΅ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²Ρ ΠΎΠ΄Ρ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ b (Π½Π° ΡΡ Π΅ΠΌΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ Π·Π΅Π»Π΅Π½ΡΠΌ ):
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ (Π½Π° ΡΡ Π΅ΠΌΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π° ΠΆΠ΅Π»ΡΡΠΌ ):
Π€ΡΠ½ΠΊΡΠΈΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠ°Ρ ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠ°Ρ ΡΠΎΡΠΌΠ°. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π±Π΅ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΠ³ΠΌΠΎΠΈΠ΄Π°:
ΠΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉΡΠΎΠ½Π°ΠΌΠΈ Π² Python
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΉΡΠΎΠ½ Ρ Π΄Π²ΡΠΌΡ Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΠΈΠ³ΠΌΠΎΠΈΠ΄Π° ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΉΡΠΎΠ½Π° Ρ Π½ΡΠ»Ρ Π² Python
ΠΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Python?
ΠΠ° Π½Π°ΡΠ΅ΠΌ ΡΠΎΡΡΠΌΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ ΠΎΡ Π²ΡΠ΅Π³ΠΎ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°!
Telegram Π§Π°Ρ & ΠΠ°Π½Π°Π»
ΠΡΡΡΠΏΠΈΡΠ΅ Π² Π½Π°Ρ Π΄ΡΡΠΆΠ½ΡΠΉ ΡΠ°Ρ ΠΏΠΎ Python ΠΈ Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ Π΅Π΄ΠΈΠ½ΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ! Π‘ΡΠ°Π½ΡΡΠ΅ ΡΠ°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°!
ΠΠ°Π±Π»ΠΈΠΊ VK
ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°ΠΌΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ² ΠΏΠΎ Python Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΠ. ΠΠΈΠ΄Π΅ΠΎ ΡΡΠΎΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ Π²Π°Ρ!
ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π΅ΠΉΡΠΎΠ½Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NumPy. ΠΡΠΎ ΠΌΠΎΡΠ½Π°Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
ΠΡΠΈΠΌΠ΅Ρ ΡΠ±ΠΎΡ Π½Π΅ΠΉΡΠΎΠ½ΠΎΠ² Π² Π½Π΅ΠΉΡΠΎΡΠ΅ΡΡ
ΠΠ΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ ΠΏΠΎ ΡΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅ΠΉΡΠΎΠ½ΠΎΠ². ΠΡΠΎΡΡΠ°Ρ Π½Π΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘ΠΊΡΡΡΡΠΌ ΡΠ»ΠΎΠ΅ΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ»ΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π²ΠΎΠ΄Π½ΡΠΌ ΡΠ»ΠΎΠ΅ΠΌ ΠΈ ΡΠ»ΠΎΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄Π°, ΡΡΠΎ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠ»ΠΎΡΠΌΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π‘ΠΊΡΡΡΡΡ ΡΠ»ΠΎΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ FeedForward
ΠΠ΅ΠΉΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΠΎΠ΅Π² Ρ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π½Π΅ΠΉΡΠΎΠ½ΠΎΠ² Π² ΡΡΠΈΡ ΡΠ»ΠΎΡΡ .
Π‘ΡΡΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠΉ ΠΆΠ΅: Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΉΡΠΎΠ½Ρ Π² ΡΠ΅ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΈΡΠΎΠ³Π΅ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΡΡ Π΄Π°Π»Π΅Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠ΄ ΡΠ΅ΡΠΈ, ΡΠΏΠΎΠΌΡΠ½ΡΡΠ°Ρ Π²ΡΡΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΏΡΡΠΌΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ FeedForward
ΠΠ°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ feedforward Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΠΎΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡ Π΅ΠΌΠ° Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ:
ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ β ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΠ΅ΡΡ, Π§Π°ΡΡΡ 1
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ/Name | ΠΠ΅Ρ/Weight (ΡΡΠ½ΡΡ) | Π ΠΎΡΡ/Height (Π΄ΡΠΉΠΌΡ) | ΠΠΎΠ»/Gender |
Alice | 133 | 65 | F |
Bob | 160 | 72 | M |
Charlie | 152 | 70 | M |
Diana | 120 | 60 | F |
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΡΠ΅Π½ΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ²Π°Π»Π° ΠΏΠΎΠ» Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΅Π³ΠΎ Π²Π΅ΡΠ° ΠΈ ΡΠΎΡΡΠ°.
ΠΠΌΡ/Name | ΠΠ΅Ρ/Weight (ΠΌΠΈΠ½ΡΡ 135) | Π ΠΎΡΡ/Height (ΠΌΠΈΠ½ΡΡ 66) | ΠΠΎΠ»/Gender |
Alice | -2 | -1 | 1 |
Bob | 25 | 6 | 0 |
Charlie | 17 | 4 | 0 |
Diana | -15 | -6 | 1 |
ΠΠΎΡΠ΅ΡΠΈ
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ΅Π΄Π½Π΅ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° (MSE) ΠΏΠΎΡΠ΅ΡΠΈ:
ΠΡΡΡΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΡ = ΠΠ΅Π½ΡΡΠΈΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ.
Π’ΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠ° Π½Π΅ΠΉΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ = ΡΡΡΠ΅ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΅Π΅ ΠΏΠΎΡΠ΅ΡΡ.