Sunday , August 14 2022

Come creare una semplice rete neurale in Python



Dal Dr. Michael J. Garbade

Le reti neurali (NN), chiamate anche reti neurali artificiali (ANN) sono un sottoinsieme di algoritmi di apprendimento all'interno del campo di apprendimento automatico che sono liberamente basati sul concetto di reti neurali biologiche.

Andrey Bulezyuk, che è uno specialista di apprendimento automatico basato sulla Germania con più di cinque anni di esperienza, afferma che "le reti neurali stanno rivoluzionando l'apprendimento automatico perché sono in grado di modellare in modo efficiente astrazioni sofisticate in una vasta gamma di discipline e industrie".

Fondamentalmente, una ANN comprende i seguenti componenti:

  • Un livello di input che riceve i dati e li trasmette
  • Uno strato nascosto
  • Un livello di output
  • Pesi tra gli strati
  • Una funzione di attivazione deliberata per ogni livello nascosto. In questa semplice esercitazione su Python della rete neurale, impiegheremo la funzione di attivazione Sigmoid.

Esistono diversi tipi di reti neurali. In questo progetto, creeremo le reti neurali feed-forward o perception. Questo tipo di RNA invia i dati direttamente dalla parte anteriore a quella posteriore.

La formazione dei neuroni feed-forward spesso ha bisogno di back-propagation, che fornisce alla rete il corrispondente set di input e output. Quando i dati di input vengono trasmessi al neurone, vengono elaborati e viene generata un'uscita.

Ecco un diagramma che mostra la struttura di una semplice rete neurale:

Semplice rete neurale

E, il modo migliore per capire come funzionano le reti neurali è imparare come costruirne uno da zero (senza usare alcuna libreria).

In questo articolo, dimostreremo come usare il linguaggio di programmazione Python per creare una semplice rete neurale.

Il problema

Ecco una tabella che mostra il problema.

Ingresso Produzione
Dati di allenamento 1 0 0 1 0
Dati di allenamento 2 1 1 1 1
Dati di allenamento 3 1 0 1 1
Dati di allenamento 4 0 1 1 0
Nuova situazione 1 0 0 ?

Stiamo addestrando la rete neurale in modo che possa prevedere il valore di uscita corretto quando viene fornito un nuovo set di dati.

Come puoi vedere sulla tabella, il valore dell'output è sempre uguale al primo valore nella sezione di input. Pertanto, ci aspettiamo che il valore dell'output (?) per essere 1.

Vediamo se possiamo usare del codice Python per dare lo stesso risultato (puoi leggere il codice per questo progetto alla fine di questo articolo prima di continuare con la lettura).

Creazione di una classe NeuralNetwork

Creeremo un Rete neurale classe in Python per addestrare il neurone a dare una previsione accurata. La classe avrà anche altre funzioni di supporto.

Anche se non useremo una libreria di rete neurale per questo semplice esempio di rete neurale, importeremo il numpy libreria per aiutare con i calcoli.

La libreria viene fornita con i seguenti quattro metodi importanti:

  1. exp-Per generare l'esponenziale naturale
  2. schieramento-Per generare una matrice
  3. punto-Per moltiplicare le matrici
  4. casuale-Per generare numeri casuali. Si noti che semineremo i numeri casuali per garantire la loro efficiente distribuzione.
  • Applicazione della funzione Sigmoid

Useremo la funzione Sigmoid, che disegna una curva caratteristica a forma di "S", come funzione di attivazione della rete neurale.

Funzione sigmoide

Questa funzione può mappare qualsiasi valore su un valore compreso tra 0 e 1. Ci aiuterà a normalizzare la somma ponderata degli input.

Successivamente, creeremo la derivata della funzione Sigmoid per aiutare a calcolare le regolazioni essenziali dei pesi.

L'output di una funzione Sigmoid può essere utilizzato per generare la sua derivata. Ad esempio, se la variabile di uscita è "x", la sua derivata sarà x * (1-x).

