day 17 - neural networks
(the neuron)
day 15-
k-means clustering
السلام عليكم ورحمة الله... معاكم Kaito :)
مرحبا بيكم فالنهار 17 ديال سلسلة 30 يوم من التعلم الآلي..
البارح دوينا على التعلم العميق deep learning
وعرفنا لاش كيصلاح وكيفاش كيخدم
اليوم غنتعمقو فيه اكثر ونشوفو واحد من الاساسيات ديالو
اليوم غنشوفو الشبكات العصبية الاصطناعية
Artificial Neural Networks

كيما قلنا فالمايل اللي فات..
الشبكات العصبية الاصطناعية هي أنظمة حاسوبية مستوحاة من الشبكات العصبية البيولوجية التي تشكل أدمغة الانسان.
هاد الشبكات كتحاول تلتقط أنماط معينة من البيانات أو معلومات محددة
وكتعالجها باستخدام خوارزميات التعلم العميق.
و الخلية العصبية اللي كتكون فهاد الشبكة كتسمى "عصبون" (Neuron)
شناهو بالضبط هاد العصبون Neuron؟
شوف معاك هاد الصورة المصغرة للشكل اللي كياخدو Neuron فواحد الشبكة عصبية

عندك كيما قلنا المدخلات X1 X2 X3 Xm..
هوما independant variables
ديال واحد العينة من الداتا
مثلا عندك داتا ديال ناس خدامين فالشركة
فكل وحدة من input values غيكون مثلا
العمر هو X1,
الصالير هو X2,
سنوات العمل هو X3… الخ..
ولكن هدشي كامل ديال واحد الشخص..
يعني واحد السطر فالداتا single observation
فالاخر عندك المخرج او output
القيمة ديالو تقدر تكون مستمرة بحال الثمن ديال شي حاجة..
تقدر تكون تقبل حلين 1 او 0 (نعم او لا) binary
او تقدر تكون قيمة مصنفة ثابتة categorical
هنايا المخرج ماشي ديما كيكون 1 يقدر يكون كثر.

شناهوما الأوزان The Weights؟
كل خلية عصبية كيكون عندها واحد القيمة أو عدد كيتسمى "الوزن" weight
هاد weight هو اللي كيحدد أهمية كل عنصر أو كل خلية على حدة..

الأوزان هي الطريقة اللي كتتعلم بها الشبكات العصبية
وعلى حساب كل وزن،
كتقرر الشبكة العصبية شناهما المعلومات المهمة و المعلومات غير المهمة.
كل neuron عندو واحد الاشارة كيحاول يدوزها حتى يوصلها للمخرج output layer
و الوزن هو اللي كيحدد الإشارات اللي غيدوزو والاشارات اللي مغيدوزوش،
أولا إلى أي مدى غادي تدوز الإشارة وفين حدها غتوصل.
فبداية ديال التعلم الاوزان كيكونو عندهم قيم عشوائية..
يعني فأول محاولة مغيصدقش دكشي..
ولكن كنبقاو نجربو محاولات متكررة
ومنها كنبدلو دوك الأوزان فعملية التعلم ديال الشبكة..
باش نضمنو نلقاو نتائج دقيقة فالاخر.
داكشي علاش التعلم العميق كيقدر يعالج كمية هائلة من البيانات,
مقارنة بالتعلم الالي التقليدي..
شنو كيطرا داخل الخلية العصبية؟
كيف يتم تغيير إشارات الإدخال في الخلية العصبية بحيث تخرج من الجانب الآخر كإشارات خرج؟
أولاً، كنشدو كل قيمة input value وكنضربوها فقيمة الوزن weight ديالها
كنديرو هاد العملية ليهم كاملين من بعد كنديرو عملية الجمع
مثلا عندنا المثال ديال الموظف..
غنديرو (X3 * w3) + (X2 * w2) + (X1 * w1)
وهاد القيمة كنسميوها "مستوى تنشيط العصبون" transfer function

بمجرد حساب مستوى التنشيط ،
كيجي العصبون كيطبق دالة التنشيط عليها Activation Function
دالة التنشيط هي واحد الدالة غير خطية كتعمم اللاخطية non-linearity
فالنتائج ديال المخرجات..

غالبية الداتا اللي كاينة دبا لا خطية ..
يعني linear regression او اي الغوريتم خطي مصالحش ليها..
وحنا بغينا الشبكة العصبية تعرف وتخرج هاد الانماط اللي كيكونو لاخطية..
كاينين بزاف ديال الانواع ديال هاد الدوال.. غنشوفوهم من بعد
دبا اللي خصك تعرف هو انه النتيجة ديال تطبيق الدالة كتمشي تدخل لواحد الinput layer ديال عصبون اخر..
وهكا غادا النتيجة ديال عصبون كتولي مدخل ديال عصبون اخر

هاد الروتين كيتعاود اكثر من مرة…
حتا كنخرجو بنتيجة نهائية للشبكة العصبية ككل..
غدا ان شاء الله غنشرح مراحل تعلم الشبكة العصبية بمثال غيعجبكم
ايلا بغيتو تفهمو بطريقة كوميدية تفرج فهاد الفيديو
مزال غنشوفو لعيبات خرين بحال
…biases, backpropagation, gradient descent, activation function
هادي خلاصة اليوم:

