Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - caronte

Pagine: [1] 2 3 ... 20
1
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 19, 2020, 20:19 »
 :D :D
ebbe e' chiaro...quella riga e' dichiaratamente inefficiente e piena di "fronzoli" , stavo per eliminare pure lower, ma mi sono fermato  :D :D :D

2
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 16, 2020, 23:42 »
rivedo...(purtroppo...)  :D :D :D


s = 'megliochevadoadormire'
''.join(c if i % 2 != 0  else chr(ord(c) - 32) for i, c in enumerate((map(lambda d: list(d).pop(0), s.lower()))))



3
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 15, 2020, 23:01 »
siete dei cattivelli, siete...

aaaa   :D  si ma Glen e' stato molto piu cattivo di me   :devil:

4
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 15, 2020, 20:42 »

my_func=lambda s:reduce(lambda q,c:(q[0]+(c.lower() if q[1] else c.upper()),not q[1]),list(s),("",True))[0]


 :D :D :D quasi imbattibile, ma ci provo... :party:

s = "mystring"
''.join((c.upper() if (((i % 2) == 0))  else c.lower() for ((i, c)) in zip(range(len(list(s))), list(s))))


come scrivere Python  in Lisp... (((ho aggiunto qualche tonda giusto per starti dietro...)) :D :D :D :D :D :D :D :D :party:
ps. adesso sarei da bannare

5
Base / Re:Rete Neurale
« il: Settembre 03, 2020, 14:20 »
allora, ti lascio un esempio molto basilare di rete con soli due layers; (ammesso che tu abbia tutte le dipendenze installate, vedi gli imports)
uso un modello sequenziale in keras, molto semplice da scrivere; per net piu flessibili sceglieresti un modello funzionale, o direttamente tensorflow ,  Pytorch... e amici cari..

in base ai dati che hai postato tu, si tratta di una regressione, quindi i valori della dipendente sono float;
ecco perche' invece della cross entropy userai una semplice "mean squared error"..ma potresti usarne altre;
come potrai vedere dai risultati, chiaramente il modello non converge (vedi i valori della val_loss) perche' chiaramente tutte le variabili comprese le indipendenti, sono random,
quindi non esiste alcuna correlazione tra loro e la dipendente (target); con dati reali chiaramente il risultato cambia;
come vedi  forward e backpropag sono eseguite direttamente dal framework una volta definito il modello e compilato;

ora questo e' solo u assaggio, chiaramente sono molte le cose da valutare prima di costruire una rete', ma di certo non posso farti un tutorial;
leggiti per cominciare un buon libro, tipo "Deep Learning with Python" che appunto usa Keras;

saluti

edit:
"x e y sono array.
l'ho appena controllato anche facendo il debug e passando il mouse sopra x e y. Che cosa intendi?"

si, sono tensori ma hai controllato le rispettive dimensioni?...


import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras import layers
import tensorflow as tf

# random data
df = pd.DataFrame(1/100*np.random.randint(0, 100, size=(100, 9)))
targets = np.random.rand(100)

# splitta i dati in train e valid, in maniera da testare succesivamente il mdoello su dati non presenti nel train set
x_train, x_valid, y_train, y_valid = train_test_split(df, targets, test_size=0.2, random_state=123)


# definiamo optimiser e logit
mse = tf.keras.losses.MeanSquaredError()
optimizer = tf.keras.optimizers.Adam(learning_rate=0.001)


# inizializza il modello sequenziale
model = Sequential()
model.add(layers.Dense(10, input_dim=df.shape[1], kernel_initializer='normal', activation='relu'))
model.add(layers.Dense(1, activation='linear'))

model.summary()

# compilazione
model.compile(loss=mse, optimizer=optimizer, metrics=['mse'])

#  training
model.fit(x_train, y_train, epochs=10, batch_size=50, verbose=1, validation_split=0.2)

# predictions on valid test
y_preds = model.predict(x_valid)

score = mean_squared_error(y_valid, y_preds)

6
Base / Re:Rete Neurale
« il: Agosto 29, 2020, 22:15 »
ciao
scusami ma hai almeno qualche nozione di base di "reti "?
hai capito (dubito) quello che hai scritto e cosa fa? invece di quelloc h dovrebbe fare?

hai fatto un bel po di casino...
adesso in linea di massiama scopo di puro comprendonio, scrivere un neural net in puro Python potrebbe andar anche bene;
ma in casi reali NON si fa e non serve assolutamente farlo;
detto cio'
li tu ti vai a calcolare le varie derivate (in chain rules) a mano...
definisci a doppio le varie funzioni di attivazione...
poi a quanto vedo applichi una cross-entropy loss (la tua nloss) ad un problema di regressione...??? chiaramente non sai bene quello che stai facendo;
ma poi alla fine hai visto che array passi alla classe che ti dovrebbe inizializzare la tua rete neurale?
quelal 'x' e quella 'y'??? cioe' come target stai passando praticamente uno scalare...e ti chiedi perche' non converge??

comincia a leggerti qualcosa sulle basi e poi se vuoi ne riparliamo
saluti

7
Base / Re:Algoritmo genetico su rete neurale
« il: Maggio 25, 2020, 21:29 »
bene, l'esempio che hai postato ha perfettamente senso; --> ma occhio che qui non stai allenando, o meglio istruendo, la rete  con un algoritmo genetico
(probabilmente ancora non ti e' chiaro come funge una rete neurale);
non lo stai usando come optimizer dei ---parametri--- (che come ti avevo detto nn avrebbe gran senso e sarebbe molto poco efficiente)
ma stai usando il GA come ottimizzatore degli ---hyperparametri--- (probabilmente la tua confusione e' qui); quindi e' cosi che viene  effettivamente sfruttato insieme ad altri criteri...

poi ci sarebbero d a fare molte altre considerazioni, ovvero che ne l caso di una rete neurale, e soprattutto nelle 'deep'...il tuning degli hyperparams spesso viene evitato per vari motivi:
primo fra cui l'inefficienza...(cioe' ci vorrebbe un botto di tempo, soprattutto su modelli 'importanti'...parlo di processamento immagini e NLP...
secondo sul size dei layers spesso ci si regola in relazione al numero delle features o in base al tipo di dati che hai...; poi per le attivazioni dei  layers intermedi la --relu-- e sue derivate, surclassano quasi sempre la than, per varie ragioni che nn ti staro' a spiegare...quindi inutile testare la than  (solo i casi abbastanza particolari...mah...)
quindi alla fine,  il tuning si risolve principalmente per  il  learning rate...(che e' l'unica cosa che non stai 'testando'...  :)), ma anche qui ce ne sarebbe di letteratura...

8
Base / Re:Algoritmo genetico su rete neurale
« il: Maggio 20, 2020, 21:07 »
ciao
non devi scusarti di nulla;
allora non capisco il senso di "far girare una rete neurale dentro un GA ""???
secondo me dovresti chiarirti bene col tuo tutor;
vero sarebbe il contrario, ovvero  istruire una rete tramite GA; cosa che come ti ho gia' detto non si fa quasi mai, perche' molto piu efficienti affidarsi a derivati della famiglia dei --stochastic gradient descent --(di cui fa parte appunto l'adam implementato in sklearn come nella maggior parte dei frameworks votati al DL;
detto questo, invece ha molto piu senso minimizzare/maximizzare una funzione solo tramite GA, questo si;

 fatti cmq un giro in rete..e' pieno di dimostarzioni in python, come ad es. una delle prime cose che esce fuori:

https://towardsdatascience.com/genetic-algorithm-implementation-in-python-5ab67bb124a6
https://wiki.fysik.dtu.dk/ase/tutorials/ga/ga_optimize.html
....

9
Base / Re:Algoritmo genetico su rete neurale
« il: Maggio 15, 2020, 22:02 »
forse mi sfugge qualcosa ma non hoc apito il perche' vuoi usare il GA optimizer cosi..

cioe' e' la rete stessa che hai definito che ti deve approssimare al meglio la funzione in questione, qualunque essa sia;
e lo fa sfruttando appunto l'optimizer implementato nel modello, nel processo inverso di backpropagazione;
in questo caso l'optimizer e' l'--adam-- e a ragion veduta, cieo' tu stai gia' usando un optimizer che non e' GA, e a meno che non lo implementi manualmente in sklearn, mah...nn avrebbe gran senso

quindi se la funzione 'oggettiva' che hai definito nel tuo caso, che e' la RMSE, la rete non fara' altro che
minimizzare l'errore, quindi aggiornare i parametri in maniera da arrivare al minimo della loss definita, -- l'RMSE, appunto..
pertanto non capisco il resto del problema...a meno che tu non voglia fare due cose distinte...poi puo' essere che non ho centrato il punto io..

se vuoi usare GA come optimizer, dovresti implementarti la rete 'manualemnte' in python o sfruttare frameworks che ti consentano di scriverti, se non gia' definito, un GA come optimizer..se non sbaglio Tensorflow ha qualcoasa del genere:
https://www.tensorflow.org/probability/api_docs/python/tfp/optimizer/differential_evolution_minimize, che cmq devi implementare all'i nterno di un  mdoello scritto in TF...chiaramente;

ps. Ga non viene quasi mai usato come optimizert, probabilmente perche' risulterebbe abbastanza ingombrante e lento, quindi poco effciente da usare nella BP,  diversamente l'ho visto usare come tuning dei hyperparametri, ma sostanzialemnet solo in 'shallow algorithms', raramente avrebbe senso sulle reti  e nel deep learning in generale; poi....


10
Base / Re:Algoritmo genetico su rete neurale
« il: Maggio 14, 2020, 22:25 »
ciao
come prima cosa ticonviene postare quello che hai scritto, perche' a 'parole' soprattutto se non conosci bene la 'cosa'.., non ci capiamo poi tanto;
quindi come stai scrivendo l'algoritmo? in python? in tensorflow? Pytorch, keras?...

secondo: ovvero l'upgrade dei --parametri-- del network conviene farlo  ad ogni step/iterazione e quasi mai ad ogni epoca, a meno che tu non abbia 'numero di istanze' relativamente piccolo o un botto di memoria..
e si, il GA come SGD  e suoi derivati, ottimizzano i pesi in backprop ad ogni "step / batch size" basandosi sull'output della loss function che hai scelto per il tuo mdoello, portandoli, -- si spera-- vero il minimum..
capirai che dire una cosa del genere: " ad ogni epoch del genetico il minimo trovato debba essere aggiunto al set di train della rete.." nn ha alcun senso...

11
Calcolo scientifico / Re:Machine Learning
« il: Aprile 25, 2020, 12:22 »
e no non c'e' una sezione specifica per ml..comunque questa e' quella piu 'vicina'

12
Progetti e script / Re:Unione CSV
« il: Marzo 25, 2020, 15:02 »
ciao
allora anche se quella cosa che hai scritto ti funziona, in Python e' inefficiente, soprattutto se hai a che fare con grandi dimensioni;
attrezzi come pandas e similia nascono proprio per gestire tutto questo in maniera semplice, veloce, efficiente e di facile lettura:
quindi ti consiglio di guardarti la documentazione, almeno per quel che ti interessa;
dopo che ti carichi i files, la questione viene risolta con una chiamata

# loading csv...
df0 = pd.read_csv('path file to load..')
...
dfn = pd.read_csv('path file to load..')

# questa..(poi chiaramente ci sono molte altre opzioni per gestire e manipolare dataframes, con join, merge, etc...)
df_all = pd.concat([df0, ..., dfn], axis=0, ignore_index=True)

# vuoi estrapolare una o piu colonne?
df_all[['Colname1', 'Colname3', ...]]

# save file
df_all.to_csv('path to save...')

13
Progetti e script / Re:Unione CSV
« il: Marzo 25, 2020, 12:46 »
a niente infatti in quello originale l'avevo commentato, mi sono sbagliato

male...

14
Progetti e script / Re:Unione CSV
« il: Marzo 24, 2020, 21:33 »
ok,  quindi pandas che l'hai importato  a fare?

15
Esercizi / Re:Lunghezza media di parole in un file
« il: Ottobre 30, 2019, 12:31 »
La ricchezza semantica di questo post mi lascia senza parole... o forse รจ OP ad esserlo? :D

 :D
da molto che nn si leggeva / vedeva un ossimoro

Pagine: [1] 2 3 ... 20