Artificial Intelligence (AI) parantos kéngingkeun popularitas anu ageung dina taun-taun ayeuna.
Upami anjeun insinyur parangkat lunak, élmuwan komputer, atanapi peminat élmu data sacara umum, maka anjeun panginten kabetot ku aplikasi anu luar biasa pikeun ngolah gambar, pangakuan pola sareng deteksi obyék anu disayogikeun ku widang ieu.
Subbidang AI anu paling penting anu sigana anjeun uninga nyaéta Deep Learning. Widang ieu museurkeun kana algoritma anu kuat (parentah program komputer) dimodelkeun saatos fungsionalitas otak manusa anu katelah Jaringan saraf.
Dina tulisan ieu, urang bakal ngabahas konsép Jaringan Neural sareng kumaha ngawangun, nyusun, nyocogkeun sareng ngaevaluasi modél ieu nganggo Python.
Jaringan saraf
Neural Networks, atawa NNs, nyaéta runtuyan algoritma nu dimodelkeun sanggeus aktivitas biologis otak manusa. Jaringan saraf diwangun ku titik, disebut oge neuron.
Kumpulan titik nangtung katelah lapisan. Modelna diwangun ku hiji input, hiji kaluaran, sareng sajumlah lapisan disumputkeun. Unggal lapisan diwangun ku titik, disebut oge neuron, dimana itungan lumangsung.
Dina diagram di handap ieu, bunderan ngagambarkeun titik jeung kumpulan nangtung titik ngagambarkeun lapisan. Aya tilu lapisan dina modél ieu.
Titik tina hiji lapisan disambungkeun ka lapisan salajengna ngaliwatan jalur transmisi sakumaha katingal di handap.
Dataset kami diwangun ku data anu dilabélan. Ieu ngandung harti yén unggal éntitas data geus ditugaskeun nilai ngaran nu tangtu.
Janten pikeun set data klasifikasi sato urang bakal ngagaduhan gambar ucing sareng anjing salaku data urang, kalayan 'ucing' sareng 'anjing' salaku labél urang.
Penting pikeun dicatet yén labél kedah dirobih kana nilai numerik pikeun modél urang supados ngartos aranjeunna, ku kituna labél sato urang janten '0' kanggo ucing sareng '1' pikeun anjing. Duanana data sareng labél disalurkeun kana modél.
learning
Data diasupkeun kana modél hiji éntitas sakaligus. Data ieu direcah jadi sakumpulan jeung dialirkeun unggal titik model. Node ngalaksanakeun operasi matematik dina sakumpulan ieu.
Anjeun teu kedah terang fungsi matematik atawa itungan pikeun tutorial ieu, tapi hal anu penting pikeun boga gagasan umum kumaha model ieu jalan. Sanggeus runtuyan itungan dina hiji lapisan, data disalurkeun kana lapisan salajengna jeung saterusna.
Sanggeus réngsé, modél urang ngaramalkeun labél data dina lapisan kaluaran (contona, dina masalah klasifikasi sato urang meunang prediksi '0' pikeun ucing).
Model lajeng proceeds pikeun ngabandingkeun nilai diprediksi ieu kalawan nilai labél sabenerna.
Lamun nilai cocog, modél urang bakal nyandak input salajengna tapi lamun nilai béda modél bakal ngitung bédana antara duanana nilai, disebut leungitna, tur nyaluyukeun itungan titik pikeun ngahasilkeun labél cocog waktos salajengna.
Kerangka Pembelajaran Jero
Pikeun ngawangun Jaringan Neural dina kode, urang kedah ngimpor kerangka Learning jero katelah perpustakaan ngagunakeun Integrated Development Environment (IDE) urang.
Kerangka ieu mangrupikeun kumpulan fungsi anu tos ditulis anu bakal ngabantosan urang dina tutorial ieu. Urang bakal ngagunakeun kerangka Keras pikeun ngawangun modél urang.
Keras mangrupikeun perpustakaan Python anu ngagunakeun pembelajaran jero sareng backend kecerdasan buatan anu disebut Aliran tensor pikeun nyieun NNs dina bentuk model sequential basajan kalawan betah.
Keras ogé hadir sareng modél anu tos aya anu tiasa dianggo ogé. Pikeun tutorial ieu, urang bakal nyieun model urang sorangan ngagunakeun Keras.
Anjeun tiasa leuwih jéntré ngeunaan kerangka Deep Learning ieu ti ramatloka Keras.
Ngawangun Jaringan Neural (Tutorial)
Hayu urang teraskeun ngawangun Jaringan Neural nganggo Python.
Pernyataan Masalah
Neural Networks mangrupikeun jinis solusi pikeun masalah berbasis AI. Pikeun tutorial ieu kami bakal ngaliwat Data Pima Indians Diabetes, anu sayogi Ieuh.
ICU Machine Learning parantos nyusun set data ieu sareng ngandung catetan médis pasien India. Model urang kedah ngaduga naha pasien ngagaduhan awal diabetes dina 5 taun atanapi henteu.
Ngamuat Dataset
Dataset kami mangrupikeun file CSV tunggal anu disebut 'diabetes.csv' anu gampang dimanipulasi nganggo Microsoft Excel.
Sateuacan nyiptakeun modél urang, urang kedah ngimpor set data urang. Nganggo kodeu di handap ieu anjeun tiasa ngalakukeun ieu:
impor pandas sakumaha pd
data = pd.read_csv('diabetes.csv')
x = data.drop("Hasil")
y = data["Hasil"]
Di dieu urang ngagunakeun pandas perpustakaan pikeun bisa ngamanipulasi data file CSV urang, read_csv () mangrupakeun diwangun-di fungsi Pandas anu ngamungkinkeun urang pikeun nyimpen nilai dina file urang kana variabel disebut 'data'.
Variabel x ngandung dataset kami tanpa data hasil (labél). Urang ngahontal ieu kalawan data.drop () fungsi nu ngaluarkeun labél pikeun x, bari y ngandung ukur hasil (labél) data.
Ngawangun Modél Sequential
Lengkah 1: Ngimpor Perpustakaan
Anu mimiti, urang kedah ngimpor TensorFlow sareng Keras, sareng sababaraha parameter anu diperyogikeun pikeun modél urang. Kodeu di handap ieu ngamungkinkeun urang pikeun ngalakukeun ieu:
impor tensorflow sakumaha tf
ti tensorflow impor keras
ti tensorflow.keras.models impor Sequential
ti tensorflow.keras.layers impor Aktivasina, Padet
ti tensorflow.keras.optimizers impor Adam
ti tensorflow.keras.metrics impor categorical_crossentropy
Pikeun model urang urang importing lapisan padet. Ieu pinuh disambungkeun lapisan; ie, unggal titik dina lapisan disambungkeun pinuh ku titik sejen dina lapisan salajengna.
Urang ogé ngimpor hiji aktivasina fungsi diperlukeun pikeun skala data dikirim ka titik. Optimizers ogé geus diimpor pikeun ngaleutikan leungitna.
Adam mangrupikeun pangoptimal anu kasohor anu ngajantenkeun itungan node update modél urang langkung éfisién, sareng categorical_crossentropy nu mangrupa jinis fungsi leungitna (ngitung bédana antara nilai labél aktual sareng diprediksi) anu bakal kami anggo.
Lengkah 2: Ngarancang Modél Kami
Model Kuring keur nyieun boga hiji input (jeung 16 hijian), hiji disumputkeun (jeung 32 hijian) jeung hiji kaluaran (jeung 2 hijian) lapisan. Jumlah ieu teu dibereskeun sarta bakal gumantung sagemblengna kana masalah dibikeun.
Nyetél jumlah unit sareng lapisan anu leres mangrupikeun prosés anu tiasa dironjatkeun lembur ngalangkungan prakték. Aktivasina saluyu sareng jinis skala anu bakal kami laksanakeun dina data kami sateuacan ngalangkungan titik.
Relu na Softmax mangrupakeun fungsi aktivasina renowned pikeun tugas ieu.
modél = Sequential([
Padet(unit = 16, input_shape = (1,), aktivasina = 'relu'),
Padet(unit = 32, aktivasina = 'relu'),
Padet(unit = 2, aktivasina = 'softmax')
])
Ieu kumaha kasimpulan modél kedah sapertos kieu:
Ngalatih Modél
Modél kami bakal dilatih dina dua léngkah, anu kahiji nyaéta nyusun modél (ngahijikeun modél) sareng anu salajengna nyocogkeun modél dina set data anu dipasihkeun.
Ieu bisa dipigawé maké model.compile () fungsi dituturkeun ku model.fit () fungsi.
model.compile(optimizer = Adam(learning_rate = 0.0001), leungitna = 'binary_crossentropy', metrics = ['akurasi'])
model.fit(x, y, epochs = 30, bets_size = 10)
Nangtukeun métrik 'akurasi' ngamungkinkeun urang pikeun niténan katepatan modél urang salami latihan.
Kusabab labél kami aya dina bentuk 1 sareng 0, kami bakal ngagunakeun fungsi leungitna binér pikeun ngitung bédana antara labél aktual sareng anu diprediksi.
Dataset ieu ogé dibagi kana bets 10 (batch_size) sareng bakal diliwatan model 30 kali (epochs). Pikeun set data anu dipasihkeun, x mangrupikeun data sareng y mangrupikeun labél anu cocog sareng data.
Tés Modél Ngagunakeun Prediksi
Pikeun evaluate model urang, urang nyieun prediksi dina data test ngagunakeun fungsi prediksi ().
prediksi = model.prediksi(x)
Sareng éta waé!
Anjeun ayeuna kudu boga pamahaman alus ngeunaan jero Learning aplikasi, Neural Networks, kumaha sabab tiasa dianggo sacara umum tur kumaha carana ngawangun, ngalatih jeung nguji modél dina kode Python.
Abdi ngarepkeun tutorial ieu masihan anjeun kickstart pikeun nyiptakeun sareng nyebarkeun modél Pembelajaran Jero anjeun nyalira.
Hayu urang terang dina koméntar upami tulisan éta ngabantosan.
Leave a Reply