تركز هذه الدورة على السؤال التالي: كيف نقوم بإجراء العمليات الحسابية المصفوفية بسرعة مقبولة ودقة مقبولة؟
تم تدريس هذه الدورة في برنامج ماجستير العلوم في التحليلات بجامعة سان فرانسيسكو، صيف 2017 (لطلاب الدراسات العليا الذين يدرسون ليصبحوا علماء بيانات). يتم تدريس الدورة بلغة Python باستخدام Jupyter Notebooks، باستخدام مكتبات مثل Scikit-Learn وNumpy لمعظم الدروس، بالإضافة إلى Numba (مكتبة تجمع Python إلى C للحصول على أداء أسرع) وPyTorch (بديل لـ Numpy لوحدة معالجة الرسومات). في بعض الدروس.
تصاحب الدفاتر قائمة تشغيل لفيديوهات المحاضرات، وهي متاحة على موقع يوتيوب. إذا كنت في حيرة من أمرك بسبب محاضرة أو كانت تسير بسرعة كبيرة، فراجع بداية الفيديو التالي، حيث أراجع مفاهيم من المحاضرة السابقة، وغالبًا ما أشرح الأشياء من منظور جديد أو برسوم توضيحية مختلفة، وأجيب على الأسئلة.
يمكنك طرح الأسئلة أو مشاركة أفكارك ومواردك باستخدام فئة الجبر الخطي الحسابي في منتديات المناقشة fast.ai الخاصة بنا.
ترتبط القائمة التالية بالدفاتر الموجودة في هذا المستودع، والتي يتم تقديمها من خلال خدمة nbviewer. المواضيع التي يتم تناولها:
نبدأ بنظرة عامة عالية المستوى على بعض المفاهيم الأساسية في الجبر الخطي العددي.
سوف نستخدم مجموعة بيانات مجموعات الأخبار لمحاولة تحديد موضوعات المنشورات المختلفة. نحن نستخدم مصفوفة وثيقة المصطلح التي تمثل تكرار المفردات في الوثائق. نحن نعاملها باستخدام NMF، ثم باستخدام SVD.
تطبيق آخر لـ SVD هو التعرف على الأشخاص وإزالة خلفية فيديو المراقبة. سنغطي PCA القوي، والذي يستخدم SVD العشوائي. ويستخدم Randomized SVD تحليل LU.
يعد الاستشعار المضغوط أمرًا بالغ الأهمية للسماح بإجراء عمليات التصوير المقطعي المحوسب بإشعاع أقل - حيث يمكن إعادة بناء الصورة ببيانات أقل. هنا سوف نتعلم هذه التقنية ونطبقها على الصور المقطعية.
لقد قمنا بتطبيق SVD على نمذجة الموضوع وإزالة الخلفية والانحدار الخطي. يرتبط SVD ارتباطًا وثيقًا بالتحلل الذاتي، لذا سنتعلم الآن كيفية حساب القيم الذاتية لمصفوفة كبيرة. سوف نستخدم بيانات DBpedia، وهي مجموعة بيانات كبيرة من روابط Wikipedia، لأن المتجه الذاتي الرئيسي هنا يعطي الأهمية النسبية لصفحات Wikipedia المختلفة (هذه هي الفكرة الأساسية لخوارزمية PageRank من Google). سنلقي نظرة على 3 طرق مختلفة لحساب المتجهات الذاتية، ذات التعقيد المتزايد (وزيادة الفائدة!).
تم تصميم هذه الدورة بطريقة تدريس تنازلية ، والتي تختلف عن الطريقة التي تعمل بها معظم دورات الرياضيات. عادة، في النهج التصاعدي ، تتعلم أولاً جميع المكونات المنفصلة التي ستستخدمها، ثم تقوم ببناءها تدريجيًا في هياكل أكثر تعقيدًا. تكمن المشكلة في ذلك في أن الطلاب غالبًا ما يفقدون الحافز، ولا يكون لديهم إحساس بـ "الصورة الكبيرة"، ولا يعرفون ما الذي سيحتاجون إليه.
البروفيسور ديفيد بيركنز من جامعة هارفارد لديه كتاب بعنوان "جعل التعلم متكاملاً" والذي يستخدم فيه لعبة البيسبول كقياس. نحن لا نطلب من الأطفال حفظ جميع قواعد لعبة البيسبول وفهم جميع التفاصيل الفنية قبل أن نسمح لهم بلعب اللعبة. بدلاً من ذلك، يبدأون اللعب بإحساس عام فقط، ثم يتعلمون تدريجيًا المزيد من القواعد/التفاصيل مع مرور الوقت.
إذا كنت قد أخذت دورة التعلم العميق fast.ai، فهذا هو ما استخدمناه. يمكنك سماع المزيد عن فلسفتي في التدريس في منشور المدونة هذا أو في هذه المحادثة التي ألقيتها في لقاء التعلم الآلي في سان فرانسيسكو.
كل هذا لأقوله، لا تقلق إذا لم تفهم كل شيء في البداية! ليس من المفترض أن تفعل ذلك. سنبدأ في استخدام بعض "الصناديق السوداء" أو تحليلات المصفوفة التي لم يتم شرحها بعد، ثم سنبحث في تفاصيل المستوى الأدنى لاحقًا.
للبدء، ركز على ما تفعله الأشياء، وليس على ما هي عليه.