نتلاقاو فايمايل اخر غدا!
كنتمنى تكونو استافدتو.. ايلا عندكم شي تساؤل اولا مشرحتش شي حاجة مزيان، غير صيفط ليا رد فهاد المايل نيت..
— Kaito
ملاحظات:
مصادر:
The Ultimate Guide to Artificial Neural Networks (ANN)
ايلا عاجبك هدشي وقادر باش تساند هاد newsletter بدعم مادي
دخل لهنا: https://ko-fi.com/callmekaito
شكرا (:

السلام عليكم ورحمة الله... معاكم Kaito :)
مرحبا بيكم فالنهار 17 ديال سلسلة 30 يوم من التعلم الآلي..
البارح دوينا على التعلم العميق deep learning
وعرفنا لاش كيصلاح وكيفاش كيخدم
اليوم غنتعمقو فيه اكثر ونشوفو واحد من الاساسيات ديالو
اليوم غنشوفو الشبكات العصبية الاصطناعية
Artificial Neural Networks

كيما قلنا فالمايل اللي فات..
الشبكات العصبية الاصطناعية هي أنظمة حاسوبية مستوحاة من الشبكات العصبية البيولوجية التي تشكل أدمغة الانسان.
هاد الشبكات كتحاول تلتقط أنماط معينة من البيانات أو معلومات محددة
وكتعالجها باستخدام خوارزميات التعلم العميق.
و الخلية العصبية اللي كتكون فهاد الشبكة كتسمى "عصبون" (Neuron)
شناهو بالضبط هاد العصبون Neuron؟
شوف معاك هاد الصورة المصغرة للشكل اللي كياخدو Neuron فواحد الشبكة عصبية

عندك كيما قلنا المدخلات X1 X2 X3 Xm..
هوما independant variables
ديال واحد العينة من الداتا
مثلا عندك داتا ديال ناس خدامين فالشركة
فكل وحدة من input values غيكون مثلا
العمر هو X1,
الصالير هو X2,
سنوات العمل هو X3… الخ..
ولكن هدشي كامل ديال واحد الشخص..
يعني واحد السطر فالداتا single observation
فالاخر عندك المخرج او output
القيمة ديالو تقدر تكون مستمرة بحال الثمن ديال شي حاجة..
تقدر تكون تقبل حلين 1 او 0 (نعم او لا) binary
او تقدر تكون قيمة مصنفة ثابتة categorical
هنايا المخرج ماشي ديما كيكون 1 يقدر يكون كثر.

شناهوما الأوزان The Weights؟
كل خلية عصبية كيكون عندها واحد القيمة أو عدد كيتسمى "الوزن" weight
هاد weight هو اللي كيحدد أهمية كل عنصر أو كل خلية على حدة..

الأوزان هي الطريقة اللي كتتعلم بها الشبكات العصبية
وعلى حساب كل وزن،
كتقرر الشبكة العصبية شناهما المعلومات المهمة و المعلومات غير المهمة.
كل neuron عندو واحد الاشارة كيحاول يدوزها حتى يوصلها للمخرج output layer
و الوزن هو اللي كيحدد الإشارات اللي غيدوزو والاشارات اللي مغيدوزوش،
أولا إلى أي مدى غادي تدوز الإشارة وفين حدها غتوصل.
فبداية ديال التعلم الاوزان كيكونو عندهم قيم عشوائية..
يعني فأول محاولة مغيصدقش دكشي..
ولكن كنبقاو نجربو محاولات متكررة
ومنها كنبدلو دوك الأوزان فعملية التعلم ديال الشبكة..
باش نضمنو نلقاو نتائج دقيقة فالاخر.
داكشي علاش التعلم العميق كيقدر يعالج كمية هائلة من البيانات,
مقارنة بالتعلم الالي التقليدي..
شنو كيطرا داخل الخلية العصبية؟
كيف يتم تغيير إشارات الإدخال في الخلية العصبية بحيث تخرج من الجانب الآخر كإشارات خرج؟
أولاً، كنشدو كل قيمة input value وكنضربوها فقيمة الوزن weight ديالها
كنديرو هاد العملية ليهم كاملين من بعد كنديرو عملية الجمع
مثلا عندنا المثال ديال الموظف..
غنديرو (X3 * w3) + (X2 * w2) + (X1 * w1)
وهاد القيمة كنسميوها "مستوى تنشيط العصبون" transfer function

بمجرد حساب مستوى التنشيط ،
كيجي العصبون كيطبق دالة التنشيط عليها Activation Function
دالة التنشيط هي واحد الدالة غير خطية كتعمم اللاخطية non-linearity
فالنتائج ديال المخرجات..

غالبية الداتا اللي كاينة دبا لا خطية ..
يعني linear regression او اي الغوريتم خطي مصالحش ليها..
وحنا بغينا الشبكة العصبية تعرف وتخرج هاد الانماط اللي كيكونو لاخطية..
كاينين بزاف ديال الانواع ديال هاد الدوال.. غنشوفوهم من بعد
دبا اللي خصك تعرف هو انه النتيجة ديال تطبيق الدالة كتمشي تدخل لواحد الinput layer ديال عصبون اخر..
وهكا غادا النتيجة ديال عصبون كتولي مدخل ديال عصبون اخر

هاد الروتين كيتعاود اكثر من مرة…
حتا كنخرجو بنتيجة نهائية للشبكة العصبية ككل..
غدا ان شاء الله غنشرح مراحل تعلم الشبكة العصبية بمثال غيعجبكم
ايلا بغيتو تفهمو بطريقة كوميدية تفرج فهاد الفيديو
مزال غنشوفو لعيبات خرين بحال
…biases, backpropagation, gradient descent, activation function
هادي خلاصة اليوم:

نتلاقاو فايمايل اخر غدا!
كنتمنى تكونو استافدتو.. ايلا عندكم شي تساؤل اولا مشرحتش شي حاجة مزيان، غير صيفط ليا رد فهاد المايل نيت..
— Kaito
ملاحظات:
مصادر:
The Ultimate Guide to Artificial Neural Networks (ANN)
ايلا عاجبك هدشي وقادر باش تساند هاد newsletter بدعم مادي
دخل لهنا: https://ko-fi.com/callmekaito
شكرا (:

التالي