AI Model
Nearby computer & electronics services
Tecom
Netplex It Infrastructure Llc
Al Shafar Tower/1 Tecom
Artificial intelligence 🧠 Data science 💹
Robotics 🤖 Python 🐍
مرحبا 🤍
اليوم رح نبني نموذج لحتى يتعرف ع الأرقام المكتوبة بخط اليد باستخدام Tensorflow
يعد التعرف على النص المكتوب بخط اليد مشكلة تعود إلى الآلات التلقائية الأولى التي احتاجت إلى التعرف على الأحرف الفردية في المستندات المكتوبة بخط اليد على سبيل المثال، في الرموز البريدية الموجودة على الرسائل في مكتب البريد و الأتمتة اللازمة للتعرف على هذه الأرقام الخمسة. يعد التعرف التام على هذه الرموز ضروريًا لفرز البريد تلقائيًا . من بين التطبيقات الأخرى التي قد تتبادر إلى الذهن برنامج OCR (التعرف الضوئي على الأحرف). يجب أن يقرأ برنامج التعرف الضوئي على الحروف نصًا مكتوبًا بخط اليد أو صفحات من الكتب المطبوعة ، لتحويلها لوثائق الكترونية.
رح نستخدم مجموعة بيانات MNIST
مجموعة بيانات MNIST هي اختصار يشير إلى مجموعة بيانات المعهد الوطني المعدل للمعايير والتكنولوجيا.
تتألف من 70.000 صورة مربعة صغيرة 28 × 28 بكسل ذات تدرج رمادي لأرقام مفردة مكتوبة بخط اليد بين 0 و 9.
تتمثل المهمة في تصنيف صورة معينة لرقم مكتوب بخط اليد فيما اذا كانت واحدة من 10 أصناف تمثل قيمًا صحيحة من 0 إلى 9
سوف تكتشف كيفية تطوير شبكة عصبية تلافيفية لتصنيف الأرقام المكتوبة بخط اليد.
الكود كاملاً موجود ع الرابط:
https://github.com/Artificial-Intelligece-MODEL/Handwritten-Digits-Recognition/blob/main/MNIST%20Handwritten%20Digits%20Recognition(1).ipynb
مرحبا 🤍
في هذا المقال، سنتعرف على tfidfvectorizer في Python . ربما تكون قد سمعت عن tf-idf في سياق التعلم العميق أو التعلم الآلي وهي تستخدم في تحليل النص.
يشير المصطلح tf – idf إلى مصطلح تردد المستند العكسي (frequency–inverse (document frequency. إنها إحصائية رياضية تعكس مدى أهمية كلمة ما لسجل في نص ما . حيث توضح هذه الطريقة عدد المرات التي تظهر فيها الكلمة في المستند. يمكنها تمييز موضوع المستند النصي بالاعتماد على ورود كلمات معينة فيه بتردد معين ، TF – IDF هي واحدة من أشهر مكتبات المصطلحات الموزونة اليوم. أظهرت دراسة في عام 2015 أن 83٪ من أطر عمل الاقتراحات المستندة إلى النصوص في المكتبات المتقدمة تستخدم tf – idf.
تردد المصطلح (TF): يعني عدد المرات التي يظهر فيها مصطلح في المستند النصي. في سياق اللغة الطبيعية، تتوافق المصطلحات مع الكلمات أو العبارات. لكن المصطلحات يمكن أن تمثل أيضًا أي رمز مميز في النص. الأمر كله يتعلق بكيفية تعريفك لها.
تردد المستند العكسي (IDF): هو وزن يشير إلى مدى شيوع استخدام كلمة ما. كلما زاد استخدامه بشكل متكرر عبر المستندات ، انخفضت نقاطه. كلما انخفضت النتيجة، أصبحت الكلمة أقل أهمية وهذا يعني أن هذه الكلمة الشائعة هي على الأغلب أحد حروف الجر أو العطف.
كل عام وانتو بألف خير يارب❤
جبنالكن خوارزمية تتسلو فيا بالعيد 💛🧡
يعد اكتشاف الحالات الخارجة عن المألوف أو كشف الشذوذ من أهم تقنيات تعلم الآلة والتعلم العميق التي لا يتم التكلم عنها بشكل كافي في دورات تعلم الذكاء الصنعي رغم أهميتها
ومع ذلك، لا يزال اكتشاف الشذوذ مهمًا ولديه الكثير من التطبيقات منها من معالجة اكتشاف الاحتيال في العمليات البنكية وحتى أجهزة المراقبة الطبية. هناك العديد من خوارزميات اكتشاف الشذوذ ولكن أسرع خوارزمية في وقت كتابة هذا المقال هي غابة العزل Isolation forest، والمعروفة أيضًا باسم .
رح نحكي بإيجاز عن كيفية عمل خوارزمية Isolation Forest ، وأشرح أيضًا كيف يمكنك استخدام هذه الخوارزمية لاكتشاف العينات الخارجة عن المألوف أو الشاذة.
تستفيد خوارزمية غابة العزل من الخصائص التالية للعينات الشاذة (يشار إليها غالبًا باسم القيم المتطرفة):
القلة - العينات الشاذة هي أقلية ولن يكون هناك سوى عدد قليل منها في أي مجموعة بيانات.
مختلفة - العينات الشاذة لها قيم / سمات مختلفة تمامًا عن تلك الموجودة في العينات العادية.
الكود كاملاً على الرابط :
https://github.com/Artificial-Intelligece-MODEL/-/blob/main/%D8%A7%D9%83%D8%AA%D8%B4%D8%A7%D9%81%20%D8%B9%D9%85%D9%84%D9%8A%D8%A7%D8%AA%20%D8%A7%D8%AD%D8%AA%D9%8A%D8%A7%D9%84%20%D8%A7%D9%84%D8%A8%D8%B7%D8%A7%D9%82%D8%A7%D8%AA%20%D8%A7%D9%84%D8%A7%D8%A6%D8%AA%D9%85%D8%A7%D9%86%D9%8A%D8%A9%20%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%20%D8%BA%D8%A7%D8%A8%D8%A9%20%D8%A7%D9%84%D8%B9%D8%B2%D9%84.ipynb
الداتا سيت فيكن تحملوها من الرابط:(استخدمو vpn ):
https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud
مرحبا جميعا 👋
اليوم رح نحكي عن علوم البيانات لكن بطريقة مختلفة
سمعانين بإيلون ماسك؟ سمعانين بالانترنت الفضائي؟ سمعانين ب Space X؟
امشوا معنا بالصور لتعرفوا شو علاقتهن بعلم البيانات وتعلم الآلة
ملاحظة: الصور والمعلومات من data science capstone المقدم من قبل IBM على كورسيرا
مرحبا 🧡🧡
رح نحكي اليوم على تقنيتين منستخدمهن بالتعلم العميق وتعلم الآلة، طبعا الأسبوع الجاي رح يكون عنا مثال عملي عن الكل المفاهيم النظرية يلي اخدناها بالأسابيع السابقة
اليوم رح نحكي عن :
التطبيع (Normalization) هو جزء من معالجة البيانات وتقنيات تنظيف البيانات. الهدف الرئيسي للتطبيع هو جعل البيانات متجانسة في جميع السجلات والحقول. يساعد في إنشاء ارتباط بين بيانات الإدخال مما يساعد بدوره في تنظيف وتحسين جودة البيانات.
في حين أن توحيد (Standardization) البيانات هو عملية وضع ميزات مختلفة على نفس المقياس. يمكن تعريف البيانات المعيارية بعبارة أخرى على أنها إعادة قياس السمات بحيث يكون متوسطها 0 والانحراف المعياري 1.
مرحبا
انشالله مودلاتكن منيحة ؟ 😁
في مودل لما ندربا بتعطينا overfitting مثلا طبعا حكينا ببوست سابق كيف نحل هالمشكلة عن طريق ال augmentation للبيانات (نزيد البيانات)
واليوم رح نحكي عن التسرب أو الإفلات أو الـ Dropout يلي هو أحد الطبقات السحرية المهمة جداً بالشبكات العصبونية
مصطلح "Dropout" في التعلم الآلي يدل على عملية التجاهل العشوائي لبعض العقد (العصبونات) في طبقة ما أثناء التدريب.
يستخدم الـ Dropout كتقنية تنظيم - فهو يمنع التعلم الزائد (overfitting) من خلال التأكد من عدم وجود عقد (عصبونات) تعتمد بشكل مشترك على بعضها البعض.
ونرجو الملاحظة عندما يتعلق الأمر بمكافحة التعلم الزائد (overfitting)، فإن الـDropout ليس الخيار الوحيد بالتأكيد.
يوجد تقنيات عديدة ومختلفة (تندرج تحت مفهوم طرق التنظيم Regularization Methods منها:
*التوقف المبكر: أيقاف التدريب تلقائيًا عندما يتوقف الأداء لمقياس معين (على سبيل المثال ، Validation loss, accuracy) عن التحسن.
*انحلال الوزن: تحفيز الشبكة على استخدام أوزان أصغر عن طريق إضافة (عقوبة) إلى وظيفة الخسارة (وهذا يضمن توزيع المعدل الاحصائي للأوزان بشكل متساوٍ نسبيًا بين جميع الأوزان في الشبكات ، مما يمنع وجود عدد قليل من الأوزان التي تؤثر بشدة على مخرجات الشبكة ).
*زيادة البيانات: قمنا بشرحها في منشور سابق.
افتحوا الصور 🧐🧐
مرحبا
كل سبت وأنتو بخير
اليوم رح نحكي عن تقنية كتير مهمة بعالم تعلم الآلة والتعلم العميق، هي الطريقة رح تسرّع المعالجة بشكل كتير كبير
هي التقنية هي استخدام المتجهات بعملية المعالجة أو (Vectorization)
هي تقنية يمكنك من خلالها تنفيذ التعليمات البرمجية الخاصة بك بسرعة. إنها طريقة مهمة للغاية لتحسين الخوارزميات عند كتابة برامج من الصفر.
في التعلم الآلي والتعلم العميق، هناك مفهوم لخوارزمية تحسين تحاول تقليل الخطأ وتحسب للحصول على أفضل البارمترات للنموذج.
لذلك باستخدام تطبيق متجه في خوارزمية تحسين، يمكننا جعل عملية الحساب أسرع بكثير مقارنة بالتنفيذ غير المتجه
سنستخدم مكتبة Numpy من أجل القيام باستخدام المتجهات
مقارنة الأداء بين قائمة بايثون التقليدية ومصفوفات مكتبة Numpy
مرحبا جميعا
اليوم رح نكمل بدروس تعلم الآلة ورح نحكي عن موضوع كتير مهم وهو Clustering
بالعربي يعني (العنقدة)
افتحوا الصور لتتعرفوا على المبدأ والخوارزمية
الصور من كورس تعلم الآلة المقدم من قبل IBM على كورسيرا
مرحبا كيفكن بعد غياب 😁
موضوعنا اليوم كتير مهم السبب أنو في كتير ناس بتشتغل بمجال الذكاء الاصطناعي بتدور ما بتلاقي الجواب الصحيح عن الأسئلة يلي بتخص ال tensor وشو هاد ال tensor وشو بيختلف عن المصفوفات !
اليوم رح نوضح بشكل كامل مفاهيم ال tensor وأنت أكيد ما رح تخربط فيها ابدا بعد اليوم 😌 يلا نبلش 😎
بالعموم كل أنظمة تعلم الآلة الحالية بتستخدم ال tensor كهياكل للبيانات data structure. يعني ال tensor هو شي أساسي بهاد المجال لدرجة أنو Google سمت TensorFlow باسمهم.
بالجوهر ال tensor هي عبارة عن حاويات للبيانات و دائما تقريبا بتحوي
على بيانات رقمية. يعني هي حاويات رقمية.
هلا انت غالبا مألوفة عليك المصفوفة وعلى معرفة مسبقة فيها , طيب منقول عن المصفوفة هي عبارة عن tensor ثنائي البعد 2D tensors.
ال tensor هي تعميم للمصفوفات على عدد عشوائي من الأبعاد
(لاحظ لما نحكي عن ال ، يُطلق على البعد غالبًا اسم المحور).
معناها ال tensor الها أنواع ! طبعاً وأكيد سامعين بالناقلات Scalars يلي بيتكون من 0 بعد يعني هو رقم وحيد Scalars (0D tensors).
يعني الtensor يلي بيحوي على رقم وحيد منسميه Scalar لتوضح الصورة أكتر رح نتوسع بكل نوع شوي, بمكتبة ال Numpy يلي بتتعامل مع المصفوفات فيها ارقام float32 وأرقام float64 هي الأرقام عبارة عن scalar tensor أو scalar array. طيب برمجيا لنعرض محاور أو أبعاد هاد ال tensor فينا من مكتبة Numpy نستخدم (ndim) طبعا عدد المحاور للتنسور يطلق عليه مصطلح المرتبة rank يعني هاد الtensor من أي مرتبة 0 ؟ ولا 1؟ 2؟ 3؟ ... ؟
بهاد الكود رح نوضح فكرة ال scalar :
>>> import numpy as np
>>> x = np.array(12)
>>> x
array(12)
>>> x.ndim
0
هاد ال scalar هو عبارة عن رقم وحيد يعبر عن tensor حاوي لهاد الرقم بمرتبة 0 .
طيب هلا صار عنا نوع من أنواع ال tensor هو ال scalar شو في أنواع تانية ؟
خلونا نكون متفقين على أنو أنواع ال tensor تتبع إلى مرتبة ال tensor يعني لما المرتبة (عدد المحاور) 0 عرفنا أنو هو scalar اذا المحاور ال 1 شو هو ؟
يطلق عليه اسم متجه Vector
يعني لما المصفوفة بتحوي على أكتر من عدد بيصير اسمها vector أو 1D tensor
طيب كمان مثال بالكود رح يوضح :
>>> x = np.array([12, 3, 6, 14])
>>> x
array([12, 3, 6, 14])
>>> x.dim
1
هون عنا مصفوفة فيها أكتر من عدد معناها أنا عندي vector يعبر عن tensor بيحوي هالأرقام بمرتبة 1 يعني محور واحد .
طيب بس في شغلة صغيرة هون انو هاد المتجه هو متجه خماسي الأبعاد يعني 5D-dimensional 🤓
هلا المطلوب لا تخلط بين المحاور والأبعاد 😁 يعني هون هو متجه خماسي الأبعاد بيحوي على 5 مداخل لهيك منسميه متجه خماسي الأبعاد على طول المحور الواحد يعني عادي جدا تشوف vector الو خمس أبعاد أو عشرة أو مية بس بكون الو محور واحد فقط.
هلا عنا المثال التالت اللي هو المصفوفة الثنائية Matrices (2D tensors)
هي مجموعة من المتجهات vectors لها محورين فقط .
بيتوضح شكلها بالكود التالي :
>>> x = np.array( [ [5, 78, 2, 34, 0], [6, 79, 3, 35, 1], [7, 80, 4, 36, 2] ] )
>>> x.ndim
2
وطالما عم نقول محورين فالمدخلات للمحور الأول منسميها سطر والمدخلات للمحور التاني منسميها عمود وبهي المصفوفة [5 ، 78 ، 2 ، 34 ، 0] هو السطر الأول من x ،و [5 ، 6 ، 7] هو العمود الأول.
النوع الرابع هو الtensor ثلاثي المحاور :
اذا عبيت المصفوفات السابقة مثلا بمصفوفة جديدة رح تحصل ع 3D tensor خلينا نشوف كيف !
>>> x = np.array( [ [ [5, 78, 2, 34, 0], [6, 79, 3, 35, 1], [7, 80, 4, 36, 2]], [ [5, 78, 2, 34, 0], [6, 79, 3, 35, 1], [7, 80, 4, 36, 2]], [ [5, 78, 2, 34, 0], [6, 79, 3, 35, 1], [7, 80, 4, 36, 2] ] ] )
>>> x.ndim
3
بتعبئة tensor ثلاثي الأبعاد في مصفوفة ، يمكنك إنشاء tensor رباعي الأبعاد ، وهكذا. في التعلم العميق ، إذا كما نعرف جميع أنواع المصفوفات هي عبارة عن حاويات tensor تحمل البيانات الرقمية غالباَ.
الصورة توضح الأشكال 🥰
نتمنى إن كان لديكم أي استفسار ترك تعليق أو مراسلة الصفحة .
💙🖤🤍
تعرف على مفهوم ال api عن طريق حوار بين شخصين
شو يعني api؟
هو اختصار ل application programming interface
ولنشرحه بسهوله وبساطة
هو عبارة عن أداة وسيطية
كيف يعني أداة وسيطية؟
لما تفوت على شي مطعم
اول شي بتروح لعند شخص بتسجل اسمك وطلبك وتدفع
بعدين بتنتظر لينزاع اسمك وتاخد الطلب
اي صح فهمت بس شو علاقة هالشي بال api ؟
ال api بيشتغل شغل اللي سجل اسمك وحاسبت عنده
اما انت والطباخ اللي عمل الفطاير (الواجهتين البرمجيتين اللي عم يصير في تواصل بيناتن)
انت اسمك client.
والطباخ هو ال resource
ممكن مثال عملي برمجي ؟
اي طبعا
لغة بايثون مثلا
فيها مكتبة مهمة لقواعد البيانات هي pandas
على فكرة pandas مو كلها مكتوبة بلغة بايثون 😎
بس هي بتشتغل ك api ونحن ما بهمنا نعرف ال api كيف متبرمجة بس بكفي نعرف كيف نستخدمها
طب فهمنا ال api بشكل عام بس هلا شو هي rest api؟
هو نوع خاص بسمحلك بالتواصل مع مصادر موجودة على الانترنت
ما فهمت كيف يعني؟وليش اسمه rest ؟
اول شي اسمه rest لأن:
re: represental
s:state
T:transfer
وبفيد مثلا اذا بدك تترجم نص كامل من خلال غوغل مثلا
منبعت request من خلال الapi
هاد ال request بيحوي على رسالة http
وبكون فيها ملف json يحوي على النص اللي بدنا تترجمه
يقوم المصدر بترجمة النص وارسالة عبر ال api بعملية
response.
الى ال client اللي هو انت اللي ناطر الترجمة
الصورة من كورس Python for Data science,AI, Development
المقدم من IBM على كورسيرا coursera
مرحبا 💜
هل أسبوع رح نكمل بأفكار جديدة، الأسبوع الماضي حكينا عن بنية الشبكة العصبية والأوزان وتابع التفعيل.
اليوم رح نحكي ع مشكلتين ممكن نواجهون وقت نبني نموذج ويلي هني OVERFIT و عملية التحجيم.
سيتم استخدام NumPy لإنشاء المتجهات والمصفوفات ، وكذلك العمليات الحسابية. سيتم استخدام Scikit-Learn لتقييس البيانات .
مرحبا😎😎
اليوم رجعنا من جديد لنكمل منشوارنا الحماسي مع مكتبة ال بعد ما تكلمنا شوي عن مجال معالجة الصورة بالاسابيع الماضية اليوم سنتكلم عن اكتشاف الاشكال باستخدام معالجة الصورة😍😍
كيف فينا نكتشف شكل او خط ان كان ضمن فديو او صورة لحتى يتم ذلك لازم نعرف أمور أساسية ويلي هي تحديد حواف الشكل خلينا نعرف كيف :
لاكتشاف الاشكال يمكنك أن تستخدم cv2.findContours و cv2.drawContours لرسم الحواف على الصور. لكن أولاً ما هو Contours أو الإطار؟ هي عبارة عن منحنيات تضم كل النقاط المتصلة مع بعضها (على طول الحدود) والتي تملك نفس اللون أو الشدة، وهذه الإطارات هي أدوات مفيدة لتحليل الشكل، واكتشاف الأجسام والتعرف عليها.
cv2.findContours(src, contour_retrieval, contours_approximation)
الوسيط الأول src : يمثل الصورة
الوسيط الثاني contour_retrieval : يمثل نمط استرداد الإطار ويمكن أن يكون cv2.RETR_EXTERNAL الذي يسترد الخطوط الخارجية الشاذة للشكل فقط أو cv2.RETR_LIST الذي يسترجع كل المعالم للشكل دون إنشاء أي علاقات هرمية أو cv2.RETR_TREE الذي يسترجع كل المعالم ويعيد بناء تسلسل هرمي كامل لخطوط الكنتورات المتداخلة. الوسيط الثالث هو تقريب الإطار ويمكن أن يكون cv2.CHAIN_APPROX_NONE لتخزين جميع نقاط الحدود أو cv2.CHAIN_APPROX_SIMPLE لتخزين نقاط النهاية (مثلاً في المربع يخزن 4 نقط). و الخرج لهذا التابع هو ال Contours وتسلسل الإطارات الهرمي hierarchy. وتكون الإطارات المكتشفة على شكل قائمة، وكل إطار هو عبارة عن مصفوفة نمباي لإحداثيات نقاط حدود الجسم.
cv2.DrawContours(src, contour, contourIndex, colour, thickness)
الوسيط الأول يمثل الصورة، والثاني هو الإطارات المطلوب رسمها، والثالث هو فهرس الإطارات ونعطيه القيمة -1 لرسم كل الإطارات أو رقم إطار محدد لرسمه فقط، ثم اللون ثم السماكة الخطوات التي يجب اتباعها هي: 1. قراءة الصورة. 2. تحويلها إلى رمادية. 3. تعتيبها بحيث نجعلها صورة ثنائية لأن ذلك يعطينا أفضل النتائج
مرحبا جميعا 👋
اليوم رح نحكي عن موضوع مهم بعلم البيانات وتعلم الآلة وهو الارتباط correlation
بصراحة ال correlation هو statistical metric
يقيس كيفية تأثير متغير ما على متغير آخر
وهو موضوع مهم جدا لدراسته من أجل تحديد خوارزمية تعلم الآلة التي نريد استخدامها .
مثلا إذا كان لدينا متغيرين
عندما يتغير المتحول الأول بشكل متزايد فإن المتحول الثاني يتغير أيضا بشكل متزايد وخطي
وهذا ما يدعى بال positive linear correlation
أما عندما يتغير المتحول الأول بشكل متزايد فإن المتحول الثاني يتغير بشكل متناقص
فإن هذا يدعى بال
negative linear correlation
أما عندما يتغير المتحول الأول لكن ذلك لا يؤثر على تغير المتحول الثاني فإن ذلك يدعى
no correlation
والآن السؤال الذي يتبادر إلى ذهن الجميع:
كيف نعرف الطريقة التي يؤثر فيها تغير أحد المتحولات على الآخر؟
توجد بشكل أساسي طريقتان أو منهجان :
المنهج الأول :منهج العرض visualization
وهو ببساطة من خلال عمل scatter plot للعلاقة ما بين هذين المتحولين
ال scatter plot هو مخطط الانتشار والنزعات (بالمدرسة 😁)
من خلال النزعة يتم الحكم على ال correlation
مرحبا كيفكن..
شو هيي خطوات بناء مودل بيعمل تصحيح تلقائي؟
لتعريف التصحيح التلقائي بشكل أوضح، هو وظيفة برمجية تقترح أو تصحح الأخطاء الإملائية أو النحوية تلقائيًا أثناء الكتابة.
كلنا منستخدم التصحيح التلقائي بشكل يومي، سواء ببرامج الأوفيس أو الايميل ومين منا مابيعرف Grammarly بهاد المنشور رح نغطي فقط الأخطاء الإملائية وليس الأخطاء النحوية.
كيف يعمل التصحيح التلقائي؟
1: تحديد الكلمة التي بها أخطاء إملائية :
إذا تم تهجئة الكلمة بشكل صحيح، فسيتم العثور على الكلمة في القاموس وإذا لم تكن كذلك، فمن المحتمل أن تكون كلمة بها أخطاء إملائية. لذلك، عندما لا يتم إعطاء كلمة في القاموس، فإننا نضع علامة عليها لتصحيحها.
2: البحث عن المسافة n لتحرير (تعديل) السلاسل النصية :
التحرير هو عملية يتم إجراؤها على سلسلة نصية لتحويلها إلى سلسلة أخرى، وn هي مجرد مسافة التحرير التي تحسب عدد عمليات التحرير. لذلك، تخبرنا مسافة التحرير n عن عدد العمليات التي تبعد سلسلة واحدة عن أخرى. فيما يلي أنواع التعديلات المختلفة:
• أدخل (أضف حرف)
• حذف (إزالة حرف)
• استبدال (تغيير حرف واحد إلى آخر)
3: تصفية المرشحين :
نحن نريد فقط النظر في الكلمات الحقيقية المكتوبة بشكل صحيح من قائمة المرشحين لدينا، لذلك نقارن الكلمات بقاموس معروف (كما هو الحال في رقم 1) ونقوم بتصفية الكلمات الموجودة في قائمة المرشحين التي لا تظهر في القاموس المعروف.
4: حساب احتمالات الكلمات :
من خلال قائمة الكلمات الفعلية الخاصة بنا، يمكننا حساب احتمالات الكلمات والعثور على الكلمة الأكثر احتمالًا من المرشحين لدينا. يتطلب هذا معرفة تكرارات الكلمات والعدد الإجمالي للكلمات في مجموعة الكلمات.
عند إجراء التصحيح التلقائي، يجب أن نجد الكلمة المرشحة التي لها أعلى احتمالية واختيار تلك الكلمة لتكون البديل.
الحد الأدنى لتحرير المسافة:
رأينا أعلاه كيفية تطبيق التصحيح التلقائي باستخدام مسافة التحرير، ومع ذلك، عندما يتم منحنا كلمات متعددة أو مستندات كاملة، يمكننا أيضًا استخدام الحد الأدنى لمسافة التحرير لتقييم مدى تشابهها. في الواقع، هناك العديد من المواقف التي يمكن فيها تطبيق الحد الأدنى لمسافة التحرير، على سبيل المثال:
(التصحيح الإملائي - تشابه المستندات - الترجمة الآلية - تسلسل الحمض النووي والمزيد ...)
يوجد أدناه تطبيق عملي لحساب الحد الأدنى لمسافة التحرير.
شكرا للقراءة….
مرحبا، اليوم السبت يعني صار وقت نحكي عن التعلم العميق 💜
ما هي الشبكة العصبية؟ يتكون دماغ الإنسان من 100 مليار خلية تسمى الخلايا العصبية ، متصلة ببعضها البعض بواسطة نقاط الاشتباك العصبي. إذا كانت هناك مدخلات متشابكة كافية لتفعيل خلية عصبية ، فإن تلك العصبونك تتفعل أيضًا. نسمي هذه العملية "التفكير".
رح نفهم أكتر بس نفتح الصور
الكود كاملاً موجود ع الرابط :
https://github.com/Artificial-Intelligece-MODEL/DeepLearning/blob/main/NN.py
مرحبا جميعا 👏
حكينا في الأسابيع الماضية عن أساسيات تعلم الآلة
و تطرقنا إلى موضوعين مهمين جدا
هما ال regression وال classification
حكينا شو الفرق بيناتن بالتفصيل
وقلنا انو إذا بدنا مودل تصنيف classifier
في عنا خوارزميات كتير لنطبقها
منها ال knn اللي انشرحت الأسبوع الماضي
واليوم رح نحكي عن خوارزمية جديدة اللي خوارزمية آلة متجهات الدعم Support Vector Machine أو اختصارا SVM
شرح الخوارزمية رح يكون على مدار أسبوعين بسبب العمق الشديد في المعادلات الرياضية والبرمجة الخطية
اليوم رح نحكي جزء والأسبوع الجاي منكمل
افتحوا الصور لنبلش 😊
ملاحظة : الصور من كورس تعلم الآلة الخاص ب IBM على كورسيرا
الصورة الاولى من كورس StatQuest على يوتيوب عن support Vector machine
مرحبا .. وكل عام وأنتو بألف خير ❤️
تعو اسمعو هالقصة بدال مسرحيات العيد المكررة
كنت عم اشتغل ع مشروع وابني مودل بعد الانتهاء من التدريب للمودل اكتشفت انو دقة المودل 100% 🤔 شي عظيم .. بس اختبرت المودل ع بيانات جديدة ما اتدرب المودل عليا كانت النتيجة صادمة وما عرف الجواب يعني كانت إجابة المودل خاطئة هي الحالة منسميها overfitting بتشبه الطالب يلي حافظ مش فاهم (بيدرس من الكتاب وبيحفظ كل حرف وبالامتحان إذا كان السؤال من خارج الكتاب ما بيعرف يجاوب)
يعني هون المودل اذا قدمتلو دخل من البيانات يلي اتدرب عليا رح يعطي جواب صحيح أما البيانات يلي رح تكون جديدة وما اتدرب عليا رح يعطي جواب غلط ..
بعد البحث والتحري اكتشفت أنو البيانات قليلة ولهاد السبب ظهرت هي المشكلة مع العلم جمعت أكبر كمية ممكنة من البيانات ... لهيك المشروع برأيي فشل لحتى فاق الخبير يلي جواتي 🧐
وقلي زيد البيانات يلي عندك من البيانات يلي عندك .. ورجع نام 🙂
ما فهمت شي طبعا وصرت دور عالنت كيف بدي زيد البيانات يلي عندي من البيانات يلي عندي!
كمان بعد البحث والتحري اكتشفت أنو فعلا فيني زيد البيانات من البيانات .. كيف؟
في شي اسمو Data augmentation (زيادة البيانات)
تعتمد زيادة البيانات على نهج إنشاء بيانات تدريب إضافية من البيانات الموجودة لديك عن طريق زيادتها باستخدام تحويلات عشوائية تنتج صوراً ذات مظهر معقول .
سنقوم بتنفيذ زيادة البيانات باستخدام طبقات المعالجة المسبقة لـ Keras التالية: tf.keras.layers.RandomFlip و tf.keras.layers.RandomRotation و tf.keras.layers.RandomZoom. يمكن تضمينها داخل نموذجك مثل الطبقات الأخرى ، وتشغيلها على وحدة معالجة الرسومات.
دعنا نتخيل كيف تبدو بعض الأمثلة المعززة من خلال تطبيق زيادة البيانات على نفس الصورة عدة مرات
بالصور رح نشوف الكود بالإضافة للنتائج:
You say that money cannot buy happiness ?
Habibi come to Dubai ❌
Habibi come to ✅
طرق حساب التشابه بين المستندات النصية (Similarity):
محركات البحث تم تصميمها للبحث عن المستندات ذات العلاقة فيما بينها، من خلال البحث عن كلمات مشابهه أو مطابقة طيب شو الطريقة الرياضية يلي منعرف فيها انو كلمتين متشابهين أو متقاربين بالمعنى أو تنيناتن بنفس المجال؟؟ خلينا نشوف..
نحنا منعرف انو فينا نمثل الكلمات بطريقة رقمية باستخدام المتجهات vectors طيب كيف فينا نحسب التشابه او التقارب بين هي الكلمات أذا تمثلت كل كلمة ك vector في فضاء المتجهات؟؟
رح نحكي عن طريقتين لحساب التقارب الأولى هي حساب المسافة الاقليدية بين متجهين Euclidean Distance والثانية هي حساب جيب التمام Cosine Similarity للزاوية بين المتجهين.
لنفرض عنا داتا في عدد من المستندات وكل مستند في عدد من الكلمات تابعين الو بهي الحالة فينا نمثل بشكل بياني على شكل متجه كل كلمة بهي المستند حسب عدد مرات ظهورها فيه.
لنحسب التقارب بين متجهين ببساطة فينا نعتمد على نظرية فيثاغورث بهي الطريقة فينا نحسب المسافة بين متجهين وبالتالي منعرف إذا هني متقاربين بفضاء المتجهات أو لاء (موضح بالصور).
طيب هون في عنا مشكلة على فرض حجوم المستندات مانا متقاربة بالتالي رح ينتج عنا متجهات بأطوال كتير مختلفة مثلا (الداتا بالمستند الأول كبيرة وبالتاني صغيرة) هيك حساب المسافة الاقليدية مارح يكون صحيح بكل الأوقات وممكن ينتج عن هل الشي أنو كلمتين ما الهن صلة ببعض يكونوا متقاربين؟؟
من هون اجت طريقة حساب جيب التمام (Cosine) للزاوية بين المتجهين ولما بتكون الزاوية قيمتها صغيرة معناها الكلمتين متقاربين وإذا كانت الزاوية كبيرة بتكون الصلة بين الكلمتين أقل.
مرحبا، كل عام وأنتو بألف خير يارب ❤
رح نصير نحكي يوم السبت عن التعلم العميق والشبكات العصبية، إلها كتير تطبيقات واستخدامات بمجالات وأفرع الذكاء التانية بحيث نحصل على نتائج أفضل، رح نتعلم بناء شبكات عصبية من الصفر لحتى نقدر نستخدمها بتطبيقاتنا المختلفة.
بداية يمكن أن يقدم التعلم العميق، عند تطبيقه على علوم البيانات، نماذج معالجة أفضل وأكثر فعالية. تؤدي قدرتها على التعلم بدون إشراف إلى التحسين المستمر في الدقة والنتائج. كما يوفر لعلماء البيانات نتائج تحليل أكثر موثوقية وإيجازًا.
التعلم العميق هو نوع من التعلم الآلي والذكاء الاصطناعي (AI) الذي يقلد الطريقة التي يكتسب بها البشر أنواعًا معينة من المعرفة. يعد التعلم العميق عنصرًا مهمًا في علم البيانات، والذي يتضمن الإحصاء والنمذجة التنبؤية. إنه مفيد للغاية لعلماء البيانات المكلفين بجمع وتحليل وتفسير كميات كبيرة وضخمة من البيانات؛ التعلم العميق يجعل هذه العملية أسرع وأسهل
تمر برامج الكمبيوتر التي تستخدم التعلم العميق بنفس العملية التي يتعلم بها الطفل الصغير للتعرف على الكلب أو قطة أو شجرة. تطبق كل خوارزمية في التسلسل الهرمي تحويلًا غير خطي على مدخلاتها وتستخدم ما تتعلمه لإنشاء نموذج إحصائي كمخرج. تستمر التكرارات حتى يصل الإخراج إلى مستوى مقبول من الدقة. إن عدد طبقات المعالجة التي يجب أن تمر البيانات من خلالها هو ما ألهم التسمية "عميق".
في التعلم الآلي التقليدي، يتم الإشراف على عملية التعلم، ويجب أن يكون المبرمج محددًا للغاية عند إخبار الكمبيوتر بأنواع الأشياء التي يجب أن يبحث عنها ليقرر ما إذا كانت الصورة تحتوي على كلب أم لا. هذه عملية شاقة تسمى استخراج الميزات، ويعتمد معدل نجاح الكمبيوتر كليًا على قدرة المبرمج على تحديد مجموعة ميزات للكلب بدقة. ميزة التعلم العميق هي أن البرنامج يبني الميزة التي حددها بنفسه دون إشراف. التعلم غير الخاضع للإشراف ليس فقط أسرع، ولكنه عادة ما يكون أكثر دقة.
نظرًا لأن نماذج التعلم العميق تعالج المعلومات بطرق مشابهة للدماغ البشري، فيمكن تطبيقها على العديد من المهام التي يقوم بها الأشخاص. يستخدم التعلم العميق حاليًا في معظم أدوات التعرف على الصور الشائعة ومعالجة اللغة الطبيعية (NLP) وبرامج التعرف على الكلام. بدأت هذه الأدوات في الظهور في تطبيقات متنوعة مثل السيارات ذاتية القيادة وخدمات الترجمة اللغوية.
تشمل حالات الاستخدام اليوم للتعلم العميق جميع أنواع تطبيقات تحليلات البيانات الضخمة ، لا سيما تلك التي تركز على البرمجة اللغوية العصبية وترجمة اللغة والتشخيص الطبي وإشارات تداول سوق الأوراق المالية وأمن الشبكة والتعرف على الصور.
أكبر قيود على نماذج التعلم العميق هو أنها تتعلم من خلال ما تلاحظه ضمن البيانات المقدمة لها. هذا يعني أنها تتعرف فقط على ما هو موجود في البيانات التي تدربت عليها. إذا كان لدى المستخدم كمية صغيرة من البيانات أو أنها تأتي من مصدر واحد محدد لا يمثل بالضرورة المجال الوظيفي الأوسع، فلن تتعلم النماذج بطريقة قابلة للتعميم.
منجي ع الشي المهم،شو الفرق بين التعلم اللآلي والتعلم العميق؟
التعلم العميق هو مجموعة فرعية من التعلم الآلي الذي يميز نفسه من خلال الطريقة التي يحل بها المشاكل. يتطلب التعلم الآلي خبيرًا في المجال لتحديد أكثر الميزات المطبقة. من ناحية أخرى ، يتفهم التعلم العميق الميزات بشكل تدريجي ، وبالتالي يلغي الحاجة إلى خبرة المجال. هذا يجعل خوارزميات التعلم العميق تستغرق وقتًا أطول للتدريب من خوارزميات التعلم الآلي ، والتي لا تحتاج سوى بضع ثوانٍ إلى بضع ساعات. ومع ذلك ، فإن العكس هو الصحيح أثناء الاختبار. تستغرق خوارزميات التعلم العميق وقتًا أقل لتشغيل الاختبارات مقارنة بخوارزميات التعلم الآلي ، التي يزيد وقت اختبارها جنبًا إلى جنب مع حجم البيانات.
منشور جديد اليوم فكرة جديدة شغل معالجة الصورة بشكل كامل رح نحكي اليوم عن المرشحات وكيف فيني طبقن عن طريق ال
تستخدم المرشح من اجل اما تحسين الصورة اوالتخلص من الضبابي ضمن الصورة و تاثير ال blurاو ممكن ان يكون بلعكس لجعل الصورة اكثر ضبابية ويمكن جعل الصورة مموها ويقلل التمويه blur من أنواع معينة من التشويش في الصورة. لهذا السبب ، غالبًا ما يُشار إلى التمويه على أنه تنعيم ويستخدم بشكل أساسي في تطبيقات ال
يتم تطبيق المرشح عن طريق قناع هو عبارة عن مصفوفة مربعة اما ان تكون 2*2 او 3*3 او 4*4 نقوم بتمرير القناع على كل بكسل من بكسلات الصورة في كل بكسل نقوم بتطبيق القناع على هذا البكسل من خلال ضرب كل عنصر من القناع مع مقابله من الصورة وبعدها نقوم اما بايجاد المتوسط او الوسيط او أي عملية أخرى غيرها لهذه القيم بعدها نستبدل قيمة البكسل في الصورة بالقيمة الناتجة وبتالي نكون قد اثرنا على الصورة بتمرير هذا الماسك على الصورة
مرشح ال blur:
cv2.blur(image, ksize)
image : الصورة
Ksize :حجم القناع
مرشح الغوصي كما ذكرنا سابقا ان القناع سوف يمر على جميع البكسلات في الصورة هنا التأثير يتم على القيم القريبة من النواة فقط وان تاثير هذا المرشح في الغاء بعض أنواع الضجيج مثل الملح و الفلفل وغيرها وكلما كانت القناع اكبر كان تاثيره اقل بارمتراته:
cv2.GaussianBlur(src, ksize, sigma_x, dst, sigma_y, border_type)
Src: الصورة الاصلية
Ksize: حجم القناع
sigma_x: الانحراف المعياري التأثير باتجاه المحور x
Dst: الصورة النهائية
sigma_y: الانحراف المعياري التأثير باتجاه المحور y
border_type: حواف الصورة
مرشح الوسيط : بعد تطبيق القناع على بكسل معين من االصورة يتم استخدام القيمة الوسيط زفق التعليمة
cv2.medianBlur(image, ksize)
image : الصورة
Ksize :حجم القناع
مرشح الثنائي : من المعلوم ان التمويه في الصورة هو وسيلة لتقليل من التشويش الموجود في الصورة ولكن في بعض الاحيان يتم فقد الاجزاء المهمة في الصورة لذلك يتم استخدامه وهو عبارة عن تمويه غوصي ثنائي البعد
cv2.bilateralFilter(image, dst, d, sigmaColor, sigmaSpace)
"قل لي من ترافق أقل لك من أنت"
الكل سمعان بهالمتل الرائع
بس شو علاقته بالذكاء الاصطناعي وليش صفحة مختصة بالذكاء الاصطناعي بدها تحط هيك متل ببداية البوست ؟؟!!!!!!
بصراحة هاد المتل يلخص خوارزمية من أهم خوارزميات تعلم الآلة اللي هي خوارزمية أقرب الجيران
لحتى تعرفوا كيف وليش
تابعوا البوست
ملاحظة: الصور من كورس تعلم الآلة المقدم من IBM # على Coursera #
مرحبا 🥳اليوم رح نحكي عن موضوع لطيف وأسئلة خطرت ع بالنا 🤓 (اذا عندكن أسئلة لا تخجلوا 🥱)
الموضوع صار كالتالي كنت عم اشتغل ع مشروع و لازم درب مودل يصنف تلت أمراض تنفسية وحدة منهن الكورونا كش برا وبعيد عن طريق الصور الشعاعية ..
المهم لما بنيت الشبكة بلش التدريب والشغل تمام بس شو المشكلة انو خلال التدريب بتوصل دقة التدريب لل 98.5% بنهاية تكرار من التكرارات وبعدين بترجع بتنزل وبتوصل لل 96 % هون صار يخطرلي ليش ما بقلل عدد مرات التدريب! هاد الشي يلي ممكن يخطر لمبتدئ متلي 🤗 والله وبلشت قلل التكرارات وارجع درب واستنى تنعاد العملية يلي بتاخد ساعات وارجع زيد عدد مرات التكرار وهيك زيد ونقص عدد التكرارات واستنى التدريب بالساعات لحتى فاق الخبير يلي جواتي 🧐 وقال لك حبيبي بدي ضل علمك!
ليش ما بتعمل تابع وتستدعيه ليوقفلك التدريب بس توصل الدقة للقيمة يلي بدك ياها! - حكا هالكلمتين ورجع نام 😴
وانا بلشت دور ع هيك شي طلع موجود اسمو callback موجود بمكتبة tensorflow هاد ما بس بوقف تدريب ,هاد بخليك تعمل أي شي لما يبلش التدريب أو لما ينتهي أو لما يبدأ الاختبار أو ينتهي أو لما يبلش تكرار أو ينتهي أو لما (كلهن سوا) يعني تابع مسبع الكارات موجود ب package اسما callbacks بفريم وورك اسما keras.
هلا ال callback هو صنف يعني نحنا لما بدنا نبني شي لمشروعنا لازم نبني صنف تاني مثلا اسمو mycallback ونخلي صنفنا يرث من صنفهن من callback 😁 وضمن صنفنا رح نبني تابعنا لما يوصل للقيمة 98.5% يوقف التدريب ..
رح نشوف مثال مشابه افتحو الصور 😌😉
بمنشور اليوم المخصص ل NLP رح نحكي عن مشكلتين ونقترح حلول الهن.. وكمان في تحدي صغير وممتع بالأخر المنشور طويل شوي بلش تقرأ وبوعدك تكفي للأخر ..
المشكلة الأولى:
بمنشور سابق شفنا كيف استخدمنا (Bag of words) لترميز المستند بشكل متجه (vector) [0,0,1,1,1] حسب المفردات (vocabulary) وبكون طول المتجه الناتج بطول عدد الكلمات الموجودة ب(vocabulary) ولما بدنا نطبق هل الشي على مشكلة من الواقع (المفردات عددها كبير) وبالتالي رح يكون المتجه بطول كبير وعدد أصفار كتير كبير وهاد يعني زمن تدريب (training) كبير وزمن تنبؤ (prediction) كبير وحرج لهل السبب رح نقترح طرق معالجة أخرى لتمثيل الكلمات بشكل أفضل (أقل عدد ممكن من المميزات) اللي منسميها (Features):
Managing Vocabulary(Ngrams):
إدارة المفردات بحيث كل كلمة أو رمز تسمى "gram" ويمكن تكوين المفردات من كلمة (unigram)وهي نفسا (bag of words) أو زوجين من الكلمات (bigram) او ثلاثة أزواج (trigram) على سبيل المثال لنأخذ ترميز (bigram) للجملة التالية: " أنا سعيد لأنني أتعلم "
يتم تكوين المفردات بالشكل التالي: " انا سعيد" – "سعيد لأنني" – "لأنني أتعلم".
Term Frequency:
تردد المدى وهي طريقة لحساب تردد أو تواتر ظهور الكلمة في المستند كما يلي:
TF =TW/TD
TW : عدد مرات ظهور الكلمة في المستند
TD : عدد الكلمات في المستند.
Term Frequency- Inverse Document Frequency:
تردد المدى - تردد المستند العكسي للاختصار (TF-IDF) تكمن المشكلة في الطريقة السابقة (TF) بأن الترميز الممثل بالتردد الأعلى ليس بالضرورة ان يحمل "معلومات هامة" بل يمكن ان يكون التردد الأعلى لكلمة (في) مثلا في اللغة العربية من هنا أتت هذه الطريقة لمعاقبة مثل هذه الكلمات وتحسب كما يلي: (TF-IDF =TF*IDF)
TF:
هو تواتر ظهور الكلمة في المستند ويتم حسابه كما في الطريقةالسابقة
IDF :
هو عبارة عن سجل لمدى ندرة الكلمة عبر المستندات ويحسب بالشكل التالي :
IDF = Loge(TD/TDW)
TD : عدد المستندات الكلي
TDW : عدد المستندات التي تحوي الكلمة
( ملاحظة : جرب حط 3 جمل (مستندات) من اختيارك استخرج منن حقيبة المفردات وجرب القوانين السابقة لاستخراج المميزات ).
المشكلة الثانية:
لما بدنا نعمل معالجة للداتا لتصير جاهزة للتدريب عادة الكود بيكون تابع (function) مكتوب بلغة python للمعالجة منطبقو على داتا التدريب لتصير جاهزة وندرب المودل ولما بدنا نروح على مرحلة (production) استخدام المودل في تطبيق ويب مثلا هون ممكن نتعامل مع لغة برمجة تانية (JavaScript) على سبيل المثال ممكن نواجه مشكلة بتجهيز الداتا للمودل في مرحلة التنبؤ (prediction)
لهيدا السبب مراحل المعالجة للداتا إذا أمكن تكون كطبقات داخل المودل هيدا الشي ما بخلينا نعاني بمرحلة ال production
بالمثال الموجود بالصور رح نعرض الحل للمشكلتين اللي حكينا عنن.
وأخيرا وصلنا للتحدي: رح نعطي تمرين بسيط بس كتير مهم رح نجرب نكتب تابع بقارن بين كلمتين وبشوف إذا الكلمتين (Anagrams) أو لا.
(Anagram words):
هي كلمات الها نفس الاحرف ونفس عددها بس بترتيب مختلف مثال
ورد - دور
جربوا الحل وحطو الصور بالتعليقات.
رمضان كريم ...
Click here to claim your Sponsored Listing.
Category
Telephone
Address
Dubai
Opening Hours
Monday | 08:00 - 21:00 |
Tuesday | 08:00 - 09:00 |
Friday | 10:00 - 21:00 |
A4-311. Dubai Digital Park, Dubai Silicon Oasis
Dubai, 341352
We are an Enterprise Linux and Open Source Solution provider for businesses in Dubai and Abu Dhabi,
Office 311, Al Fajer Complex (Home R Us Bldg) , Umm Hurair Road, Oud Metha
Dubai
Pinnacle Computer Systems LLC is an IT Systems Integration, Telephony and Software Solutions (ERP/CR
Al Falak Street/Dubai Internet City
Dubai
Ingram Micro Gulf is the Middle East and Africa’s largest technology Value-Added distribution.
Internet City
Dubai
Founder of ShezTech Pvt. Ltd Innovative Consultant Internet Marketer/Strategist Web / Software Designer www.sheztech.pk www.sheztechinnovation.com
Office No 113, Ahbabi Building, Damascus Street, Al Qusais 2
Dubai
Dos Code Technology is one of the fastest growing company in Dubai, We deliver a broad range of Solution and Services.
52A, Al Khubaisi Building, Al Rigga
Dubai, 00000
Al Arawae is leading to business automation, technology services, and digital transformation. From
Gargash Center/Dubai/UAE
Dubai, 0000
ZKTECO Distributor, Dahua CCTV Camera , POS , Biometrics , security equipment
Dubai Silicon Oasis, DDP, Building A1
Dubai
Kalam is a Future Group Company & a world-class virtual BPO & Customer experience leader
Burdubai
Dubai
Comprehensive Cybersecurity Solutions Distribution. aiMSSP, aiSIEM, aiXDR, VMS, FIM, PEN Test, PAM,
DSO-IFZA, Dubai Digital Park, Dubai Silicon Oasis
Dubai
We have built an 8,000 square foot eco-friendly high performance computing Data Centre
Ras Al Khor, Manama Street, Asmawy Building
Dubai, 00000
Technical Services L.L.C
Al Raffa BurDubai
Dubai, 241772
Cerebral Computers offers an efficient & high quality IT support service whilst delivering overall reduced costs for your IT department. Reach us now on 0555596825