Intelligence Artificial (AI) ya sami babban adadin shahara a cikin 'yan shekarun nan.
Idan kai injiniyan software ne, masanin kimiyyar kwamfuta, ko mai sha'awar kimiyyar bayanai gabaɗaya, to tabbas kana sha'awar aikace-aikace masu ban mamaki na sarrafa hoto, tantance ƙirar da gano abubuwa da wannan filin ya samar.
Babban fage mafi mahimmanci na AI wanda tabbas kun ji shi shine Ilimi mai zurfi. Wannan filin yana mai da hankali kan algorithms masu ƙarfi (umarnin shirye-shiryen kwamfuta) wanda aka kera bayan aikin kwakwalwar ɗan adam wanda aka sani da Networks.
A cikin wannan labarin, za mu yi magana game da manufar Neural Networks da yadda ake ginawa, tarawa, dacewa da kimanta waɗannan samfuran ta amfani da su. Python.
Networks
Neural Networks, ko NNs, jerin algorithms ne da aka tsara bayan ayyukan nazarin halittu na kwakwalwar ɗan adam. Neural Networks sun ƙunshi nodes, wanda ake kira neurons.
An san tarin nodes na tsaye da yadudduka. Samfurin ya ƙunshi shigarwa ɗaya, fitarwa ɗaya, da adadin ɓoyayyun yadudduka. Kowane Layer ya ƙunshi nodes, wanda ake kira neurons, inda lissafin ke faruwa.
A cikin zane mai zuwa, da'irori suna wakiltar nodes kuma tarin nodes na tsaye suna wakiltar yadudduka. Akwai nau'i uku a cikin wannan samfurin.
An haɗa nodes na Layer ɗaya zuwa Layer na gaba ta hanyar layin watsawa kamar yadda aka gani a ƙasa.
Saitin bayanan mu ya ƙunshi bayanai masu lakabi. Wannan yana nufin cewa an sanya kowane mahaɗin bayanai takamaiman ƙimar suna.
Don haka don bayanan rarrabuwar dabbobi za mu sami hotunan kuliyoyi da karnuka a matsayin bayananmu, tare da 'cat' da 'kare' a matsayin alamun mu.
Yana da mahimmanci a lura cewa alamun suna buƙatar a canza su zuwa ƙimar lambobi don ƙirar mu don fahimtar su, don haka alamun dabbobinmu sun zama '0' don cat da '1' don kare. Dukansu bayanai da alamun suna wucewa ta hanyar ƙirar.
Learning
Ana ciyar da bayanai zuwa samfurin mahalli ɗaya a lokaci guda. An rarraba wannan bayanan zuwa gungu kuma an wuce ta kowane kulli na samfurin. Nodes suna gudanar da ayyukan lissafi akan waɗannan guntu.
Ba kwa buƙatar sanin ayyukan lissafi ko ƙididdiga na wannan koyawa, amma yana da mahimmanci a sami cikakken ra'ayi na yadda waɗannan samfuran ke aiki. Bayan jerin lissafin a cikin Layer ɗaya, ana ƙaddamar da bayanai zuwa Layer na gaba da sauransu.
Da zarar an gama, samfurin mu yana annabta alamar bayanai a saman kayan fitarwa (misali, a cikin matsalar rarraba dabbobi muna samun tsinkayar '0' ga cat).
Samfurin ya ci gaba don kwatanta wannan ƙimar da aka annabta da ta ainihin ƙimar alamar.
Idan dabi'u sun yi daidai, ƙirar mu za ta ɗauki shigarwa na gaba amma idan ƙimar ta bambanta ƙirar za ta ƙididdige bambanci tsakanin ƙimar duka biyun, wanda ake kira asara, kuma ya daidaita lissafin kumburi don samar da alamun da suka dace a gaba.
Tsarukan Ilimi Mai Zurfi
Don gina Neural Networks a lamba, muna buƙatar shigo da su Tsarin Ilmi mai zurfi da aka sani da ɗakunan karatu ta amfani da Muhalli na Ƙaddamarwa (IDE).
Waɗannan ginshiƙai tarin ayyuka ne da aka riga aka rubuta waɗanda za su taimake mu a cikin wannan koyawa. Za mu yi amfani da tsarin Keras don gina samfurin mu.
Keras ɗakin karatu ne na Python wanda ke amfani da zurfin koyo da bayanan ɗan adam da ake kira Maganin motsa jiki don ƙirƙirar NNs a cikin nau'i na samfurori masu sauƙi masu sauƙi tare da sauƙi.
Keras kuma ya zo da nasa samfuran da za a iya amfani da su suma. Don wannan koyawa, za mu ƙirƙiri samfurin namu ta amfani da Keras.
Kuna iya ƙarin koyo game da wannan Tsarin Ilimi mai zurfi daga cikin Gidan yanar gizon Keras.
Gina Cibiyar Sadarwar Jijiya (Tutorial)
Bari mu ci gaba don gina hanyar sadarwa ta Neural ta amfani da Python.
Bayanin Matsala
Neural Networks wani nau'in mafita ne ga matsalolin tushen AI. Don wannan koyawa za mu ci gaba da bayanin bayanan ciwon sukari na Pima Indiya, wanda yake akwai nan.
ICU Machine Learning ya tattara wannan bayanan kuma ya ƙunshi bayanan likita na marasa lafiyar Indiya. Dole ne samfurin mu yayi hasashen ko mai haƙuri yana da ciwon sukari a cikin shekaru 5 ko a'a.
Ana Load da Dataset
Saitin bayanan mu shine fayil ɗin CSV guda ɗaya da ake kira 'diabetes.csv' wanda za'a iya sarrafa shi cikin sauƙi ta amfani da Microsoft Excel.
Kafin ƙirƙirar samfurin mu, muna buƙatar shigo da saitin bayanan mu. Yin amfani da code mai zuwa za ku iya yin haka:
shigo da pandas azaman pd
bayanai = pd.read_csv ('diabetes.csv')
x = data. drop("Sakamakon")
y = bayanai ["Sakamako"]
Anan muna amfani da Panda ɗakin karatu don samun damar sarrafa bayanan fayil ɗin mu na CSV, read_csv() ginannen ayyuka ne na Pandas wanda ke ba mu damar adana ƙimar cikin fayil ɗin mu zuwa madaidaicin da ake kira 'data'.
Madaidaicin x yana ƙunshe da saitin bayanan mu ba tare da bayanan sakamako (lakabi) ba. Mun cim ma wannan tare da aikin data.drop() wanda ke cire alamun x, yayin da y ya ƙunshi bayanan (label) kawai.
Tsarin Tsarin Gina
Mataki 1: Shigo da Laburare
Da farko, muna buƙatar shigo da TensorFlow da Keras, tare da wasu sigogi da ake buƙata don ƙirar mu. Lambar da ke gaba tana ba mu damar yin haka:
shigo da tensorflow kamar tf
daga keras shigo da tensorflow
daga tensorflow.keras.samfuran shigo da Jeri
daga tensorflow.keras.Layer shigo da Kunnawa, Mai yawa
daga tensorflow.keras.optimizers shigo da Adamu
daga tensorflow.keras.metrics shigo da categorical_crossentropy
Don samfurin mu muna shigo da yadudduka masu yawa. Waɗannan su ne cikakken haɗin yadudduka; watau, kowane kumburi a cikin Layer yana da cikakken haɗi tare da wani kumburi a cikin Layer na gaba.
Muna kuma shigo da wani kunnawa aikin da ake buƙata don daidaita bayanan da aka aika zuwa nodes. Masu ingantawa an kuma shigo da su don rage asara.
Adamu mashahurin mai ingantawa ne wanda ke sa ƙirar sabunta ƙididdige ƙididdigewa da inganci, tare da categorical_crossentropy wanda shine nau'in aikin asara (yana ƙididdige bambanci tsakanin ainihin ƙimar lakabin da aka annabta) waɗanda za mu yi amfani da su.
Mataki 2: Zana Samfurin mu
Samfurin da nake ƙirƙira yana da shigarwa ɗaya (mai raka'a 16), ɗaya ɓoye (tare da raka'a 32) da fitarwa ɗaya (mai raka'a 2). Waɗannan lambobin ba a gyara su ba kuma za su dogara gaba ɗaya akan matsalar da aka bayar.
Kafa daidai adadin raka'a da yadudduka tsari ne da za'a iya inganta karin lokaci ta hanyar aiki. Kunnawa yayi daidai da nau'in sikelin da za mu yi akan bayanan mu kafin mu wuce ta kulli.
Relu da Softmax sanannun ayyukan kunnawa ne don wannan aikin.
model = Jeri ([
Mai yawa (raka'a = 16, shigarwa_siffa = (1,), kunnawa = 'relu'),
Dense (raka'a = 32, kunnawa = 'relu'),
Mai yawa (raka'a = 2, kunnawa = 'softmax')
])
Ga abin da taƙaitaccen samfurin yakamata yayi kama:
Horar da Samfurin
Za a horar da samfurin mu a matakai biyu, na farko shine tattara samfurin (hada samfurin tare) sannan na gaba ya dace da samfurin akan bayanan da aka ba.
Ana iya yin wannan ta amfani da aikin model.compile () da aikin model.fit () ya biyo baya.
model.compile(ingantawa = Adam(koyo_rate = 0.0001), asara = 'binary_crossentropy', awo = ['daidai']))
model.fit (x, y, zamanin = 30, batch_size = 10)
Ƙayyade ma'aunin 'daidai' yana ba mu damar lura da daidaiton ƙirar mu yayin horo.
Tun da alamun mu suna cikin nau'in 1's da 0's, za mu yi amfani da aikin asara na binary don ƙididdige bambanci tsakanin ainihin alamun da aka annabta.
Hakanan ana raba bayanan zuwa batches na 10 (batch_size) kuma za a wuce ta cikin samfurin sau 30 (epochs). Don saitin bayanai, x zai zama bayanan kuma y zai zama alamun da suka dace da bayanan.
Samfurin Gwaji Ta Amfani da Hasashe
Don kimanta ƙirar mu, muna yin tsinkaya akan bayanan gwaji ta amfani da aikin tsinkaya().
tsinkaya = model.predict(x)
Kuma shi ke nan!
Ya kamata yanzu ku sami kyakkyawar fahimta game da Jin Ilimi aikace-aikace, Neural Networks, yadda suke aiki gaba ɗaya da yadda ake ginawa, horarwa da gwada samfurin a cikin lambar Python.
Ina fatan wannan koyawa ta ba ku kickstart don ƙirƙira da tura samfuran ku na zurfafa ilmantarwa.
Bari mu san a cikin sharhin idan labarin ya taimaka.
Leave a Reply