you prolly dont care but if you guys are stoned like me during the covid times you can watch all of the latest movies on Instaflixxer. Have been binge watching with my gf for the last couple of days :)
Puoi aggiungere la funzione ROUND() per mostrare direttamente a video il risultato, quindi round(previsione1) e round(previsione2) che ti restituisce 1 e 0
Ciao ti volevo ringraziare per l'ottimo video e volevo chiederti cosa succede in caso gli input sono più di due, semplicemente si aggiungono pesi oppure c'è altro?
Buongiorno Riccardo, e innanzitutto grazie mille per i video che sono, tra quello online, tra i più chiari da seguire per un neofita. giocando con la tua applicazione in python, mi è sorta una domanda: i parametri random iniziali generati per w1, w2 e b, che impatto hanno sul raggiungimento dei valori "ottimizzati" per w1, w2 e b appunto? O meglio, se cambio i valori iniziali di w1, w2, e b, ottengo sempre gli stessi valori dopo aver allenato la rete? Allora ho provato a mettere dei vincoli al generatore di numeri casuali ed ho scoperto una cosa curiosa: se al momento della generazione dei numeri casuali, w1 e w2 vengono definiti con valori ENTRAMBI superiori a 0,67, la rete non si allena, e spara risultati assolutamente fuori contesto. Il problema non pare porsi con B, che qualsiasi valore le venga assegnato, è libera di muoversi senza problemi. IN effetti con il tuo programma questo non succede perché resetti il generatore (con RD.SEED(1)) pero' converrai con me che cosi facendo i "semi" dai quali vengono generati i parametri w1, w2, e b sono in un qualche modo "veicolati" e quindi il processo di generazione è sempre uguale a se stesso step by step, per cui anche se lo lanci 100.000 volte il risultato sarà il medesimo. Ma se invece venisse lasciato libero il feed di generazione dei numeri casuali, la possibilità di ottenere due valori vicini superiori entrambi a 0.67 non è pari a zero. Cosa ne pensi? Grazie del tempo che mi dedicherai
Buongiorno Keko. Grazie a te per i complimenti! La tua osservazione è corretta, il processo di inizializzazione dei pesi e bias è sempre uguale a sé stesso in questo caso. L'ho fatto proprio per ottenere una certa riproducibilità. L'inizializzazione casuale ha ,come hai giustamente notato, dei potenziali problemi: se i pesi vengono inizializzati con un valore troppo alto la funzione sigmoide "mappa" gli ingressi ad uscite molto vicine ad 1 e quindi ci vogliono molte più iterazioni per eseguire l'addestramento (prova a verificarlo modificandone il numero e fai dei test con diversi learning rate). Esistono delle formule di inizializzazione particolari, utilizzate soprattutto quando si ha a che fare con reti multistrato, che tengono conto di questo e di altri problemi. Volendo fornire una visione semplificata dell'argomento ho preferito non parlarne in questi video. Grazie per il commento interessante!
Riccardo Talarico grazie della risposta! Ok, giusto per curiosità provo a lavorare con le indicazioni che mi hai fornito, aumento il numero di iterazioni e lavoro sul learning rate. Poi ti dico, ok? Grazie. Ah un ultima cosa.... Repl.it è una meraviglia, ho sottoscritto subito l’abbonamento annuale! Ottimo consiglio
Complimenti per il video, sto effettuando la mia tesi di laurea sulle reti neurali applicate ad eventi franosi, mi spiego meglio praticamente attraverso la lettura di alcune matrici che contengono dati numerici quali ad esempio pendenza del terreno, angolo di esposizione ecc ecc ed attraverso zone note in cui sono avvenute delle frane, devo valutare se altre parti del territorio possono essere soggette a frana o meno. Ora io non ho mai programmato quindi non saprei proprio come partire e nemmeno dove poter trovare qualcosa che mi possa aiutare. chi può darmi qualche consiglio?
Wow! Magnifico
Bellissimo. Hai fatto veramente un gran lavoro.
Complimenti, spiegazione chiarissima
Favoloso, ottime spiegazioni. Bravo
you prolly dont care but if you guys are stoned like me during the covid times you can watch all of the latest movies on Instaflixxer. Have been binge watching with my gf for the last couple of days :)
@Byron Luca Yea, been using InstaFlixxer for since december myself :)
hai la capacità di spiegare le cose in maniera semplice
Spiegazione davvero chiara!
grazie
Grazieeeee
Puoi aggiungere la funzione ROUND() per mostrare direttamente a video il risultato, quindi round(previsione1) e round(previsione2) che ti restituisce 1 e 0
Comunque complimenti :)
Dio mio ma quanto spieghi bene veramente non so io ma si vede che hai una dote
Ciao ti volevo ringraziare per l'ottimo video e volevo chiederti cosa succede in caso gli input sono più di due, semplicemente si aggiungono pesi oppure c'è altro?
Ciao per caso come posso contattarti per chiederti qualcos'altro?
Buongiorno Riccardo, e innanzitutto grazie mille per i video che sono, tra quello online, tra i più chiari da seguire per un neofita.
giocando con la tua applicazione in python, mi è sorta una domanda: i parametri random iniziali generati per w1, w2 e b, che impatto hanno sul raggiungimento dei valori "ottimizzati" per w1, w2 e b appunto? O meglio, se cambio i valori iniziali di w1, w2, e b, ottengo sempre gli stessi valori dopo aver allenato la rete? Allora ho provato a mettere dei vincoli al generatore di numeri casuali ed ho scoperto una cosa curiosa:
se al momento della generazione dei numeri casuali, w1 e w2 vengono definiti con valori ENTRAMBI superiori a 0,67, la rete non si allena, e spara risultati assolutamente fuori contesto. Il problema non pare porsi con B, che qualsiasi valore le venga assegnato, è libera di muoversi senza problemi.
IN effetti con il tuo programma questo non succede perché resetti il generatore (con RD.SEED(1)) pero' converrai con me che cosi facendo i "semi" dai quali vengono generati i parametri w1, w2, e b sono in un qualche modo "veicolati" e quindi il processo di generazione è sempre uguale a se stesso step by step, per cui anche se lo lanci 100.000 volte il risultato sarà il medesimo.
Ma se invece venisse lasciato libero il feed di generazione dei numeri casuali, la possibilità di ottenere due valori vicini superiori entrambi a 0.67 non è pari a zero.
Cosa ne pensi?
Grazie del tempo che mi dedicherai
Buongiorno Keko. Grazie a te per i complimenti! La tua osservazione è corretta, il processo di inizializzazione dei pesi e bias è sempre uguale a sé stesso in questo caso. L'ho fatto proprio per ottenere una certa riproducibilità. L'inizializzazione casuale ha ,come hai giustamente notato, dei potenziali problemi: se i pesi vengono inizializzati con un valore troppo alto la funzione sigmoide "mappa" gli ingressi ad uscite molto vicine ad 1 e quindi ci vogliono molte più iterazioni per eseguire l'addestramento (prova a verificarlo modificandone il numero e fai dei test con diversi learning rate). Esistono delle formule di inizializzazione particolari, utilizzate soprattutto quando si ha a che fare con reti multistrato, che tengono conto di questo e di altri problemi. Volendo fornire una visione semplificata dell'argomento ho preferito non parlarne in questi video. Grazie per il commento interessante!
Riccardo Talarico grazie della risposta! Ok, giusto per curiosità provo a lavorare con le indicazioni che mi hai fornito, aumento il numero di iterazioni e lavoro sul learning rate. Poi ti dico, ok? Grazie. Ah un ultima cosa.... Repl.it è una meraviglia, ho sottoscritto subito l’abbonamento annuale! Ottimo consiglio
Complimenti per il video, sto effettuando la mia tesi di laurea sulle reti neurali applicate ad eventi franosi, mi spiego meglio praticamente attraverso la lettura di alcune matrici che contengono dati numerici quali ad esempio pendenza del terreno, angolo di esposizione ecc ecc ed attraverso zone note in cui sono avvenute delle frane, devo valutare se altre parti del territorio possono essere soggette a frana o meno. Ora io non ho mai programmato quindi non saprei proprio come partire e nemmeno dove poter trovare qualcosa che mi possa aiutare. chi può darmi qualche consiglio?
☺
Ciaoo! Subito iscritto ! Qualche serie sul canale di C++?
Non è tanto carino sparire senza spiegazioni ...