Questo è lo stadio in cui insegneremo alla rete neurale a fare una previsione accurata. Ogni input avrà un peso – positivo o negativo.

Ciò implica che un ingresso con un numero elevato di peso positivo o un numero elevato di pesi negativi influenzerà maggiormente l'uscita risultante.

Ricorda che inizialmente abbiamo iniziato assegnando ogni peso a un numero casuale.

Ecco la procedura per il processo di allenamento che abbiamo usato in questo esempio di esempio di rete neurale:

  1. Abbiamo preso gli input dal set di dati di addestramento, eseguito alcune regolazioni in base ai loro pesi e li abbiamo sottrattati tramite un metodo che ha calcolato l'output di ANN.
  2. Abbiamo calcolato il tasso di errore propagato alla schiena. In questo caso, è la differenza tra l'output previsto del neurone e l'output atteso del set di dati di training.
  3. In base all'entità dell'errore, abbiamo eseguito alcune piccole correzioni del peso utilizzando la formula Derivata ponderata dell'errore.
  4. Abbiamo iterato questo processo un numero arbitrario di 15.000 volte. In ogni iterazione, l'intero set di allenamento viene elaborato contemporaneamente.

Abbiamo usato la funzione ".T" per trasporre la matrice dalla posizione orizzontale alla posizione verticale. Pertanto, i numeri verranno memorizzati in questo modo:

Funzione T

In definitiva, i pesi del neurone saranno ottimizzati per i dati di allenamento forniti. Di conseguenza, se il neurone è costretto a pensare a una nuova situazione, che è la stessa di quella precedente, potrebbe fare una previsione accurata. Questo è il modo in cui avviene la back-propagation.

Avvolgendo

Infine, inizializzammo la classe NeuralNetwork e lanciammo il codice.

Ecco l'intero codice per questo come creare una rete neurale nel progetto Python:

 
importare numpy come np

classe Rete neurale():
    
    DEF __dentro__(se stesso):
        # semina per generazione di numeri casuali
        np.random.seed (1)
        
        # convertendo i pesi in una matrice 3 per 1 con valori da -1 a 1 e media di 0
        se stesso.synaptic_weights = 2 * np.random.random ((3, 1)) - 1

    DEF sigma (se stesso, X):
        #applicare la funzione sigmoid
        ritorno 1 / (1 + np.exp (-x))

    DEF sigmoid_derivative (se stesso, X):
        #computing derivativo alla funzione Sigmoid
        ritorno X * (1 - X)

    DEF treno(se stesso, training_inputs, training_outputs, training_iterations):
        
        #training the model per fare previsioni accurate mentre si regolano i pesi continuamente
        per iterazione in Gamma (training_iterations):
            #siphona i dati di allenamento tramite il neurone
            uscita = se stesso.think (training_inputs)

            #computing error rate per back-propagation
            errore = training_outputs - output
            
            #sostituire le regolazioni del peso
            adjustments = np.dot (training_inputs.T, errore * se stesso.sigmoid_derivative (output))

            se stesso.synaptic_weights + = aggiustamenti

    DEF pensare(se stesso, input):
        #passando gli input tramite il neurone per ottenere output   
        # convertendo valori in float
        
        input = inputs.astype (galleggiante)
        uscita = se stesso.sigmoid (np.dot (ingressi, se stesso.synaptic_weights))
        ritorno produzione


