Intelligence Artificial (AI) di van salên dawî de hejmareke girîng a populerbûnê bi dest xistiye.
Ger hûn bi gelemperî endezyarek nermalavê, zanyarê komputerê, an jî dildarê zanistiya daneyê ne, wê hingê hûn belkî ji serîlêdanên ecêb ên hilberandina wêneyê, naskirina nimûne û vedîtina tiştan ku ji hêla vê qadê ve têne peyda kirin meraq dikin.
Binqada herî girîng a AI-yê ku we guman jê bihîstiye Fêrbûna Kûr e. Ev qad balê dikişîne ser algorîtmayên hêzdar (rêberên bernameya komputerê) ku li gorî fonksiyona mêjiyê mirovî ku wekî tê zanîn têne model kirin Tora Neural.
Di vê gotarê de, em ê li ser têgeha Torên Neuralî û çawaniya çêkirin, berhevkirin, bicîhkirin û nirxandina van modelan bi kar bînin. python.
Tora Neural
Tora Neuralî, an jî NN, rêzek algorîtmayan in ku li gorî çalakiya biyolojîkî ya mêjiyê mirovan hatine model kirin. Tora Neuralî ji girêkan pêk tên, ku jê re neuron jî tê gotin.
Komek girêkên vertîkal wekî qat têne zanîn. Model ji yek têketin, yek derçûn û çend qatên veşartî pêk tê. Her qatek ji girêkan pêk tê, ku jê re neuron jî tê gotin, ku li wir hesab pêk tê.
Di diagrama jêrîn de, çember girêkan û berhevoka vertîkal a girêkan jî qatan temsîl dikin. Di vê modelê de sê qat hene.
Girêkên yek qatê bi riya xetên veguheztinê yên ku li jêr têne dîtin bi qata din ve têne girêdan.
Databasa me ji daneyên nîşankirî pêk tê. Ev tê vê wateyê ku her saziyek daneyê nirxek navekî diyarkirî hatiye dayîn.
Ji ber vê yekê ji bo danehevek dabeşkirina heywanan em ê wêneyên pisîk û kûçikan wekî daneya xwe, bi etîketên 'pisik' û 'kûçik' hebin.
Girîng e ku em bala xwe bidinê ku ji bo modela me pêdivî ye ku etîket li nirxên hejmarî werin veguheztin, ji ber vê yekê etîketên me yên heywanan ji bo pisîkê dibin '0' û ji bo kûçikan '1'. Hem dane û hem jî etîket di modelê re derbas dibin.
hînbûna
Daneyên yek bi yek li ser modelê têne şandin. Ev dane li perçeyan têne perçe kirin û di her girêka modelê re derbas dibe. Nod li ser van perçeyan operasyonên matematîkî pêk tînin.
Hûn ne hewce ne ku hûn fonksiyonên matematîkî an hesabên ji bo vê dersê zanibin, lê girîng e ku hûn ramanek gelemperî ya ka van modelan çawa dixebitin hebe. Piştî rêze hesabên di qatekê de, dane derbasî qatê din dibin û hwd.
Piştî ku qediya, modela me nîşaneya daneyê li qata derketinê pêşbînî dike (mînak, di pirsgirêkek dabeşkirina heywanan de em ji bo pisîkê pêşbîniyek '0' distînin).
Dûv re model berawirdkirina vê nirxa pêşbînîkirî bi ya nirxa labelê ya rastîn re dike.
Ger nirx li hev bikin, modela me dê têketina paşîn bigire lê heke nirx ji hev cûda bibin model dê ferqa di navbera her du nirxan de, ku jê re tê gotin, hesab bike, û hesabên girêkê rast bike da ku carek din etîketên lihevhatî hilberîne.
Çarçoveyên Hînbûna Kûr
Ji bo avakirina Torên Neuralî di kodê de, pêdivî ye ku em import bikin Çarçoveyên Hînbûna Kûr wekî pirtûkxaneyên ku Jîngeha meya Pêşkeftina Yekgirtî (IDE) bikar tînin têne zanîn.
Van çarçove berhevokek fonksiyonên pêş-nivîsandî ne ku dê di vê tutoriyê de ji me re bibin alîkar. Em ê çarçoveya Kerasê bikar bînin ku modela xwe ava bikin.
Keras pirtûkxaneyek Python e ku fêrbûnek kûr û paşverûya îstîxbarata çêkirî ya jê re tê gotin bikar tîne herikîna tensor ji bo afirandina NN-an di forma modelên rêzdar ên hêsan de bi hêsanî.
Keras di heman demê de bi modelên xwe yên pêşîn ên ku dikarin werin bikar anîn jî tê. Ji bo vê dersê, em ê modela xwe bi karanîna Keras biafirînin.
Hûn dikarin di derbarê vê çarçoweya Hînbûna Kûr de bêtir fêr bibin ji Malpera Keras.
Avakirina Tora Neuralî (Tutorial)
Werin em biçin avakirina Tora Neuralî ya bi karanîna Python.
Daxuyaniya Pirsgirêkê
Tora Neuralî celebek çareseriyê ye ji bo pirsgirêkên bingehîn ên AI-ê. Ji bo vê dersê em ê li ser Daneyên Diyabetê yên Pima Hindistanê, yên ku hene, biçin vir.
ICU Machine Learning ev data berhev kiriye û tomarek bijîjkî ya nexweşên Hindî vedihewîne. Modela me pêdivî ye ku pêşbîn bike ka nexweş di nav 5 salan de dest bi diyabetê dike yan na.
Daneyên barkirin
Danûstendina me pelek CSV ya yekane ye bi navê 'diabetes.csv' ku bi hêsanî dikare bi karanîna Microsoft Excel were manîpule kirin.
Berî ku modela xwe biafirînin, pêdivî ye ku em databasa xwe derxînin. Bi karanîna koda jêrîn hûn dikarin vê yekê bikin:
pandayên wekî pd îthal bikin
data = pd.read_csv('diabetes.csv')
x = data.drop ("Encam")
y = dane["Encam"]
Li vir em bi kar tînin pandas pirtûkxane ji bo ku em karibin daneya pelê CSV-ya me manîpule bikin, read_csv() fonksiyonek çêkirî ya Panda-yê ye ku dihêle ku em nirxên di pelê xwe de li guhêrbarek bi navê 'dane' hilînin.
Guherbara x databasa me bêyî daneya encamê (etîketan) dihewîne. Em bi fonksiyona data.drop() ku etîketan ji bo x radike, digihîje vê yekê, lê y tenê daneya encam (etîket) dihewîne.
Avakirina Modela Rêzdar
Gav 1: Importkirina Pirtûkxane
Pêşîn, pêdivî ye ku em TensorFlow û Keras, digel hin pîvanên ku ji bo modela me hewce ne, import bikin. Koda jêrîn destûrê dide me ku em vê bikin:
import tensorflow wek tf
ji kerasên import tensorflow
ji tensorflow.keras.models import Sequential
ji tensorflow.keras.layers import Activation, Dense
ji tensorflow.keras.optimizers import Adem
ji tensorflow.keras.metrics import categorical_crossentropy
Ji bo modela xwe em qatên qalind îthal dikin. Ev qatên bi tevahî girêdayî ne; ango, her girêkek di qatekê de bi tevayî bi girêka din a di qata din de ve girêdayî ye.
Em jî îtxal dikin an çalakiyê fonksiyona ku ji bo pîvandina daneyên ku ji girêkan re têne şandin hewce dike. Optimizers ji bo kêmkirina windabûnê jî hatine îtxalkirin.
Adam optimîzatorek navdar e ku hesabên girêka nûvekirina modela me bi bandortir dike, bi hev re categorical_crossentropy ku ev e celebê fonksiyona windakirinê (cudahiya di navbera nirxên etîketê yên rastîn û pêşbînîkirî de hesab dike) ku em ê bikar bînin.
Gav 2: Sêwirana Modela Me
Modela ku ez diafirînim yek têketinek (bi 16 yekîneyan), yek veşartî (bi 32 yekîneyan) û yek derketin (bi 2 yekîneyan) heye. Ev hejmar ne sabît in û dê bi tevahî bi pirsgirêka hatî dayîn ve girêdayî bin.
Sazkirina jimareya rast a yekîne û qatan pêvajoyek e ku dikare bi pratîkê de zêde were çêtir kirin. Çalakkirin bi celebê pîvandinê re têkildar e ku em ê li ser daneyên xwe bikin berî ku ew di nav nodek re derbas bikin.
Relu û Softmax ji bo vê peywirê fonksiyonên çalakkirinê yên navdar in.
model = Rêheval([
Dense (yekîneyên = 16, şeklê_ketina = (1,), çalakkirin = 'relu'),
Dense (yekîneyên = 32, çalakkirin = 'relu'),
Dense (yekîneyên = 2, çalakkirin = 'softmax')
])
Li vir kurteya modelê divê çawa xuya bike:
Perwerdekirina Modelê
Modela me dê di du gavan de were perwerde kirin, ya yekem berhevkirina modelê (lihevkirina modelê) û ya din jî guncavkirina modelê li ser databasek diyarkirî ye.
Ev dikare bi karûbarê model.compile() û li pey fonksiyona model.fit() were kirin.
model.compile (optimizer = Adam (rêjeya_hînbûnê = 0.0001), winda = 'binary_crossentropy', metrics = ['rastbûn'])
model.fit(x, y, serdem = 30, mezinahiya_hevî = 10)
Diyarkirina metrîka 'rastbûnê' dihêle ku em di dema perwerdehiyê de rastbûna modela xwe bişopînin.
Ji ber ku etîketên me di forma 1 û 0-an de ne, em ê fonksiyonek windabûna binary bikar bînin da ku cûdahiya di navbera etîketên rastîn û pêşbînîkirî de hesab bikin.
Di heman demê de danehev li beşên 10 (batch_size) tê dabeş kirin û dê 30 car (serdem) di modelê de derbas bibe. Ji bo danûstendinek diyarkirî, x dê bibe dane û y dê bibe etîketên ku bi daneyê re têkildar in.
Modela ceribandinê bi karanîna pêşbîniyan
Ji bo ku modela xwe binirxînin, em bi karanîna fonksiyona pêşbînî () li ser daneyên ceribandinê pêşbîniyan dikin.
pêşbîniyên = model.predict(x)
That's ew e!
Divê hûn niha baş têgihiştinek baş hebe Fêrbûna Kûr serîlêdan, Torên Neuralî, ew çawa bi gelemperî dixebitin û meriv çawa modelek di koda Python de ava dike, perwerde dike û ceribandin.
Ez hêvî dikim ku ev tutorial destpêkek bide we ku hûn modelên Fêrbûna Kûr biafirînin û bicîh bikin.
Ger gotar alîkar bû, di şîroveyan de ji me re agahdar bikin.
Leave a Reply