مصنوعي استخبارات (AI) په وروستیو کلونو کې د پام وړ شهرت ترلاسه کړی.
که تاسو د سافټویر انجینر یاست، کمپیوټر ساینس پوه، یا په عمومي توګه د ډیټا ساینس لیوالتیا لرئ، نو تاسو شاید د دې ساحې لخوا چمتو شوي د عکس پروسس کولو، د نمونې پیژندنې او د شیانو موندلو په زړه پورې غوښتنلیکونو سره لیوالتیا لرئ.
د AI ترټولو مهم فرعي ساحه چې تاسو یې شاید اوریدلي وي ژوره زده کړه ده. دا ساحه په پیاوړې الګوریتمونو تمرکز کوي (د کمپیوټر برنامې لارښوونې) د انسان دماغ فعالیت وروسته ماډل شوي چې په نوم پیژندل کیږي عصبي شبکې.
پدې مقاله کې ، موږ به د عصبي شبکو مفهوم ته لاړ شو او د دې ماډلونو په کارولو سره څنګه رامینځته کول ، تالیف کول ، فټ کول او ارزول Python.
عصبي شبکې
عصبي شبکې، یا NNs، د الګوریتمونو لړۍ ده چې د انسان دماغ د بیولوژیکي فعالیت وروسته ماډل شوي. عصبي شبکه د نوډونو څخه جوړه ده، چې د نیورون په نوم هم یادیږي.
د عمودی نوډونو ټولګه د پرتونو په نوم پیژندل کیږي. ماډل یو ان پټ، یو محصول، او یو شمیر پټ پرتونه لري. هره طبقه د نوډونو څخه جوړه ده، چې د نیورون په نوم هم یادیږي، چیرته چې محاسبه ترسره کیږي.
په لاندې انځور کې، حلقې د نوډونو استازیتوب کوي او د نوډونو عمودی ټولګه د پرتونو استازیتوب کوي. په دې ماډل کې درې پرتونه شتون لري.
د یوې طبقې نوډونه د بل پرت سره د لیږد لینونو له لارې وصل شوي لکه څنګه چې لاندې لیدل شوي.
زموږ ډیټاسیټ د لیبل شوي ډیټا څخه جوړ دی. دا پدې مانا ده چې هر ډیټا اداره د یو ټاکلي نوم ارزښت ټاکل شوی.
نو د څارویو د ډلبندۍ ډیټاسیټ لپاره به موږ د پیشو او سپي عکسونه زموږ د ډیټا په توګه ولرو ، د 'پیشو' او 'سپي' سره زموږ د لیبلونو په توګه.
دا مهمه ده چې یادونه وکړو چې لیبلونه باید زموږ د ماډل لپاره عددي ارزښتونو ته بدل شي ترڅو د دوی احساس وکړي، نو زموږ د څارویو لیبلونه د پیشو لپاره '0' او د سپي لپاره '1' کیږي. دواړه ډاټا او لیبلونه د ماډل له لارې تیریږي.
زده کړې
ډیټا په یو وخت کې ماډل یوې ادارې ته ورکول کیږي. دا معلومات په ټوټو ویشل شوي او د ماډل هر نوډ څخه تیریږي. نوډونه په دې ټوټو کې ریاضياتي عملیات ترسره کوي.
تاسو اړتیا نلرئ د دې ټیوټوریل لپاره د ریاضیاتي کارونو یا حسابونو پوه شئ، مګر دا مهمه ده چې عمومي نظر ولرئ چې دا ماډل څنګه کار کوي. په یوه طبقه کې د یو لړ حسابونو وروسته، ډاټا بلې پرت ته لیږدول کیږي او داسې نور.
یوځل چې بشپړ شو ، زموږ ماډل د محصول لیبل کې د ډیټا لیبل وړاندوینه کوي (د مثال په توګه ، د څارویو د ډلبندۍ ستونزه کې موږ د پیشو لپاره '0' وړاندوینه ترلاسه کوو).
ماډل بیا د دې وړاندوینې ارزښت د اصلي لیبل ارزښت سره پرتله کولو ته دوام ورکوي.
که ارزښتونه سره سمون خوري، زموږ ماډل به راتلونکی ان پټ واخلي مګر که ارزښتونه توپیر ولري ماډل به د دواړو ارزښتونو ترمنځ توپیر محاسبه کړي، چې تاوان ورته ویل کیږي، او د نوډ محاسبه تنظیموي ترڅو بل ځل د مطابقت لیبل تولید کړي.
د ژورې زده کړې چوکاټونه
په کوډ کې د عصبي شبکې رامینځته کولو لپاره ، موږ اړتیا لرو وارد کړو د ژورې زده کړې چوکاټونه زموږ د مدغم پراختیا چاپیریال (IDE) په کارولو سره د کتابتونونو په نوم پیژندل کیږي.
دا چوکاټونه د مخکې لیکل شوي دندو ټولګه ده چې موږ سره به پدې لوست کې مرسته وکړي. موږ به د خپل ماډل جوړولو لپاره د کیراس چوکاټ وکاروو.
کیراس د Python کتابتون دی چې د ژورې زده کړې او مصنوعي استخباراتو پس منظر کاروي د ټینسر جریان په اسانۍ سره د ساده ترتیبي ماډلونو په بڼه NNs رامینځته کول.
کیراس هم د خپلو پخوانیو ماډلونو سره راځي چې هم کارول کیدی شي. د دې ټیوټوریل لپاره، موږ به د کیرا په کارولو سره خپل ماډل جوړ کړو.
تاسو کولی شئ د دې ژورې زده کړې چوکاټ په اړه نور معلومات له دې څخه زده کړئ Keras ویب پاڼه.
د عصبي شبکې جوړول (تدریس)
راځئ چې د Python په کارولو سره د عصبي شبکې جوړولو ته لاړ شو.
ستونزه بیان
عصبي شبکې د AI پر بنسټ ستونزو لپاره د حل یو ډول دی. د دې ټیوټوریل لپاره موږ به د پیما انډینز ډایبېټس ډیټا ته لاړ شو ، کوم چې شتون لري دلته.
ICU د ماشین زده کړې دا ډاټا سیټ تالیف کړی دی او د هندي ناروغانو طبي ریکارډ لري. زموږ ماډل باید وړاندوینه وکړي چې ایا ناروغ په 5 کلونو کې د شکر ناروغۍ پیل لري یا نه.
د ډیټا سیټ بار کول
زموږ ډیټاسیټ یو واحد CSV فایل دی چې د 'diabetes.csv' په نوم یادیږي چې د مایکروسافټ ایکسل په کارولو سره په اسانۍ سره مینځل کیدی شي.
زموږ ماډل رامینځته کولو دمخه ، موږ اړتیا لرو خپل ډیټاسیټ وارد کړو. د لاندې کوډ په کارولو سره تاسو دا کولی شئ:
پانډا د pd په توګه وارد کړئ
ډاټا = pd.read_csv('diabetes.csv')
x = data.drop("پایله")
y = ډاټا["پایله"]
دلته موږ کاروو پانډا کتابتون د دې وړتیا لري چې زموږ د CSV فایل ډیټا اداره کړي ، read_csv() د پانډاس جوړ شوی فعالیت دی چې موږ ته اجازه راکوي زموږ په فایل کې ارزښتونه د 'ډاټا' په نوم متغیر ته ذخیره کړو.
متغیر x د پایلې (لیبل) ډاټا پرته زموږ ډیټاسیټ لري. موږ دا د data.drop() فنکشن سره ترلاسه کوو چې د x لپاره لیبل لرې کوي، پداسې حال کې چې y یوازې د پایلې (لیبل) ډاټا لري.
د ترتیب ماډل جوړول
1 ګام: د کتابتونونو واردول
لومړی، موږ اړتیا لرو چې زموږ د ماډل لپاره اړین ځینې پیرامیټرې سره د TensorFlow او Keras وارد کړو. لاندې کوډ موږ ته اجازه راکوي چې دا کار وکړو:
د tf په توګه د tensorflow وارد کړئ
د tensorflow وارداتو کیرا څخه
له tensorflow.keras.models څخه ترتیب وار واردوي
د tensorflow.keras.layers څخه د واردولو فعالول، ډنډ
له tensorflow.keras.optimizers څخه ادم واردوي
له tensorflow.keras.metrics واردول categorical_crossentropy
زموږ د ماډل لپاره موږ ګنده پرتونه واردوو. دا په بشپړه توګه تړل شوي پرتونه دي؛ د بیلګې په توګه، په یوه پرت کې هر نوډ په بل پرت کې د بل نوډ سره په بشپړه توګه وصل دی.
موږ هم واردوو فعالیت نوډونو ته لیږل شوي ډیټا اندازه کولو لپاره فنکشن ته اړتیا ده. اصلاح کونکي د زیان د کمولو لپاره هم وارد شوي دي.
ادم یو نامتو اصلاح کونکی دی چې زموږ د ماډل تازه کولو نوډ محاسبه په خورا مؤثره توګه کوي. categorical_crossentropy کوم چې دی د ضایع فعالیت ډول (د حقیقي او اټکل شوي لیبل ارزښتونو ترمنځ توپیر محاسبه کوي) چې موږ به یې کاروو.
2 ګام: زموږ ماډل ډیزاین کول
هغه ماډل چې زه یې رامینځته کوم یو ان پټ (د 16 واحدونو سره) ، یو پټ (د 32 واحدونو سره) او یو محصول (د 2 واحدونو سره) پرت لري. دا شمیرې ثابتې ندي او په بشپړ ډول په ورکړل شوې ستونزې پورې اړه لري.
د واحدونو او پرتونو سم شمیر تنظیم کول یوه پروسه ده چې د تمرین له لارې د اضافي وخت ښه کیدلی شي. فعالول د اندازه کولو ډول سره مطابقت لري چې موږ به یې د نوډ له لارې تیرولو دمخه زموږ په ډیټا کې ترسره کوو.
Relu او Softmax د دې دندې لپاره د فعالولو مشهور فعالیتونه دي.
ماډل = ترتیب ([
کثافات (واحدونه = 16، داخل_شکل = (1،)، فعالول = 'relu')
ګنده (یونټ = 32، فعالول = 'relu')
ګنده (یونټ = 2، فعالول = 'softmax')
])
دلته هغه څه دي چې د ماډل لنډیز باید داسې ښکاري:
د ماډل روزنه
زموږ ماډل به په دوه مرحلو کې روزل کیږي، لومړی د ماډل تالیف کول (د موډل سره یوځای کول) او بل په ورکړل شوي ډیټاسیټ کې د ماډل فټ کول.
دا د model.compile() فنکشن په کارولو سره ترسره کیدی شي چې د model.fit() فنکشن لخوا تعقیب شي.
model.compile(غوره کوونکی = ادم(learning_rate = 0.0001)، loss = 'binary_crossentropy'، metrics = ['دقت'])
model.fit(x, y, epochs = 30, batch_size = 10)
د 'دقت' میټریک مشخص کول موږ ته اجازه راکوي چې د روزنې پرمهال زموږ د ماډل دقت وګورو.
څرنګه چې زموږ لیبلونه د 1 او 0 په بڼه دي، موږ به د بائنری ضایع فعالیت څخه کار واخلو ترڅو د حقیقي او وړاندوینې لیبلونو ترمنځ توپیر محاسبه کړو.
ډیټاسیټ هم د 10 (batch_size) په بیچونو ویشل کیږي او د ماډل له لارې به 30 ځله (epochs) تیریږي. د ورکړل شوي ډیټا سیټ لپاره، x به ډاټا وي او y به د ډیټا سره مطابقت لرونکي لیبلونه وي.
د وړاندوینو په کارولو سره د ازموینې ماډل
زموږ د ماډل ارزولو لپاره، موږ د وړاندوینې () فنکشن په کارولو سره د ازموینې ډیټا وړاندوینې کوو.
وړاندوینې = ماډل. وړاندوینه(x)
او بس!
تاسو باید اوس د دې په اړه ښه پوهه ولرئ ژوره زده کړه غوښتنلیک، عصبي شبکې، دوی څنګه په عموم کې کار کوي او څنګه د Python کوډ کې ماډل جوړ، روزنه او ازموینه کوي.
زه امید لرم چې دا ټیوټوریل تاسو ته د خپل ژور زده کړې موډلونو رامینځته کولو او ځای په ځای کولو لپاره کیک سټارټ درکړي.
راځئ چې په نظرونو کې پوه شو که مقاله ګټوره وه.
یو ځواب ورکړئ ووځي