Se __name__ == "__principale__":

    #inizializzando la classe dei neuroni
    neural_network = Rete neurale()

    stampare("Inizio dei pesi generati in modo casuale:")
    stampare(neural_network.synaptic_weights)

    # dati di formazione composti da 4 esempi - 3 valori di input e 1 output
    training_inputs = np.array ([[[[0,0,1],[
                                [1,1,1],[
                                [1,0,1],[
                                [0,1,1]])

    training_outputs = np.array ([[[[0,1,1,0]]) .T

    #training in corso
    neural_network.train (training_inputs, training_outputs, 15000)

    stampare("Pesi finali dopo l'allenamento:")
    stampare(neural_network.synaptic_weights)

    user_input_one = str (input ("User Input One:"))
    user_input_two = str (input ("User Input Two:"))
    user_input_three = str (input ("User Input Three:"))
    
    stampare("Considerando la nuova situazione:", user_input_one, user_input_two, user_input_three)
    stampare("Nuovi dati di output:")
    stampare(Neural_network.think (np.array ([user_input_one, user_input_two, user_input_three])))
    stampare("Wow, ce l'abbiamo fatta!")

Ecco l'output per l'esecuzione del codice:

Uscita del codice

Siamo riusciti a creare una semplice rete neurale.

Il neurone ha iniziato assegnando alcuni pesi casuali. Successivamente, si è allenato utilizzando gli esempi di addestramento.

Di conseguenza, se è stata presentata una nuova situazione [1,0,0], ha dato il valore di 0,9999,54.

Ti ricordi che la risposta corretta che volevamo era 1?

Quindi, è molto vicino, considerando che la funzione Sigmoid emette valori compresi tra 0 e 1.

Naturalmente, abbiamo usato solo una rete di neuroni per svolgere il compito semplice. E se collegassimo diverse migliaia di queste reti neurali artificiali insieme? Potremmo forse imitare come funziona la mente umana al 100%?

Avete domande o commenti?

Si prega di fornire loro di seguito.

Bio: Dr. Michael J. Garbade è il fondatore e CEO della società di formazione blockchain di Los Angeles, LiveEdu. È la piattaforma leader a livello mondiale che fornisce alle persone competenze pratiche nella creazione di prodotti completi in settori tecnologici futuri, tra cui l'apprendimento automatico.

Relazionato:


Source link

10,887 comments

  1. viagra over the counter https://viagrabng.com/# when will viagra be generic

  2. where to buy amoxicillin 500mg buy amoxicillin – over the counter amoxicillin canada

  3. when will viagra be generic: viagra – viagra discount

  4. viagra discount: buying viagra online – how much is viagra

  5. how to help ed pharmacy online 365 – legal online pharmacy

  6. herbal ed buy generic ed pills online – trustworthy canadian pharmacy

  7. lisinopril 30 mg no prescription lisinopril – lisinopril 420 1g

  8. how much is plaquenil pill buy plaquenil – hydroxychloroquine sulfate oral

  9. http://ivermectinstr.online# ivermectin over the counter canada

  10. errection problems: prescription drugs without prior prescription – ed medications online

  11. Spot on with this write-up, I really believe this website
    needs a lot more attention. I’ll probably be back again to see
    more, thanks for the information! https://hydroxychloroquinee.com/

  12. Spot on with this write-up, I really believe this website needs a lot more attention. I’ll probably be back again to see more, thanks for the information! https://hydroxychloroquinee.com/

  13. Remarkable! Its actually remarkable paragraph, I have got much
    clear idea about from this piece of writing. https://hhydroxychloroquine.com/

  14. Remarkable! Its actually remarkable paragraph, I have
    got much clear idea about from this piece of writing. https://hhydroxychloroquine.com/

  15. That is very fascinating, You’re a very skilled blogger. I have joined your feed and look ahead to looking for extra of
    your wonderful post. Additionally, I have shared your web site in my social networks http://cleckleyfloors.com/

  16. That is very fascinating, You’re a very skilled
    blogger. I have joined your feed and look ahead to looking for extra of your wonderful
    post. Additionally, I have shared your web site in my social networks http://cleckleyfloors.com/

  17. buy prescription drugs online: cialis without doctor prescription – muse for ed

  18. the hydroxychloroquine medication tribe https://hydroxychloroquined.online/ – hydroxychloroquine sulfate tablets dysarthria hydroxychloroquine covid 19 studies

  19. viagra from canada blue pill viagra – viagra amazon

  20. viagra over the counter viagra amazon – buy viagra online usa

  21. buy cialis online cheap how to buy cialis online uk – how to buy cialis online uk

  22. ivermectin 3mg tablets buy ivermectin cream – order stromectol

  23. Admiring the persistence you put into your website and in depth information you provide.
    It’s nice to come across a blog every once in a while that isn’t
    the same unwanted rehashed material. Excellent read! I’ve bookmarked your
    site and I’m adding your RSS feeds to my Google account. http://www.deinformedvoters.org/hydroxychloroquine

  24. Admiring the persistence you put into your website and in depth information you provide.
    It’s nice to come across a blog every once in a while that isn’t the
    same unwanted rehashed material. Excellent read! I’ve
    bookmarked your site and I’m adding your RSS feeds to my Google account. http://www.deinformedvoters.org/hydroxychloroquine

  25. buy lasix online cheap lasix – buy lasix online

  26. cipro online no prescription in the usa buy cipro online without prescription – п»їcipro generic

  27. cialis in melbourne australia cheap cialis canadian CialisCND20Mg – cialis on line australia

  28. Admiring the dedication you put into your blog and in depth information you present.
    It’s awesome to come across a blog every once in a while that isn’t the
    same unwanted rehashed information. Excellent read! I’ve saved your site and I’m including your RSS
    feeds to my Google account. https://herreramedical.org/hydroxychloroquine

  29. Admiring the dedication you put into your blog and in depth information you present.
    It’s awesome to come across a blog every once in a while that isn’t the same unwanted rehashed information.
    Excellent read! I’ve saved your site and I’m including your
    RSS feeds to my Google account. https://herreramedical.org/hydroxychloroquine

  30. cheap cialis uk do you need a prescription for cialis anaguzt – buy cialis south africa

  31. I am sure this article has touched all the internet viewers, its really really good piece of writing on building up new web site. http://antiibioticsland.com/Zithromax.htm

  32. I am sure this article has touched all the internet viewers, its really really good piece of writing on building
    up new web site. http://antiibioticsland.com/Zithromax.htm

  33. canadian viagra paypal viagra for cheap on line ygzyrra – what would happen if a girl took viagra

  34. buy viagra online usa where to get viagra samples – can women take viagra

  35. tadalafil gel – were can i buy cialis cost of cialis in australia

  36. [url=https://agcialis.com/]cialis online 40 mg[/url]

  37. [url=http://sildenafiltbs.com/]sildenafil online sale[/url]

  38. viagra generic priority mail shipping is viagra from india safe – viagra gold for sale

  39. [url=https://tadalafilchm.com/]buy tadalafil 20mg online[/url]

  40. I am regular visitor, how are you everybody?

    This post posted at this site is really good. http://droga5.net/

  41. I am regular visitor, how are you everybody? This post posted
    at this site is really good. http://droga5.net/

  42. zithromax z-pak price without insurance generic zithromax – buy cheap zithromax online

  43. zithromax price canada cheap azitromycin – how much is zithromax 250 mg

  44. stromectol generic name stromectol ivermectin for humans – ivermectin 3 mg tablet dosage

  45. I loved as much as you will receive carried out right here.

    The sketch is attractive, your authored subject matter stylish.
    nonetheless, you command get got an impatience over that you wish be delivering
    the following. unwell unquestionably come further formerly again since exactly the same nearly a lot often inside case
    you shield this hike. https://buszcentrum.com/deltasone.htm

  46. I loved as much as you will receive carried out right here.
    The sketch is attractive, your authored subject
    matter stylish. nonetheless, you command get got an impatience over that you wish be delivering the following.

    unwell unquestionably come further formerly again since exactly the same nearly a lot often inside case you shield this hike. https://buszcentrum.com/deltasone.htm

  47. stromectol price us stromectol ivermectin for humans – stromectol 3 mg tablets price

  48. over the counter ed drugs prescription drugs online without doctor – natural help for ed

  49. Hey just wanted to give you a quick heads up and let you know a few of the pictures aren’t loading
    properly. I’m not sure why but I think its
    a linking issue. I’ve tried it in two different web browsers
    and both show the same outcome. http://antiibioticsland.com/Flagyl_ER.htm

  50. Hey just wanted to give you a quick heads up and let you know a few of
    the pictures aren’t loading properly. I’m not sure why but
    I think its a linking issue. I’ve tried it in two different web browsers and both
    show the same outcome. http://antiibioticsland.com/Flagyl_ER.htm

  51. prescription drugs diabetes and ed – men with ed

  52. hydroxychloroquine 90 plaquenil – hydroxychloroquine 40 mg

  53. cialis 40mg generic cialis walmart tadalafil 10mg cost

  54. This is a topic that’s near to my heart…
    Cheers! Exactly where are your contact details
    though?

  55. Larry Washington

    tamoxifen mann nolvadex generic name nolvadex and dbol

  56. These are actually impressive ideas in concerning blogging.
    You have touched some good factors here. Any way keep up wrinting.

  57. Natalia Steigerwald

    xenical pills for sale alli vs xenical orlistat market

  58. It is perfect time to make some plans for the future and it is time to be happy.
    I’ve read this post and if I could I want to suggest
    you few interesting things or advice. Maybe you can write next articles referring to this article.
    I wish to read even more things about it!

  59. sildenafil citrate generic women viagra pills generic sildenafil usa

  60. Hey There. I discovered your blog the use of msn. This is an extremely smartly written article. I’ll make sure to bookmark it and return to read more of your useful info. Thanks for the post. I’ll certainly comeback.

  61. generic tadalafil india cialis patent expired online drugstore cialis

  62. I genuinely enjoy studying on this site, it holds superb articles.

  63. Sharlene Buchanan

    tamoxifen makulopathie nolvadex india tamoxifen medication guide

  64. lipitor medicine price canada prescription price lipitor – cost of generic lipitor in canada

  65. Incredible! Thiss blpog lookos exacfly like myy oldd one!

    It’s onn a completely different opic but iit has prety muh tthe same page layout aand design. Gret cboice oof
    colors!

  66. viagra costs viagra logo viagra cheap prices

  67. I have been surfing on-line more than three hours these days,
    but I by no means discovered any fascinating article like yours.

    It’s beautiful worth enough for me. In my opinion, if all web owners
    and bloggers made excellent content as you probably did, the internet can be a lot more helpful
    than ever before.

  68. side effects of tizanidine zanaflex for fibromyalgia zanaflex for back pain

  69. I’ve been browsing online greater than three hours as of late, but I never
    discovered any interesting article like yours. It’s beautiful worth
    enough for me. In my view, if all website owners and bloggers made just right content as you did, the net will be much more useful than ever
    before.

  70. side effects for azithromycin zithromax 250 mg cost cheap zithromax

  71. It’s perfect time to make some plans for the future
    and it’s time to be happy. I’ve read this post and if
    I could I want to suggest you few interesting things or advice.
    Perhaps you can write next articles referring to this article.

    I want to read even more things about it!

  72. buy clomid clomid – clomid capsules 50mg

  73. What i do not realize is if truth be told how you are now not really much more well-favored than you may be now.
    You are so intelligent. You recognize thus significantly
    with regards to this matter, produced me for my part believe
    it from numerous numerous angles. Its like women and men don’t seem to be fascinated until it is one thing to accomplish
    with Woman gaga! Your individual stuffs great.
    Always deal with it up! http://herreramedical.org/prednisone

  74. What i do not realize is if truth be told how you are now not really much more well-favored than you may
    be now. You are so intelligent. You recognize thus significantly with regards to this matter, produced
    me for my part believe it from numerous numerous angles. Its like women and
    men don’t seem to be fascinated until it is one thing
    to accomplish with Woman gaga! Your individual stuffs great.
    Always deal with it up! http://herreramedical.org/prednisone

  75. clomid dosage buy clomid – clomid dosage

  76. [url=http://viagragd.com/]order viagra cheap[/url]

  77. clomid dosage generic clomid – clomid online

  78. buy propecia without a prescription buy propecia – propecia drug

  79. There’s certainly a great deal to learn about this issue. I
    like all the points you’ve made.

  80. It’s the best time to make some plans for the future and it is time to be
    happy. I’ve read this post and if I could I want to suggest
    you some interesting things or advice. Perhaps you
    can write next articles referring to this article.
    I want to read more things about it!

  81. I’ll right away snatch your rss as I can’t find your e-mail subscription link or e-newsletter service.
    Do you have any? Kindly let me understand so that I may subscribe.
    Thanks.

  82. medication erythromycin keflex synonym cephalexin gonorrhea

  83. I every time spent my half an hour to read this website’s posts everyday along with a cup of
    coffee.

  84. zithromax antibiotics ciprofloxacin hcl azithromycin sigma

  85. I am sure this post has touched all the internet viewers, its really really nice post on building up new web site.

  86. clindamycin classification ciprofloxacin vision azithromycin allergies

  87. I am sure this article has touched all the internet users, its really really good piece of
    writing on building up new weblog.

  88. propecia without a doctor prescription propecia generic – cost of finasteride

  89. Right now it looks like Expression Engine is the top blogging platform available right now.

    (from what I’ve read) Is that what you’re using on your blog? http://www.deinformedvoters.org/cialis-usa

  90. Right now it looks like Expression Engine is the top blogging platform available right now.
    (from what I’ve read) Is that what you’re using on your blog? http://www.deinformedvoters.org/cialis-usa

  91. prednisone 5093 prednisone – prednisone 5mg coupon

  92. buy cialis at walmart cialis discounts – pharmacy 365 cialis

  93. takip�i yagiyooooooooooooooooooo ?? 3100 tane geldi

  94. [url=http://dxtadalafil.com/]buy cialis from india[/url]

  95. furosemide without prescription lasix price Tor Hen

  96. erectile dysfunction treatment order diet pills from canada – cheap medications online

  97. tablety ivermektinu uk Come creare una semplice rete neurale in Python – praams https://ivermectin1.com/ ivermectin uk buy

  98. 100mg viagra viagra over the counter – when will viagra be generic

  99. cipro imodium omnicef

  100. It’s appropriate time to make a few plans for the future and it’s time to be happy.

    I’ve learn this submit and if I may just I want to suggest you few attention-grabbing things or tips.
    Maybe you could write subsequent articles regarding this
    article. I wish to read more things about it!

  101. cialis for entertainment purposes cialis pills – pharmacy cialis no prescription

  102. clozaril [url=https://medsonline24h.us]lopressor[/url] aldara
    amethopterin decadron zovirax

  103. generic cialis cialis no prescription canada – generic cialis quick shipping

  104. [url=http://oralsildenafil.com/]sildenafil 150 mg[/url]

  105. i need help writing a paper for college buy essay online

  106. Aninda Y�klendi artik burdayim??

  107. hydroxychloroquine sulfate tablets buy chloroquine

  108. ivermectin uk buy ivermectin online – ivermectin 3

  109. buy furosemide without prescription furosemide 20 mg tablet Tor Hen

  110. ivermectin 4000 mcg ivermectin for sale – ivermectin oral solution

  111. black market prescription drugs for sale best darknet markets

  112. Friends, I looked at the comments and entered 2 hours later, mine came ??

  113. i need help writing a paper for college essay maker