اذهب إلى المحتوى

Mustafa Suleiman

الأعضاء
  • المساهمات

    14889
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    393

كل منشورات العضو Mustafa Suleiman

  1. الدورة يتم تحديثها كل فترة، وأيضًا إضافة محتوى جديد أحيانًا، لذا من الممكن بالطبع أن يتم إضافة دروس خاصة بالشبكات التوليدية المتعادية GANs. وللتوضيح ذلك نوع من الشبكات العصبية التي تتكون من مولد Generator و مُميّز Discriminator. والمُولد هو شبكة عصبية تُدرّب لإنشاء بيانات جديدة تشبه البيانات الأصلية، والـ Discriminator شبكة عصبية تُدرّب لتمييز البيانات الحقيقية من البيانات المُولّدة. والآلية كالتالي: تدريب المولد والمُميّز معًا في عملية تنافسية. يحاول المولد إنشاء بيانات جديدة تبدو حقيقية قدر الإمكان. يحاول المُميّز تمييز البيانات الحقيقية من البيانات المُولّدة. يتنافس المولد والمُميّز معًا لتحسين أدائهما. يُصبح المولد أفضل في إنشاء بيانات حقيقية، بينما يُصبح المُميّز أفضل في تمييز البيانات المُولّدة. مثلاً استخدام GANs لإنشاء صور واقعية للوجوه، والحيوانات، والمناظر الطبيعية، ولتحسين جودة الصور المنخفضة الدقة، لإنشاء فيديوهات واقعية، لترجمة اللغات بشكل أكثر دقة ولإنشاء موسيقى جديدة.
  2. طالما لديك حساب على منصة Kaggle تستطيع المشاركة في المسابقة، عليك تفقد المسابقات competitions ثم إختيار إحداها والضغط على join competition ثم تحميل الـ Dataset والبدء في تنفيذ المطلوب، ثم تقديم ما قمت به. وتستطيع إنشاء فريق أو الإنضمام لفريق قائم بالفعل بتقديم طلب. وهنا يوجد مسابقة للمبتدئين للتجربة والتعلم وهي غير تنافسية ولا يوجد بها جوائز: https://www.kaggle.com/c/digit-recognizer وهنا يوجد تفصيل عن المسابقات: https://www.kaggle.com/docs/competitions
  3. تلك ليست بيانات خاصة بالوقت الحقيقي، بل هي بيانات تم تجميعها وإعدادها مسبقًا. تحليل البيانات في الوقت الحقيقي يعني معالجة البيانات وتحليلها فور وصولها، دون أي تأخير، أي يجب أن يكون لديك مصدر بيانات يوفر بيانات جديدة بشكل مستمر، والأمر بحاجة إلى بنية تحتية قوية قادرة على معالجة البيانات بسرعة كبيرة. فمثلاً لتحليل بيانات تطبيق التواصل الاجتماعي في الوقت الفعلي ستقوم باستخدام تقنيات البث Streaming مثل Apache Kafka أو Apache Flume لجمع البيانات من مصادر متعددة في الوقت الفعلي. ثم معالجة البيانات من خلال Apache Storm أو Google Cloud Dataflow أو AWS Lambda. ثم تحليل البيانات في الوقت الفعلي من خلال Apache Druid أو Amazon Redshift أو Google BigQuery أو Tableau. وللحصول على معلومات أعمق عن البيانات ستحتاج إلى استخدام الـ Machine Learning.
  4. لا توجد طريقة مضمونة بنسبة 100%، حيث يمكن لشخص شرائها ثم توزيعها بدون مشكلة، كل ما يمكنك فعله هو حذف الروابط التي يوفرها والإبلاغ عنها وسيتم حذفها بموجب حقوق الملكية.
  5. حددت margin: auto لعنصر form وسيتم توسيطه بذلك أفقيًا، أما رأسيًا، فستحتاج إلى استخدام flex وتحديد طول للعنصر الأب وهو section كالتالي: section { display: flex; height: 100%; } أيضًا نسيت تحديد خاصية display: flex لعنصر form: form { width: 300px; height: 300px; display: flex; align-items: center; justify-content: center; margin: auto; background-color: azure; }
  6. الأمر يحتاج إلى إيضاح تاريخ تطوير كل من اللغتين، تم تطوير لغة R في أواخر الثمانينيات وأوائل التسعينيات من قبل روس إينكسلوت و روبرت جينتلمن في جامعة أوكلاند بنيوزيلندا، وكان كلاهما أستاذًا في الإحصاء، وشعرا بعدم الرضا عن برامج الإحصاء المتاحة في ذلك الوقت. وكان إينكسلوت وجينتلمن غير راضين عن قيود وصعوبات استخدام برامج مثل S و SAS و SPSS، التي كانت شائعة في ذلك الوقت، بحيث أرادوا منصة أكثر مرونة وقابلية للتخصيص وسهولة الاستخدام لتحليل البيانات الإحصائية. ففكروا في إنشاء بديل مجاني ومفتوح المصدر لبرامج الإحصاء التجارية، التي كانت غالبًا باهظة الثمن ومقيدة، واعتقدوا أن برامج الإحصاء يجب أن تكون متاحة للجميع، بغض النظر عن قدراتهم المالية. كان اسم R في الأصل R-0.49 لأن إينكسلوت وجينتلمن أرادا إيصال أنه "إصدار 0" من اللغة، مع العديد من التحسينات القادمة. وكانت لغة بايثون موجودة في ذلك الوقت، حيث تم إصدار أول إصدار من بايثون في عام 1991، قبل أربع سنوات من إصدار أول إصدار من R. ولكن، في ذلك الوقت، لم تكن بايثون شائعة الاستخدام في مجال تحليل البيانات كما هي الآن، فكانت تُستخدم بشكل أساسي في مجالات أخرى مثل تطوير الويب وتطوير البرامج. وبدأ استخدام بايثون في مجال تحليل البيانات بشكل كبير في أواخر التسعينيات وأوائل الألفية الجديدة، مع ظهور مكتبات مثل NumPy و Pandas و Scikit-learn. لذا بايثون هي الخيار الأول حاليًا وتستطيع استخدامها في مجالات مختلفة.
  7. ستحتاج إلى تعلم أساسيات جافاسكريبت وJQuery قبل تنفيذ ذلك المشروع، حيث سنستخدم به كلاهما. أيضًا أنصحك بتعلم المزيد من أساسيات جافاسكريبت بدراسة المسار الأول من دورة "تطبيقات جافاسكريبت" فهو متاح لك بشكل مجاني وبه تفصيل أكثر، ومن الأفضل لو قمت بالبحث على اليوتيوب عن مشاريع جافاسكريبت للمبتدئين وقمت بالتطبيق على أحدهم. بعد ذلك تستطيع الإنتقال ومتابعة بقية المسارات في دورة تطوير واجهات المستخدم.
  8. أنت تقصد خاصية لعرض تقدمك في الدورة وأين توقفت، ستجد بجانب الدروس التي لم تشاهدها علامة دائرة زرقاء أما التي شاهدتها فلن تجد بجانبها تلك العلامة. في حال قمت بالضغظ على زر حدد الموقع كمقروء بالخطأ، فستختفي تلك العلامات ويصبح الموقع بكامله مُحدد على أنه تم قراءته. على أي حال تستطيع إنشاء ملف نصي على سطح المكتب، ونسخ اسم المسار والدرس الذي توقفت عنده ووضعه به لتتذكر عن العودة، رغم أنه يجب الدراسة بشكل متصل في البداية.
  9. بالطبع والأمر يندرج تحت مفهوم الـ Clean code، ومما يساعد على ذلك: كتابة كود نظيف، مختصر، وذو بنية جيدة فمثلاً لو استخدمت مبادئ SOLID ستحقق ذلك. استخدام أسماء متغيرات ذات معنى وتعليقات واضحة اختيار هياكل البيانات المناسبة للمهمة. اختبار وتصحيح أخطاء الكود بشكل شامل مراجعة الكود بانتظام، بما في ذلك المراجعات من قبل فريق العمل اتباع أفضل الممارسات استخدام الأدوات والأطر التي تعزز جودة الكود والاهتمام بالتفاصيل ستجد تفصيل هنا:
  10. وظيفة الدالة G هي حساب قيم معينة حسب قيم a و b الممررة للدالة عند الاستدعاء، وتستخدم شروطًا وحلقات تكرارية لتحديث المتغيرات وإرجاع النتائج. بداخلها يتم تعيين المتغير T إلى 0 والمتغير M إلى 1. في الحلقة الأولى الخارجية يحدث تكرار للحلقة a مرات أي حسب قيمة a، ثم تعيين قيمة "i" إلى كل قيمة في نطاق من 1 إلى a. في الحلقة الثانية يحدث تكرار لها b+1 مرات بمعنى قيمة b مضاف لها 1، ثم تعيين قيمة j إلى كل قيمة في نطاق من 1 إلى b+1. وداخل تلك الحلقة أي الحلقة الثانية الداخلية يوجد شرط "j % 2 != 0" ويعني (هل j غير زوجي؟). إن كان الشرط صحيحًا، يتم تنفيذ الكود داخل الشرط، وتحديث المتغيرات: يتم تحديث قيمة i إلى i+j. يتم تحديث قيمة T إلى T+i+j. يتم تحديث قيمة M إلى M+T//2+j%i. بعد ذلك إرجاع القيم i, j, T, M من الدالة بواسطة return. للتوضيح، لنفترض أن a = 2 و b = 3 الحلقة الخارجية ستُكرر مرتين (لأن a = 2). والحلقة الداخلية ستُكرر أربع مرات في كل تكرار من الحلقة الخارجية (لأن b+1 = 4). بالتالي سيتم تنفيذ الكود داخل الحلقة الداخلية 8 مرات (2 تكرارات للحلقة الخارجية * 4 تكرارات للحلقة الداخلية).
  11. أظن ما تقصده هو مكتبة لإدارة البريد الإلكتروني في موقعك عند إرسال العملاء رسالة إليك، لديك Resend واستخدم معها React Email.
  12. الأمر يعتمد على نوع البيانات ونوع العلاقة التي تريد عرضها، حيث يوجد التالي: رسم بياني نقطي Scatter Plot لعرض العلاقة بين متغيرين رقميين، فكل نقطة على الرسم البياني تمثل قيمة لمتغيرين، ويُظهر ذلك الاتجاهات، مثل العلاقة الخطية أو غير الخطية، ودرجة التشتت. رسم بياني خطي Line Chart لعرض الاتجاه في البيانات على مدى فترة زمنية، لإظهار التغيرات في البيانات على مدار الوقت، مثل نمو المبيعات أو انخفاض الأسعار. رسم بياني شريطي Bar Chart لعرض مقارنة بين فئات مختلفة، لتوضيح حجم كل فئة، مثل عدد الطلبات في كل شهر. أو رسم بياني دائري Pie Chart لعرض أجزاء من الكل، لتوضيح نسبة كل فئة إلى الكل، مثل نسبة المبيعات لكل منتج. رسم بياني حرارة Heatmap لعرض العلاقة بين متغيرين رقميين باستخدام الألوان، لتحديد المناطق ذات القيم العالية أو المنخفضة، مثل المناطق ذات الكثافة السكانية العالية أو المنخفضة. لديك أدوات مثل Tableau Public أو Plotly لتنفيذ ما سبق.
  13. لا يوجد فرق جوهري كلاهما يحسبان المتوسط الحسابي لمجموعة من البيانات. mean في Pandas مصممة خصيصًا للعمل مع DataFrames و Series وتستطيع استخدامها لحساب المتوسط لعمود معين في DataFrame أو لسلسلة كاملة. وستجد أنها تعالج قيم NaN بتجهالها وأيضًا تستطيع تحديد الـ axis بها. import pandas as pd data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]} df = pd.DataFrame(data) mean_A = df['A'].mean() print(f"Mean of column 'A': {mean_A}") mean_all = df.mean() print(f"Mean of all columns: {mean_all}") و average في NumPy مصممة للعمل مع Arrays لحساب المتوسط لجميع العناصر في Array أو لجزء معين منه. ولا تعالج قيم NaN بشكل إفتراضي، ولا تستطيع بها استخدام الـ axis . import numpy as np arr = np.array([1, 2, 3, 4, 5]) average_all = np.average(arr) print(f"Mean of all elements: {average_all}") average_part = np.average(arr[1:3]) print(f"Mean of elements from 1 to 3: {average_part}")
  14. في البداية عليك تحديد التخصص البرمجي حسب سوق العمل الذي تستهدفه سواء عن بُعد أو محليًا لديك، بالبحث عن الوظائف والمهارات المطلوبة ومستوى الخبرة. بعد ذلك تعمل على تعلم تلك المهارات تدريجيًا وبناء معرض أعمال يثبت ذلك، تستطيع تعلم أساسيات البرمجة من خلال أي لغة برمجية، بالطبع من الأفضل لو تعلمت من خلال جافا أو C# أو C++. لكن تلك اللغات ليست مناسبة للجميع والبعض يصاب بالإحباط منها وأيضًا الأمر بحاجة إلى إمتلاكك للوقت الكافي للتأسيس بلغة مختلفة عن اللغة المطلوبة في مسارك البرمجي الذي اخترته. لذا بايثون أو جافاسكريبت أسهل في البداية وهما الأكثر استخدامًا حاليًا يليهم جافا ثم C#. ومن المفيد أن تتعلم أساسيات علوم الحاسوب فهي مهمة خصوصًا لمطور الواجهة الخلفية، ابحث على اليوتيوب عن CS50 فهي جيدة كبداية. ما يخص الواجهة الخلفية في الدورة هي المسارات التالية: أساسيات لغة JavaScript أساسيات Node.js تطوير تطبيق جوال باستخدام React Native (الجزء الخاص بالخادم) تطبيق دردشة يشبه WhatsApp (الجزء الخاص بالخادم) أساسيات TypeScript أساسيات GraphQL ولن تحتاج إلى تعلم CSS إلا في حال كنت ستعمل على مشاريع بمفردك فتعلم الأساسيات فقط، أما HTML فستحتاج إلى تعلمها فهي من ضمن المهارات المطلوبة.
  15. أتفهم ما تقصده، في دروس كثير يتم ذكر المصطلح بالعربية والإنجليزية، تستطيع السؤال عن المصطلحات التي تريدها أسفل فيديو الدرس في التعليقات وسيتم إيضاحها لك حسب المقصود بها في الشرح. أيضًا موسوعة حسوب بها المصطلحات بالعربية والإنجليزية معًا. وستجد هنا قائمة بمصطلحات شائعة.
  16. CNNs حققت أداء متطور في مهام تصنيف الصور والتعرف على الوجه، لكن هناك سيناريوهات تصبح فيها الخوارزميات البديلة أكثر ملاءمة ففي حال كمية بيانات التدريب محدودة، تصبح أكثر فعالية من نماذج التعلم العميق، التي تتطلب كميات كبيرة من البيانات للتدريب. أيضًا في حال توافر موارد الحوسبة محدودة، فهي أكثر كفاءة من حيث الحوسبة من نماذج التعلم العميق، التي تتطلب موارد حوسبة كبيرة للتدريب. وتلك الخوارزميات هي آلات الدعم المتجه SVMs لتصنيف الصور من خلال استخراج الميزات من الصور باستخدام تقنيات مثل SIFT أو SURF أو ORB، ثم تدريب نموذج SVM على هذه الميزات. والـ Random Forests لتصنيف الصور من خلال استخراج الميزات من الصور باستخدام تقنيات مثل تحليل الملمس أو هيستوجرامات الألوان أو تحليل الشكل، ثم تدريب نموذج الغابة العشوائية على هذه الميزات. يوجد أيضًا K-Nearest Neighbors (KNN) و Decision Trees. بالنسبة للوجوده فيوجد Eigenfaces وFisherfaces وLocal Binary Patterns (LBP) وGabor Wavelets.
  17. الدورة مهمة بالطبع، ومن الأمور التي يتم طلبها بكثرة بالفعل وقد يتم توفيرها، في الوقت الحالي الدورة المفيدة في مسار الأمن السيبراني هي دورة علوم الحاسوب هنا بالأكاديمية. لكن توافر بالأكاديمية يعتمد على نقاط عوامل غير واضحة لك، منها مدى الإحتياج ليها والطلب عليها، وهل محتوى الدورة مناسب لسوق العمل أم الطلب عليه ضعيف وهكذا، لذا الأمر راجع لإدارةالأكاديمية في تلك النقطة. ستجد هنا مصادر جيدة.
  18. من الأفضل توفير صورة لما يظهر لك لمساعدتك بشكل أفضل فالسؤال حاليًا غير واضح، فالمطلوب هو استخدام بطاقة إئتمانية credit أو بطاقة خصم مباشر Debit لتفعيل الحساب والحصول على حساب مجاني بقيمة 300 دولار للتجربة.
  19. يتوفر على منصة Kaggle قم بالبحث عن Arabic ثم تحديد Datasets وإليك النتائج: https://www.kaggle.com/search?q=arabic+in%3Adatasets وللعلم يوجد محرك بحث خاص بشركة جوجل يوفر لك إمكانية البحث عن الـ Datasets وهو التالي: https://datasetsearch.research.google.com/ ابحث عن Arabic به وسيتم البحث على مختلف المنصات وتوفير الـ Datasets المتاحة.
  20. بالطبع لا، حيث pipe في R عبارة عن دالة تستخدم لتمرير قيمة من خلال سلسلة من الدوال. تُستخدم %>% لتمثيل pipe في R، لتسهيل قراءة وكتابة الكود، خاصة عند التعامل مع سلسلة من العمليات على البيانات، كالتالي: data %>% mutate(new_column = old_column * 2) %>% filter(new_column > 10) لاحظ %>% هي لتمرير البيانات من خلال mutate ثم filter. بينما def في Python هي كلمة رئيسية محجوزة لتعريف دالة جديدة، كالتالي: def add_numbers(x, y): return x + y result = add_numbers(5, 3) print(result) تم تعريف دالة add_numbers التي تُستخدم لاحقًا لحساب مجموع 5 و 3.
  21. كنموذج سريع لا مشكلة في ذلك، لكن لتطوير المشروع فذلك لا يصلح، حيث يجب تعديل الكود ليتوافق مع الجودة المطلوبة.
  22. للتوضيح، الـ Series ستجد أنها تستخدم بشكل شائع لتمثيل سلسلة زمنية Time Series أو بيانات متسلسلة مثل درجات الحرارة أو أسعار الأسهم، وذلك لأنها تتميز بسهولة الوصول إلى البيانات باستخدام الفهرس، أيضًا تستطيع استخدامها في العمليات الحسابية والمنطقية. بينما الـ DataFrame تستخدم بشكل واسع في تحليل البيانات، مثل تحليل البيانات المالية، تحليل البيانات العلمية، تحليل البيانات الاجتماعية، وغيرها، بسبب قدرتها على تخزين أنواع بيانات مختلفة في الأعمدة، وبإمكانك إجراء عمليات دمج وفرز وتصفية البيانات بسهولة. وكلاهما يعملان معًا الـ DataFrame و Series بشكل فعال، مثلاً إنشاء DataFrame من مجموعة من Series، أو استخراج Series من DataFrame.
  23. تستطيع السؤال في نهاية كل مسار عن تمرين شامل لتوظيف ما تعلمته به وربط المفاهيم ببعضها البعض، أيضًا ابحث عن Python Quizzes وستجد تمارين لكن بالإنجليزية، وإليك بعض التمارين: بعد الإنتهاء من الأساسيات من الأفضل أن تبحث على يوتيوب عن "مشاريع بايثون للمبتدئين" واختر مشروع للعمل عليه لتثبيت ما تعلمته بالأساسيات، وذلك بالإضافة للمشروع الموجود بالدورة وبخصوص طريقة المذاكرة فأرجو قراءة التالي:
  24. تقصد استخدام إضافات مثل Anima؟ لا أنصحك بذلك فتلك الإضافات الهدف منها توفير نسخة أولية من المشروع للعرض مثلاً أو في حال ضيق الوقت وليس لتطوير مشروع على المدى الطويل. لكن هناك أدوات توفر كود جيد كبداية ثم يجب التعديل عليه ليتناسب مع الجودة المطلوبة في المشروع، فما هي الأداة المستخدمة في توليد الكود؟
  25. هل المقصود مبادرة جوجل لفرص الذكاء الاصطناعي لتمكين الشرق الأوسط وشمال إفريقيا بالذكاء الاصطناعي؟ تلك المبادرة تهدف إلى تزويد نصف مليون شخص بالمهارات الأساسية للذكاء الاصطناعي خلال عامين. وتعتمد على استثمار بقيمة 15 مليون دولار أمريكي من جوجل، وتركز على ثلاثة مجالات رئيسية، أولها منهاجًا جديدًا للتدريب على الذكاء الاصطناعي باللغة العربية من خلال برنامج "مهارات من جوجل" وكورسيرا. وإنشاء صندوق جديد لدعم الباحثين الجامعيين المحليين في المنطقة الذين يركزون على حلول الذكاء الاصطناعي للرعاية الصحية وتغير المناخ والتعليم وغيرها من المجالات. وتوفير خدمات الذكاء الاصطناعي الخاصة بها باللغة العربية أي تدعم العربية. واستمرار استثماراتها في البنية التحتية السحابية في المنطقة، بما في ذلك توسيع مناطق بيانات جوجل كلاود في المملكة العربية السعودية وقطر والكويت.
×
×
  • أضف...