HCI_Lecture_8_-_Part_4B
بعد البريين كومبيوتر انترفيسيز خلاص أنا حاريكورد المحاضرة النهاردة بشكل استثنائي لأنني عارفة أن فيه ناس مسافرة ورسا ما رجعتش ويعني للدنيا اللي يعني لسا ما زبطت شاشة الأجازة وكده فيعني ديه ديه ديه هنسجلها
تمام فخلونا كده نبتدي هنـ Record الأول وبعد كدة هعمل Share Screen... تمام هو كدة المفروض... المفروض إنه هو كدة...
أهو كدة بـيـ Record المفروض... طيب نـ share screen بقى.
طيب إحنا عايزين
عايزين نبتدي مع بعض إحنا المرة إنتوا أولاً يعني في أي لحظة تلاقوا نفسكم مش سامعيني قولولي على طول لو عشان لو في مشكلة في الـ net ولا حاجة لو فجأة ملقيتونيش يبقى الـ net مثلاً وقفت أو حاجة فأنا يعني هرجع تاني تمام هتصرف وأرجع فكدة يعني خلونا إيه
خليكوا دايماً معايا وتجاوبوا معايا يعني تجاوبوا معايا طبعاً لأنكم مش قدامي فانا مش شايفاكم زي ما كنا في في الكلية فتجاوبوا معايا كدة عشان بس كما يعني منه تجاوب الـ Interaction المطلوب ومنه إنه علشان يعني أحس إن أعرف إنكوا سامعيني يعني إن مفيش أي مشكلة في الصوت ولا في الـ
ولا في الـ Presentation ولا حاجة طيب الـ presentation دلوقتي ظهرت عندكم بتتحرك يمين وشمال ولا؟ تمام؟ أه تمام. تمام طيب هنبتدي مع بعض إحنا يعني لو هنقول كدة Recap سريع كدة كلمتين عن المحاضرة اللي فاتت
اللي إحنا أخدناها وبدأنا فيها نتكلم على فكرة الـ brain اتكلمنا على الـ brain واتكلمنا على الأجزاء بتاعته اللي بنسميها Lobes وقولنا إن أنا عندي الـ Frontal Lobe اللي هو الجزء الأمامي عندي الـ Temporal اللي هو يمين وشمال فوق الودن وعندي بعد الـ Frontal بقى في الـ Central
وده جزء الحقيقة في الـ Center بتاع من يعني عند الـ Center بتاع الجمجمة كدة وده جزء الحقيقة مسؤول عن بيحصل المسؤول عن الحركة الحقيقة وإحنا هنجيب سيرته يعني هنجيب سيرة الجزء ده يعني خلال المحاضرات الجاية. بعد كدة في عندي الـ Parietal Lobe اللي هو الجزء اللي بعد
اللي بعد منتصف الجمجمة كدة بشوية لتحت شوية وبعد كدة عندنا الـ Occipital الـ Occipital ده اللي تحت خالص ده اللي هو قريب الجزء القريب من رقبتنا وكنا قلنا بردو حاجة مميزة جداً في الجزء ده في الـ Occipital ده إن الـ vision بيحصل فيه يعني إحنا رؤيتنا إدراكنا للصور اللي إحنا بنشوفها قدامنا أو أي حاجة بنشوف بنشوفها قدامنا
بتحصل في الجزء الخلفي ده، مع إن احنا عينينا قدام، بس هو الـ interpretation الفهم بتاع الصور بيتم في الجزء الخلفي ده. بعد ما اتكلمنا عن أجزاء الـ brain تمام بشكل عام كدة
كنا بدأنا نتكلم مع بعض هي إيه الـ signals اللي ممكن تطلعها من الـ brain وقولنا الحقيقة إن في حاجات كتير بس إحنا هنتكلم على الأكثر شيوعاً، فاتكلمنا على الـ cell recording أو الـ neuron recording واتفقنا إن ده نوعين، نوع اللي هو الـ external والـ internal، يعني اللي هو إن أنا ممكن أـ record من neuron معين في مكان
مكان معين في المخ، أنشن على neuron معين، وأبدأ أحط electrode على الـ neuron ده من برة، ده كدة الـ external، ده الـ external recording للـ neuron، وفي الـ internal إن إحنا ندخل الـ record في الـ neuron نفسه، في الـ cell body بتاع الـ cell body بتاع الـ neuron نفسه
وقولنا إنه الحقيقة موضوع إن أنا الـ cell recording ده أو الـ neuron recording ده لازم يتم بعملية جراحية فده اللي بنسميه invasive، invasive recording يعني invasive يعني بيتم بشكل جراحي بيحتاج لعملية، علشان طبعاً عشان أقدر أوصل لـ neuron ده معناه إنه الجمجمة بتتفتح والمخ نفسه بيتفتح
وبنوصل جوا بقى بنخش جواه بقى في منطقة معينة لـ neuron معين، فطبعاً دي حاجة صعبة جداً جداً على الرغم من إنها زي ما شرحنا المحاضرة اللي فاتت إنها دقيقة جداً جداً جداً في القياس، وده بديهي إنت بتقيس من الـ source، عايز إيه أكتر من كدة؟ إنت بتقيس من الـ source
بشكل مباشر، فطبيعي إن إنت بتاخد signal قوية لأنك لأنك إنت بتقيسها من مصدرها الرئيسي فمن غير ما ما ما تمشي أو تعدي على أي حاجة في النص فتضعف، فإنت واخد الحاجة من المصدر الرئيسي فهي قوية جداً يعني الـ amplitude بتاعها كويس، عالي.
إنه الحاجة التانية إن هي مفيش مفيهاش noise، مفيش أي noise، إنت بردو قايس من الـ center من جوا المخ، الـ noise هتيجي منين؟ إنت إنت جايب الحاجة من جوا، فمفيش noise. في عندنا frequency band واسع في كل الـ frequencies بتاعة الـ EEG كلها موجودة وظاهرة
وإنت عندك الـ resolution بنسميها الـ spatial resolution يعني الـ resolution المكاني قوي جداً، يعني إيه الـ resolution المكاني قوي جداً؟ يعني إنت إنت بتقيس من neuron، إنت بتتكلم على مستوى neuron واحد، أو مجموعة neuron لو حطينا اللي هي الـ اللي إحنا قولنا عليها المرة اللي فاتت اللي هي الـ grid
اللي هي مثلاً تبقى تبقى 10 في 10 أو 8 في 8 فدي بتقيس مثلاً 100 neuron مع بعض أو 64 neuron مع بعض وحتى لو تفتكروا كنت للناس اللي كانت حاضرة معايا المحاضرة اللي فاتت شبهت لهم ده بالـ IC بتاعة المعمل اللي كنا في الـ electronics والـ logic، اللي هي المربع الأسود أبو رجلين ده، هي بتبقى حاجة شبه
كدة. الرجلين دي بتبقى electrodes كذا electrode، فإحنا اتفقنا إن المحاضرة اللي فاتت إن ده هو الـ invasive recording وإنه بالرغم من دقته الشديدة وإن إحنا بناخد signal ممتازة و signal من مكان بعينه، فبالتالي أنا أقدر يعني
وده طبعاً بيفيدني جداً في دراسة الـ activity بتاعة المخ وحاجات وأمور كتير، لكن تظل عندي المشكلة الرئيسية إنه محتاج عملية، فبالتالي حتى هذه اللحظة هو بيتعمل على الحيوانات أكتر، في الحيوانات ممكن الـ يفضل الـ electrode ده موجود في المخ لـ
لفترة زمنية يعني ممكن بالشهور لكن في البني آدمين إحنا بنتكلم في ساعات وفي أيام و بتتعمل لناس أصلاً عندهم حالات خطيرة وبيحتاجوا عمليات في المخ كدة كدة فعلشان كدة بيحطولهم الموضوع ده بيقدروا يحطولهم الحكاية دي. بنقول إن في مشكلة تانية في الـ Electrodes دي إن هي مع الوقت
بتبتدي تتكون حواليها مواد بتلزق على الـ Electrode نفسه فبتزود الـ Impedance بتاعته بتزود مقاومته فقدرته على الـ Recording بيقل، يعني إحنا كمان عندنا مشكلة أخرى إن الـ Electrodes من خلال وجودها جوا المخ لفترة بتبوظ الـ Recording بتاعها بيضعف مع مرور الزمن
فده معناه كمان إنها محتاجة تتغير كل شوية ودي طبعاً مشكلة. آخر حاجة كنا قولناها في الجزء ده إن إحنا المشكلة مش إن في Electrode في المخ، لأن إحنا اتفقنا إن سبحان الله المخ بيحس بكل أجزاء الجسم لكن لو حاجة جواه مش بيحس بيها يعني مش لو أنا مركبة حاجة جوة هو مش هيـ
مفيش مش مش يعني هو معندوش ده يعني هو بيحس بالحاجات الـ external مش الحاجات الـ internal جواه، لكن المشكلة في العملية نفسها والـ recovery من العملية نفسها، ده كدة اللي قولناه Invasive. بعد كدة دخلنا في الـ Semi-invasive واتكلمنا على الـ signal اللي اسمها ECoG
دي بنقيسها من على المخ من برة يعني بردو عملية بس بنفتح الجمجمة بس، المخ ملوش مبنفتحش المخ، بنقيس من على المخ. الـ ECoG  الـ range الـ Frequency بتاعه لحد 200 هو يعني range كويس جداً بس طبعاً الـ amplitude أقل لأن الـ signal مشيت مسافة من جوة لبرة تمام
زائد إنه الـ Spatial Resolution، الـ resolution عندي بقى أضعف لأني أنا بقيت برة فطبيعي أنا كل ما بطلع لبرة أكتر كل ما بتشوف بشكل global أكتر يعني هي أنا من برة بقدر أقيس عدد من الـ neurons فهي الـ ECoG بيقيس.
مجموعة Neurons ميقدرش يوصل لـ Neuron واحد زي ما أنا بقيس من جوة ده الـ ECoG. الحقيقة الـ ECoG بردو من الـ signals الكويسة اللي الـ soise بتاعتها قليلة القوية لكن وشرحنا الخواص بتاعتها المرة اللي فاتت لكن بردو عيبها إنها still عايزة عملية. بعد كدة قولنا الـ Non-invasive إن أنا بطلع برة خالص
وبحط Electrodes على المخ من برة على راسنا من برة وبقيس ما يسمى بالـ EEG تمام. الـ EEG بيقيس لي الـ Electrical activity بتاعت الـ Brain النشاط الكهربي للمخ لكن طبعاً هو بيقيس النشاط من قشرة المخ فأنا بتكلم هنا على ألوف الـ neurons يعني
يعني الموضوع هنا كـ resolution ضايع، أنا مقدرش أحدد بالظبط ليه لأن الـ electrode بتاعي اللي بحطه فوق ده إحنا بنتكلم في centimeters، الـ centimeters دي تحتيها neurons كتير جداً تمام. وطبعاً الـ signal أضعف.
الـ signal فيها noise لأني أنا خلاص طلعت برة فأنا بتأثر بالبيئة اللي حوليا الـ signal فيها noise لكن تظل يظل الـ EEG هو الأفضل، حتى إحنا قارنا بـالـ signals تانية قارنا بحاجة زي الـ fMRI اللي هي باخد صورة بتوريني إيه الـ neurons الـ activated دلوقتي وإيه لا
اللي هي لو فاكرين كنا بنقول بنخش جوة تابوت كدة، أكن بقيس fMRI، أشعة مقطعية الأشعة المقطعية، دي واحدة في حاجة تانية اللي هي بتقيس الطاقة المغناطيسية ودي بردو بتحتاج أوضة معزولة وجهاز خاص فاحنا كنا قلنا إن الحاجات دي كلها مش feasible خالص
في الواقع، ففضل عملنا مقارنات كتير المرة اللي فاتت وفضل الـ EEG هو ده اللي إحنا شايفين إنه رغم عيوبه لكن هو أكثرأكتر signal يعني for practical use feasible تنفع نشتغل بيها
لا أنا محركتش حاجة، أنا بعمل recap سريع بالكلام، أنتم سامعيني؟ لو سامعيني يبقى تمام. تمام، أنا هبدأ دلوقتي أحرك الـ slides. طيب أنا دلوقتي في الـ recap أنا كدة عملت recap، هل في حد عنده أي استفسار؟
تمام، طيب نبتدي بقى الكلام الجديد أنا دلوقتي هبدأ أشرح الكلام الجديد وهبدأ أحرك الـ slides. الـ EEG signal يا جماعة إحنا اتفقنا مع بعض إن هي كـ signal الـ frequency band بتاعها
هو لحد 100 بس، تمام؟ هي مش ماهياش الـ band بتاعها مش واسع زي الـ ECoG أو زي الـ neuron recording، هي بس من 0 لـ 100، واتفقنا إن الـ noise الحقيقة بتغطي يعني من فوق الـ 50 الـ noise بتبقى واكلاها يعني واكلة الجزء
ده. فـ يعني من الآخر كدة إحنا غالباً غالباً الجزء اللي بنعرف نشتغل فيه اللي هو بيبقى لحد 50، لحد 50 Hertz. طيب الـ EEG بيتقسم لـ bandـات، أنا يمكن كنت قلتلكوا الحكاية دي قبل كدة وأنا بديكوا يعني بوريكوا examples لفكرة إن أنا
إزاي بالـ filtering أو بالـ wavelet إزاي أطلع bands من signal. فأنا فاكرة إن أنا وريتكوا example على الـ EEG وقلتلكم ساعتها إن إحنا هنشرحه في وقته. الحقيقة إنه الـ EEG يا شباب زي ما إحنا شايفين قدامنا في الـ slide هي عبارة عن خمسة band
هم ليه اتقسموا بالشكل ده؟ اتقسموا بالشكل ده لأنهم لاحظوا إن الـ activity، كل  الـ activity بتاعت المخ، أو لو أي مرض بيصيب المخ أو أي activity، فهي بتظهر من band بتظهر تأثيرها في band في دول، تمام؟ فعشان كدة اتقسمت بالشكل ده بناءً على
فعلاً الـ activity والـ diseases وأي حاجة بتحصل في المخ بتحصل إزاي وبتاثر على أنهي frequencies، فلقوا إن الـ EEG فعلاً بيتقسم للـ bandـات دي. الـ band الأولى بنسميها Delta، Delta دي اللي هي أصغر من 4 Hertz
الـ band التاني اسمه Theta، اللي هو من 4 لـ 8 وفي أماكن بتقول لـ 7 يعني في اختلافات من research للتاني في النقطة دي. عندنا بردو الـ band التالت المسمى بالـ Alpha، الـ Alpha من 8 لـ 13 وفي band تاني بيسموه Mu، MU ده لحد 12 ده.
وده بيستخدم لما نكون بنتعامل مع Movements تمام ؟دي بردو في وقتها هرجع تاني أقولكم عليها. بس المهم دلوقتي إن إحنا عندنا الـ Alpha لحد 13 أو أحياناً 14 في بعض الأبحاث، لكن في حاجة في حاجة اسمها Mu بتقف عند 12 بس. يعني اعتبروا الـ Mu دي جزء من الـ Alpha
بعد كدة عندي الـ Beta band، الـ Beta band ده اللي هو من 14 لـ 30 بعدين عندي الـ Gamma band، الـ Gamma ده من 30 لـ 100. طبعاً إنتم تقدروا تتوقعوا إن الـ Gamma band ده أكثر من نصه ماله؟ ضايع في الـ noise يعني أكثر من نصه لأسف
مش بنقدر نستفاد منه إحنا تقريباً بنستفاد لحد 50، فوق الـ 50 ده للأسف مع إنه زي ما هنقول دلوقتي هو فيه Information مهمة جداً لكن للأسف الـ EEG الـ Gamma band فيه الـ noise بتبوظها فإحنا مش بنقدر نستفاد
من الـ Gamma band أوي في الـ EEG، طب لو أنا عوزت أستخدم Gamma band أعمل إيه؟ هضطر أروح للـ ECoG اللي هو الـ Semi-invasive اللي هو أقيس من على المخ بشكل مباشر يعني نفتح اللي هو اللي هو عايز عملية ده، إن أنا أفتح الجمجمة وأحط الـ Electrodes بتاعتي على المخ من برة
هنا أقدر أستفيد من الـ Gamma ليه؟ لأن الـ range الـ Frequency بتاعي اللي بيديهوني أصلاً الـ ECoG لحد 200، فشوف بقى إنت معاك ده إنت معاك زيادة كمان. تمام؟ فالـ Gamma الحقيقة في الـ ECoG بتستخدم بقوة لكن في الـ EEG للأسف
ما بقدرش أستفاد منها بالقدر الكافي، وده طبعاً ده سؤال دي حاجة موضع سؤال أنا ممكن أسألك في الامتحان ليه الـ Gamma ليه لما بعوز Gamma بروح للـ ECoG مش باخدها من الـ EEG؟ ده Give Reason، فساعتها تجاوبني باللي أنا يعني شرحتهولك دلوقـ
طيب. مبدئياً كدة الـ bandـات واضحة؟ الخمسة bands عندنا الـ Delta- الـ Delta والـ Theta والـ Alpha والـ Beta والـ Gamma، تمام كدة يا شباب؟ تمام يا دكتور، تمام، طيب
طيب، عايزين نتكلم شوية عن الـ bands دي بيظهر فيها إيه أو بيظهر فيها إيه يهمنا إحنا في شغلنا. الـ Delta، الـ Delta دي اللي هي لحد 4 Hertz اللي هي الـ Frequency band الصغي-  اللي هي الـ frequency  الصغيرة خالص، الحقيقة دي بتظهر في الـ Babies
يعني الـ band ده الـ amplitudes بتاعته بتبقى عالية الـ frequency كل frequency الـ amplitude بتاعها بيبقى عالي في الـ babies أو الشخص يعني سواء بقى طفل كبر شوية أو شخص بقى بالغ نايم وهو نايم
فبنلاقي إن delta دي الـ amplitudes بتاعتها بتزيد، يبقى الـ delta band الـ amplitudes بتاعتها بتزيد لو الشخص الكبير نايم أو الـ baby او عند الـ baby، الـ baby بقى نايم صاحي في كل وقت يعني. دي الـ delta. الـ theta بردو بتبان في درجة من درجات النوم و انا وهكلمكم عن درجات النوم كمان شوية كمان لحظات
الـ Theta بتبان في برضه في النوم عند الكبار، عند الأطفال ومش babies، طفل يعني بنتكلم على طفل يعني عنده ست سبع سنين، والكبار، والناس الكبيرة. ده الايه ده بالنسبة للـ Theta بالنسبة للـ Alpha، الـ Alpha الحقيقة
بتبان أوي، يعني الـ frequencies بتبان بـ amplitudes مؤثرة في الـ occipital region، الـ occipital region ده إحنا اتفقنا إن هو دي الحتة اللي تحت خالص قريبة من الرقبة. وعايز أقول لكم كمان إن هي بتبان برضه، برضه
في الجزء في الجزء بتاع الـ center بتاع المخ بتبان برضه. ده معناه إيه؟ يبقى أنا كدا اقدر الـ Alpha دي الـ Alpha band ده أستفاد بيه فين؟ أقدر أستفاد بيه لو أنا بدور على vision، حاجة ليها علاقة بالـ vision
ليه؟ لأن إحنا بنقول أهو الـ Alpha بتبان في الـ occipital region تمام؟ والـ occipital region إحنا متفقين مع بعض إنه طبياً تم إثبات إن الـ vision بتم فيه، فهم الصور اللي بنشوفها بتم في الحتة دي. طيب حاجة تانية لما أقول إن الـ Alpha
برضه band بيبان في الـ center بتاع المخ، يبقى ده معناه برضه إن أنا ممكن أستفاد من الـ Alpha band ده في الـ movements، في الحركة، لما أمشي أو أحرك إيديا تمام؟ وده اللي هيحصل لما أرجع أكلمكم على حاجة ليها علاقة بالـ vision أو حاجة ليها علاقة بـ الـ
الحركة، هتلاقوني بجيب سيرة الـ Alpha band تمام؟ يبقى آدي أهو كمان حاجة سؤال give reason أهو، ليه تمام إحنا بنقول إن الـ alpha دي مفيدة في الـ vision؟ ليه الـ alpha دي مفيدة في الـ movements؟ علشان هي بتقدر بتبان
في الـ occipital region وفي في الـ sensory motor أو الـ center بتاع المخ. خلاص فبالتالي دي المناطق اللي فيها الـ activities بتبان فيها الـ activity بتاعت الـ movement أو الـ vision تمام؟ طيب الـ beta، الـ beta هي الحقيقة بتقيس من الـ parietal و center برضه
بس يمكن center هنا مش مكتوبة، لكن الـ beta برضه أنا بستخدمها برضه في الـ movement تمام؟ الـ Gamma بقى، الـ Gamma الـ Gamma فيها ليها حاجات فيها taskـات ليها علاقة بالذاكرة، ليها علاقة بالـ language processing الكلام الكلام واللغات فهم اللغات
وكمان مفيدة جداً برضه في الـ movements، بس طبعاً زي ما قلنا في الـ EEG هي أغلبها ضايع، فأنا مش بقدر الـ يعني الـ gamma اللي هي العالية بالنسبة لي اللي هي سبعين تمانين تسعين مية ده ده في الـ EEG مفيش خالص مش موجودة
تمام؟ فللأسف مش بقدر أستفاد بيها في موضوع الـ الايه؟ الـ movements، لأن أنا عشان أستفاد بالـ Gamma في موضوع الـ movements محتاجة أكون قادرة ألقط الـ frequencies اللي فوق السبعين، وده للأسف صعب جداً في الـ EEG نتيجة للـ noise. طيب كدا إحنا شرحنا الـ bands
وكل واحد بيظهر فين، يعني هو إيه الـ بيظهر فين أو بيظهر إمتى؟ في أي سؤال في الجزء ده؟ لا تمام يا دكتور
تمام، طيب هنبتدي نخش في جزء تاني عايزين نشرحه مع بعض اللي هو الجزء الخاص بـ، في interfaces بتتعمل علشان أعرف بيها أعمل بيها sleep detection، إن أنا أـdetect مراحل النوم عند الشخ
الحقيقة دي طبعاً بتفيد في أبحاث طبية كتير إن أنا أقدر أقيس حاجة زي كدا، تمام وفي papers وفي أبحاث كتير موجودة في الموضوع ده عن طريق الـ EEG، فا احنا اللي نقدر نقوله لو إحنا بصينا سوا على الـ signals اللي مرسومة قدامنا على اليمين، كل واحدة مكتوب جنبها اسمها
هنلاقي أول واحدة من فوق مكتوب جنبيها awake، awake دي ده الـ EEG وإحنا صاحيين، ده الايه اللي الـ bands بتاعتنا كلها وإحنا صاحيين. طيب النوم الخفيف اللي هو أول ما تبتدي إنت داخل في النوم، هتخش في النوم في الأول خالص، بتلاقي إنه الـ bandـات العالية كلها اختفت اللي هي الـ Beta والـ Gamma، كل ده مابقاش موجود
وبقى موجود اللي لسه باين عندك الـ Alpha تمام؟ الـ Alpha دي اللي لحد 14. 13 14. طيب ده الـ light sleep. في بقى هتلاقوا لو فوتنا الـ signal اللي بعديها ورحنا للي تحتيها، أهي، لو رحنا لدي، في واحدة أنا علمت عليها بالأحمر اسمها الـ deep sleep
الـ deep sleep دي يا شباب دي بقى مرحلة النوم العميق، أنا بدأت أعمق أغوط في النوم. هنا بقى بتظهر معانا مين؟ هنا بقى طبعاً بتبدأ تظهر معانا الـ delta زي ما قلنا إن الـ delta band الـ amplitude بتاعه بيعلى لما الشخص بيكون نايم. الـ delta والـ theta برضه
بتبان في النوم، وساعتها كل بقى الـ alpha اللي هي بادية من 8 وبعديها الـ beta والـ gamma كل ده خلاص مش موجود، الشخص نايم فكل الحاجات دي مش موجودة خلاص، يعني الـ amplitudes بتاعتها مفيش. كله بس هي الـ frequencies الصغيرة دي بتاعت الـ delta ويادوب الـ theta هما دول اللي باينين في الـ deep sleep
طيب فيه حالة بقى اللي إحنا شايفينها تحت خالص دي الخط المستقيم ده، ده كدا يعني الله يرحمه، ده مفيش frequencies خالص يبقى الشخص ده كدا الله يرحمه بقى مات بقى تمام. طيب إيه حكاية الـ signal اللي في النص اللي اسمها الـ REM، R E M، إيه بقى حكاية الـ REM sleep ده لو إحنا بصينا لها
هتحسوا إنها sharp، هتحسوا إنها شبه الـ signal بتاعت الـ awake، أكأن الواحد صاحي، وده حقيقي. الـ REM ده يا جماعة ده اختصار rapid eye movement، هو اتسمى بناءً على الـ rapid eye movement لإنه ساعات كتير لما بنبص للشخص وهو في المرحلة دي من النوم
بنلاقي إن عينه مع إنها مقفولة بس إحنا بنقدر نشوف إنها بتتحرك، بتتحرك تحت الجفن يمين وشمال. الشخص في المرحلة دي بيكون نايم بعمق شديد وبيحلم، بيحلم وغرقان في الحلم كدا زي ما بيقولوا، فاللي بيحصل هنا إن المخ بينشط، المخ في اللحظة دي
بيندمج في الحلم لدرجة إنه بينشط أكأنه صاحي، مع إنه نايم، بس هو الـ activity بتاعته أكنه صاحي بالظبط، فبترجع الـ bands كلها تظهر عادي خالص أكأنه بني آدم، أكأنه صاحي، مع فروق
يعني مش- بسيطة في الـ amplitude. لكن كـ bandـات هم كلهم موجودين، آه ماشي مش بنفس الـ amplitude وزي وهو صاحي صاحي خالص، ولكن موجودين، الـ bandـات كلها موجودة، علشان كدة يا جماعة إحنا أحياناً ودي حاجة يمكن إحنا بنلاحظها لكن عمر ما كان حد فينا قبل مثلاً ما نفهم الكلام ده كان بياخد باله من السبب
أحياناً إنت بتصحى من النوم بـ mood الحلم اللي كنت بتحلمه، يعني تبقوا بتحلموا مثلاً حلم جميل، فتصحى تلاقي يا سلام تلاقي نفسك كدة صاحي رايق والغزالة رايقة، ليه؟ لأن إنت مخك كان نشط في الحلم ده واندمج في الحلم أكأنه حقيقة
يعني المخ تعامل مع الحلم أكأنه واقع، فإنت صاحي بالـ mood الحلو بتاعه، أو أحياناً بتحلم حلم إن إنت بتتخانق، عمال تتخانق تتخانق يمين وشمال مع ناس، بتصحى تلاقي نفسك عصبي ومش طايق نفسك، إنت فعلاً متعصب
المخ فعلاً فعلاً المخ اتعصب، ده حصل، تمام؟ فده المقصود بحتة الـ REM وهي حقيقة من الحاجات الـ interesting كـ signal نظراً للإعجاز اللي فيها، إنه إزاي الواحد بيبقى نايم لكن المخ بيغرق في حلم وبينشط فيه
بشكل أقرب، قريب جداً من وهو صاحي. تمام؟ فإحنا بنصحى بالـ mood بتاع الحلم ده. طيب كدة إحنا شرحنا الـ sleep مراحل النوم، اللي زي ما إحنا قلنا بيتعمل interfaces
بيبقى فيه بيحصل recording دائم للـ EEG، وفيه بيبقى عندي classifier بيـ classify أنا في أنهي مرحلة من النوم دلوقتي، تمام؟ طيب في أي سؤال يا جماعة في الحتة دي؟ لا يا doctor تمام.
تمام. طيب نبتدي بقى نتكلم على مشكلة مشكلة عندنا الـ EEG noise، وعايزين نبتدي نشوف بقى نتغلب عليها إزاي. إيه مصادر الـ noise في الـ EEG؟ الحقيقة الـ EEG بيجي عليه signals كتير أوي
مالهاش علاقة بيه. أول حاجة الـ EOG، الـ EOG ودي هنشوفها المحاضرة الجاية هوريكوا إزاي بيظهر في الـ EEG، يعني حركات العين بتسمع في الـ EEG، خصوصاً في الـ electrodes اللي بتبقى محطوطة قدام عند الجبين
فدي بلاقي الـEEG- الـ EOG ظاهر فيها، دي حاجة. عندك حاجة تانية لو أثناء عملية قياس الـ EEG إنت حركت رقبتك، حركت أي أي عضلات في وشك، أي حاجة في وشك اتحركت، فده تحريك العضلات ده بيعملي signal اسمها الـ EMG
دي signal خاصة بالنشاط العضلي، فدي برضه بتـ overlap مع الـ EEG بتخش مع الـ EEG. فدي كدة الحاجات اللي جوه من جوه الجسم بتأثر في الـ EEG. من بره بقى، من بره طبعاً عندنا الإضاءة، أي equipment، أي جهاز موجود حوالينا
كل دي حاجات بتأثر، الـ شؤ power supply برضه، تمام؟ ده برضه بيأثر، فكل دي حاجات بتأثر لي بتضيف لي noise على الـ EEG. وطبعاً آخر حاجة اللي هو الـ movements، إنت حركت جسمك أو الـ electrodes نفسها اتحركت
ده طبعاً بيبوظ الـ signal. طيب الـ noise دي بصوا كدة ده example قدامنا، الـ signal دي اللي أنا عملت حواليها دورية حمراء دي signal نظيفة، ده clean EEG، يعني اتشال منها كل الـ خلينا نقول عملنا reduction جامد فيها للـ noise
طيب اللي حواليها دول هم اللي ممكن يدخلوا معاها، يعني مثلاً إحنا شايفين الـ signal B اللي هي الـ eye blink. الـ eye blink دي إحنا عارفين الـ blinking، بربش. في number C الـ eye movement، إن أنا بدأت أبص بقى يمين وشمال وفوق وتحت وحاجات كدة. عندنا
ده الـ 60 hertz line noise، ده اللي هو الـ إحنا ده اللي بنسميه الـ AC power supply. دي يا جماعة تختلف من مناطق للتانية، مثلاً أوروبا في أماكن كتير معظم أوروبا أعتقد أمريكا الشمالية برضه عندهم 60 hertz
يعني لو إنت جايب data set، الـ data set دي متسجلة في بلد أوروبي أو في أمريكا الشمالية، فإنت محتاج تعرف إن الـ frequency 60 دي عندك لازم تشيلها، دي noise. عندنا هنا في مصر، لو أنا مسجلة EEG هنا في مصر بتبقى خمسينات، 50. تمام؟
طيب في عندنا E اللي هي الـ muscle activity، دي الـ signal بتاعت الـ.. أيوه، حد قال حاجة؟ في mic اتفتح يا جماعة
دي الـ muscle، خلاص؟ دي مثلاً ده example لـ signal بتاعت تحريك العضلات، والـ pulse دي بتاعت النبض، فكل دي حاجات ممكن تـتضاف على الـ EEG وأنا أبقى محتاج إن أنا أشيلها
طيب أي سؤال لغايت دلوقتي؟ طيب. تمام. إزاي أقلل الـ noise بتاعت الـ EGG؟ دكتور معلش، حاجة بس بسيطة. اتفضل
هو دلوقتي الـ AC hertz- يعني الـ AC frequency هو في Europe عامة هو 50، فإنا لو جايب data sets من Europe هركز إن أنا أشيل 50 ولا أشيل 50 و60 برضه على أساس إنها ممكن تكون hybrid مثلاً؟ لا هي فيه أماكن 60، فيه أماكن كتير 60. هو الـ Americas هي اللي 60 وبعض الأماكن في آسيا زي الهند مثلاً، إنما أوروبا تقريباً 90% منها 50
زي مصر، وفي في أمريكا أنا فاكرة إن أنا قرأتها، أنا مش فاكرة بالظبط بس أعتقد North America 60، هو الأمريكتين عامةً 60، كدا كدا 60، وإحنا هنا 50، إحنا هنا 50، وأوروبا كمان 50، أنا أقصد لما يكون في data set هعتمد المعلومة دي وأنا بـ.
filter؟ آه طبعاً، آه طبعاً، يعني لو انا مثلا لو جايبها من Europe أو من Egypt أو كدا، آه آه آه، لا أنت بص حضرتك على حاجة، إحنا في أحيان كتير أصلاً بنعمل filter لحد 50، فأو أصلاً بناخد band أقل من كدا، فساعتها مش فارق معاك أصلاً، هي 50 ولا 60 مش هتفرق، بس لو أنت بس لو أنت.
بس لو أنت بتحاول تاخد band كبير شوية، يعني أنت معدي ال 50، هنا بقى تفرق معاك، لو أنت مثلاً في مصر ولا حاجة لازم تشيل ال 50، تمام؟ لو أنت في مكان برا، في بعض أماكن كدا في أوروبا، أعتقد لlondon منهم، مش فاكرة بالظبط كانت 60، أو مثلاً زي ما قلنا أماكن في آسيا أو كدا، فأنت هتحتاج تشيل ال 60.
تمام، تمام ماشي، شكراً جداً. العفو، طيب، بنشيل إزاي؟ إحنا بنحا- العادي أول حاجة هنقولها إن إحنا بنعمل filtering. بنعمل filtering عن طريق band-pass filter أو عن طريق ال wavelets مفيش مشكلة، وبالنسبة لـ الـ AC power inference ده أو power supply ده، دا بشيله بال notch filter اللي هو band-reject filter يعني
بسميه notch filter، فـ اللي هي بشيل بس اللي هي الستينيا دي أو الخمسين دي، تمام؟ فدا بستخدم فيه band-reject filter بسميه notch filter، خلاص؟ هو مجرد filter عادي خالص بيعدي كل ال frequencies ما عدا ال 60 أو ال 50، طيب، أو لو أنا بنشن بقى على band.
band، delta، theta، alpha، beta فبجيب band-pass filter بقوله من كذا لكذا على حسب الـ band اللي أنا عاوزاه وباخد الـ signal بتاعتي، طيب، في عندي مشكلة زي ما قلنا إنه في bandـات بتـ overlap مع الـ EEG، يعني مثال بسيط، إحنا درسنا الـ EOG
الـ EOG ده كان الـ range بتاعه بكام يا شباب؟ كان من 1 قلنا لحد 20، في ناس بتوصل ل 25، يعني بتاخد لحد 25، طب حلو قوي، من 1 لحد 20، 25 دي ما هو ال EEG موجود فيه الكلام ده، فأنا بـ overlap كدا مع الـ signal، طب أنا الحاجات دي هتخلص من تأثيرها إزاي؟
فبالتالي أصبح الـ filter وحده مش كفاية، ففي حاجات تانية بتتعمل، حاجات تانية زي إيه بقى؟ هنا بنتكلم عن حاجة اسمها الـ spatial filtering، الـ spatial filtering ده إيه الهدف منه؟ الـ spatial filtering الهدف منه إن أنا أحاول أقلل الـ noise زي ما هوريكوا دلوقتي بيعملها إزاي
يا بحاول إن أنا أقلل الـ dimension بتاع ال EEG علشان أزود، أـ maximize الـ difference ما بين الـ classes، أشيل الحاجات المتشابهة أـ maximize الـ differences اللي بين ال classes وبعضيها، طيب.
ليه الـ dimension بتاع ال EEG كبير؟ لأن أنت بتقيس من electrodes كتير جداً، أنت ممكن تبقى حاطط على المخ و بتقيس 100 electrode 64 electrode، أحياناً تلاتينات، أحياناً عشرينات، كل ده يعتبر عدد كبير، حتى ال wireless اللي هي بنسميها ال emotive
تمام؟ إحنا كنا اتكلمنا عنها المرة اللي فاتت دي بتقيس 14 electrode. فـ عدد الـ electrodes وكل electrode على حسب الـ sampling rate بتاعك بيقيس signal، يعني تعالوا نشوف كده example. لو أنا دلوقتي بقيس باخد ثانية ثانية
ثانية. طيب، الـ sampling rate بتاعي 250. يعني أنا عندي 250 sample في الثانية. يبقى أنا دلوقتي كل ثانية أنا عندي matrix شكله إيه طالع من المخ؟ لو أنا عندي 64 electrode يبقى أنا عندي matrix 64 في 250.
64 ده عدد الـ electrodes أو عدد اللي بنسميها الـ channels، وكل channel فيها 250 sample لأن أنا بقيس 250 sample في الثانية. فـ matrix زي ده وعلى فكرة أنا في أحيان كتير second واحدة مش كفاية، بقيس ممكن 3 seconds
هيبقى ال 64 في 750، فده matrix كبير، كبير. تمام؟ فـ علشان أعرف أعمل training محتاجة data كتير وده مش دايمًا متوفر. فـ من- ده غير كمية ال redundancies اللي موجودة ما بين ال electrodes وبعضها.
والحاجات المتكررة والـ noise. فبنقول من هنا إن أنا ببقى من أحد أساليب الـ spatial filtering إن أنا أحاول أـ reduce الـ dimension ده، أنزل الـ dimension ده، ميبقاش 64 في 750، يبقى حاجة أقل من كده بكتير.
بحيث بشرط إيه؟ إن أنا التقليل ده يـ maximize الـ differences ما بين الـ classes، يبقى ده معناها هو بيعمل إيه؟ بيشيل كل الحاجات اللي هي المتكررة اللي أكيد هيبقى جواها الـ noise، لأن الـ noise هتبقى متكررة في ال electrodes. تمام؟
فـ وفي حاجة تانية، أسلوب إن أنا بعمل حاجة ما يسمى إن أنا أـ identify الـ hidden sources. دي إن أنا أمسك الـ signal وأفصصها، الـ EEG السليم لوحده والـ EOG لوحده وكل حاجة لوحدها، والـ EMG بتاع ال muscles لوحده، أفصص الـ signal
لـ الـ sources بتاعتها يعني أبتدي أفصلهم عن بعض. طيب، أنا دلوقتي علشان أقلل الـ noise هوريك إحنا هنعملها إزاي، علشان أـ reduce الـ dimension هنستخدم الـ PCA الـ principal component analysis المفروض إن أنتم خدتوها رابعة scientific خدوها machine learning صح؟
ولا ملحقتوش تاخدوها؟ حد رابعة scientific يرد. هو كان المفروض في المناهج القديمة بس لا إحنا ملحقناش ناخدها. ملحقتوش تاخدوها. طيب يبقى كده إحنا بنقولها من الصفر لكل الناس، يعني كده مبقاش فارق بقى scientific من sys
كده إحنا دلوقتي اللي هنعمله دلوقتي هنتكلم على طرق الـ reduction بتاعة الـ noise عن ط- الـ spatial filtering إزاي أقلل الـ noise وإزاي أعمل dimension reduction بالـ principal component analysis الـ PCA. هيتبقالنا ال hidden sources، الـ hidden sources دي هناخدها المرة الجاية.
عن طريق ما يسمى بـ Independent Component Analysis ICA لو عدت يعني على حد فيكم في paper ولا حاجة فدي إن شاء الله هنتكلم فيها المرة الجاية. من الحاجات اللي هنكلم فيها المرة الجاية، طيب نبتدي مع بعض موضوع الـ noise ده أحياناً بحاول أعمل noise reduction عن طريق إن أنا
عن طريق إن أنا بعمل إيه يا شباب؟ عن طريق أسلوب ال recording نفسه، في حاجة اسمها unipolar bipolar Laplacian Common Average Referencing CAR إيه الفرق بين الأربع حاجات دول؟ Unipolar يعني أنا بقيس من electrode عادي أنا حاطة electrode وباخد منه ال signal
عادي تمام؟ الـ default يعني يعني ده العادي إيه بقى الـ bipolar؟ الـ bipolar إن أنا لمّا أجى أعتمد على signal مباخدش الـ raw signal بتاعة electrode لا أنا بطرحها من electrode تاني حواليه جنبيه جنبيه في أي اتجاه
طيب، الطرح ده بيعمل إيه؟ إحنا دايما عارفين الطرح دايما بيحافظ لي على المختلف، واللي شبه بعض بيروح. تمام؟فانا هنا، زي ما أكون لما بعمل، لما بستخدم حاجة زي كده زي bipolar ده، أنا ببقى، بيبقى تفكيري إن أنا
مش باخد signal EEG raw كده بطبيعتها، أد ما أنا بركز على الاختلاف ما بين الـ recording بتاع الـ electrodes. المختلف، اللي بين two electrodes قريبين من بعض. الـ common بيتشال بالطرح، ويتبقى الاختلافات. طبعًا الـ noise تعتبر من الحاجات الـ common.
تمام؟ فكده بقول إن أنا إلى حد ما بقدر أشيل noise. طيب، ده معنى الـ bipolar. فيه بقى الـ laplacian، الـ laplacian نفس الفكرة، بس هما الـ bipolar والـ laplacian والـ CAR كلهم نفس الفكرة، بس الفكرة أنا بطرح من مين.
في الـ bipolar أنا بطرح اتنين من بعض. في الـ laplacian أنا بمسك كل electrode وبطرحه من average الأربعة اللي حواليه. يعني بعمله smoothing، بمسك كل electrode وبطرح منه average الأربعة اللي حواليه. فإحنا بنقول إن هنا الـ muscle activity، الـ EOG activity، اللي هي غالباً هتبقى ظاهرة في الـ electrodes كلها، ممكن تخف أو تروح في إيه؟
عملية الطرح دي. تمام؟ فده الـ laplacian. طيب، إيه بقى الـ CAR، اللي هو الـ common average referencing؟ بدل ما بطرح من average الأربعة اللي حواليا، لا، أنا باخد average الـ electrodes كلهم، كلهم كلهم، كلهم. تمام؟
اللي أنا شغالة بيهم، يعني لو هما 64 يبقى average الـ 64 كلهم. بحسبه وأبتدي أمسك بقى الـ signal بتاعة كل electrode وأطرح منها هذا الـ average. تمام؟ ده ما يسمى بالـ common average referencing. ممكن نبص عليها أكتر في الرسمة دي ونستوعبها.
الرسمة دي بصوا، الـ bipolar أهو، فوق. اللي هو FP1، FP2. هو هنا بيقولي لو أنا مثلاً bipolar إن أنا أطرح الاتنين دول من بعض وآخد الـ result. كده يبقى أنا كده اشتغلت bipolar. الـ laplacian أهو، اللي- في النص أهو، اللي هو عند الـ CZ عند الـ CZ.
الـ CZ، لو أنا اشتغلت laplacian يبقى CZ minus average FZ اللي فوقيها، زائد PZ اللي تحتيها، زائد C4 اللي على يمينها، زائد C3 اللي على شمالها. ده laplacian. بعد كده عندنا الـ هنا بقى بصوا كده تحت على اليمين كاتبين الـ CAR أنا علمت عليها بالأحمر أهو.
الـ CAR أنا حاطاها على جنب هنا لأن المقصود إن أنا باخد average الـ electrodes كلها. تمام؟ طيب لحد كده واضح الـ bipolar والـ laplacian والـ common average referencing ولا لأ؟ واضح الفروق بينهم؟
تمام. أي سؤال يا شباب؟ طيب ماشي. طيب الـ principal component analysis. كده إحنا اتكلمنا على حتة الـ noise reduction عن طريق الـ bipolar والـ CAR والـ laplacian recording.
عايزين بقى نتكلم على الـ principal component analysis كأسلوب في الـ dimension reduction. هو بيستخدم في الـ EEG وبيستخدم في حاجات تانية كتير جدا بيستخدم في الـ images بيستخدم في حاجات كتير. تمام؟ طيب علشان أقدر أستوعب الـ concept بتاع الـ principal component analysis
الـ concept. الـ concept نفسه علشان أستوعبه هحتاج إن أنا أراجع على شوية حاجات بس نفتكرها في الـ statistics في الإحصاء وفي الـ linear algebra ودي courseـات إنتوا خدتوها قبل كده في أولى وتانية.
حاجات بسيطة يعني متقلقوش يعني مش موضوع مش هنقلبها حصة رياضة يعني. الـ concept بتاع الـ principal component analysis علشان بس يعني نبقى نبقى قبل ما نقعد نراجع ونفتكر نبقى نفهم بس إحنا عايزين نوصل لإيه. أنا عندي الـ space بتاعي
الـ space بتاعي زي ما أنا هرسم كده نفترض إن أنا عندي الـ space بتاعي 2D بالشكل ده مثلاً يعني. فانا عندي classes فيه، آدي الدواريات دي، وبعد كده عندي مثلاً مثلثات، مثلثات، مثلثات. فالدواريات والمثلثات
داخلين في بعض. داخلين في بعض ليه؟ لأن الـ features اللي هي F1 و F2 اللي موجودين، أو مش ضروري بقى F1 و F2، ممكن يبقى F1 لحد Fn. الـ features اللي موجودة highly correlated. يعني إيه highly correlated؟
يعني في بينهم في بينهم correlation عالي، يعني فيهم redundancies. يعني فيه حاجات متكررة ما بينهم وما بين بعض. عشان كده لو أنا جربت أحسب الـ correlation ما بين أي واحدة والتانية هيطلع رقم كبير. ليه؟ بسبب الـ redundancies اللي بينهم. تمام؟
فهنا أنا بالنسبة لي أنا عاوزة إيه؟ علشان أسهل على الـ classifier، أنا عايزة أنقل الـ data من الـ space اللي هي فيه أوديها لـ space تاني، في الـ space التاني ده تبقى الـ features uncorrelated.
يبقى أنا عايزة أعمل projection، إسقاط للـ data من الـ space الأصلي اللي هي فيه، اللي غالباً الـ dimension بتاعه كبير أوي، لـ dimension تاني، space تاني بـ dimension تاني غالباً أصغر منه بكتير أوي الـ dimension الجديد ده، والـ dimension الصغير ده
أنا أقدر أشوف الدواريات والمثلثات بعيد عن بعض، فأعرف أفصل بينهم بخط بـ curve بأي حاجة، يعني الـ classifier يقدر يبني بينهم boundary بسهولة. طيب، أنا هنا طالما أنا خليت الـ features uncorrelated يعني أنا عملت ايه؟
طالما بقوا uncorrelated، يعني لما أمسك أي feature في الـ dataset اللي عندي، أضرب قيمتها بقيمة feature تانية في نف- الـ dataset بتاعتي، يطلعلي الرقم حوالين الصفر، مفيش. ده معناه إيه؟ مفيش correlation بينهم. يبقى ده معناه إيه؟
إن الـ two features دلوقتي دول مابقاش فيهم تكرار. مابقاش فيهم redundancies. بقت كل واحدة بتقيس info، information مختلفة عن التانية، وفي الغالب الـ information المختلفة دي هي الـ information الخاصة بالـ classes بتاعتي، اللي أنا عايزة أميز بينهم وبين بعض.
خلوني أديكم مثال واقعي كده، نقدر نميز بيه. لو أنا دلوقتي عايزة أميز صور، الصور دي فيها دوائر، فيها دوارية أو مثلث. فأنا عندي اتنين class، الدوارية والمثلث. لو أنا واخدة جايبة الصور زي ما هي، فهلاقي إيه؟ إيه الـ data اللي عندي؟
الـ data اللي عندي صورة ليها dimension كذا في كذا، عبارة عن pixels، كل pixel ليها intensity، لون. فحضرتك الـ features بتاعتك هنا هي عبارة عن الـ intensities دي كلها. يعني لو الصورة 20 في 20 فإنت عندك 400 pixel، يعني 400 intensity.
400 لون. تمام؟ اللون بتاع كل pixel. حلو أوي. طيب، ده كده لو أنا مدخلة، جايبة الصورة كده مدخلاها زي ما هي على classifier. طيب. طيب يا جماعة، هي الصورة دلوقتي مش فيها background حوالين الدوارية أو المثلث؟ الدوارية والمثلث دول مش فيهم مش ليهم لون؟
هي الحاجات دي يا جماعة مش بتعمل redundancies؟ يعني مش ممكن المثلثات والدواير دول تبقى الـ background بتاعتهم لون أبيض زي بعض؟ المثلثات والدواير دول مش ممكن تبقى الألوان بتاعتهم كده متشابهة؟ في تشابه في الألوان؟ طب كل ده مش redundancy؟
كل دي مش حاجات تلخبطلي الـ classifier؟ كل دي مش حاجات تخليلي الـ intensities دي الـ correlation بينها عالي؟ ليه عالي؟ لأن ألوان شبه، فيه ألوان يعني فيه background وفيه حاجات شبه بعض كتير في الصورة. الصورة فيها حاجات كتير شبه بعض.
تمام؟ طيب، أنا بقى عاوزة إيه؟ لما أنقل لـ space، لما أعمل projection للصور دي عن طريق الـ PCA مثلاً، وأروح لـ dimension أصغر بكتير. الحقيقة الـ PCA بتعملي إيه؟ بتوديني، بتخـ- بتوديني لـ space
الـ dimension بتاعه أقل والـ features فيه، اللي كانوا مثلاً n و n دي رقم كبير أوي، بقت k، k ده رقم صغير. الـ k features دول uncorrelated، يعني غير بعض. غير بعض دي يعني إيه؟ يعني أنا فقدت كل المعلومات الخاصة... ما هو إيه إيه اللي بيعمل correlation؟
مش الـ background؟ مش الألوان؟ مش الحاجات دي اللي بتعمل correlation؟ طيب لما أنا أقولك uncorrelated، معناه إن الحاجات دي اختفت. يبقى إيه اللي فاضل؟ الفروق ما بين شكل المثلث والدوارية. يبقى طبيعي إن في الـ dimension الجديد هلاقي الدواير والمثلثات
فيه تباع- الـ classes مش داخلين في بعض، لا، فيه فيه تباعد شوية بينهم، أقدر الـ classifier يقدر بشكل أسهل بكتير يحط بينهم boundary. فكده الـ concept اتفهم؟ حد عنده فيه سؤال؟ كـ concept كده.
فهمنا الـ concept يا شباب؟ أي سؤال، أي استفسار؟ أعيد تاني؟ تمام يا doctor. تمام تمام، إنتوا معايا ولا الناس نامت مني ولا إيه؟ ايوة مع حضرتك
طيب تمام، الحمد لله. أنا احب أسمع صوتكم كده. تمام. طيب، فده ده الـ concept الرئيسي بتاع الموضوع. طيب إزاي إحنا إزاي الـ PCA بقى دلوقتي اللي إحنا عايزين نفهمه، أو اللي إحنا محتاجين نعرفه في وقتنا المتبقي من المحاضرة.
إزاي الـ PCA بتعمل الحركة دي؟ إزاي الـ PCA بتنقلي الـ data بتاعتي أو هتنقلي الـ EEG signals بتاعتي من الـ dimension العالي في كل channel. هي في كل channel الـ dimension بتاعها عالي زي ما إحنا قلنا، 250 sample، 500 sample، 750 sample، 1000 sample.
عدد الـ samples كبير. فإزاي ده.. إزاي ده بيقل؟ الـ projection ده بيحصل؟ والـ space التاني ده أنا بجيبه منين؟ يعني الـ space الجديد السحري ده اللي هو الـ dimension بتاعه أقل بكتير من الأصلي، والـ data فيه لما بيحصلها projection.
بلاقي إنه الـ values بتاعة كل example، كل training example عندي بقت uncorrelated. يعني بقت فعلاً كل value موجودة مختلفة عن- كل value موجودة في الـ example مختلفة عن اللي حواليها وشايلة information
مهمة. تمام؟ إزاي ده بيحصل؟ عشان نعرف إزاي ده بيحصل فإحنا محتاجين زي ما قلنا نراجع شوية statistics كده بسيط و linear algebra. بالنسبة للـ statistics محتاجين نراجع حاجتين، يعني إيه variance ويعني إيه covariance.
نروح على الـ rules بتاعتهم، ده هيخلي الدنيا أسهل. الـ variance معناه هو انتشار بالبلدي كده انتشار الـ data حوالين الـ mean. يعني أنا عندي شوية data كده، الـ mean بتاعهم هنا في مكان معين، طب يا ترى الـ data منتشرة، انتشار الـ data حوالين الـ mean عامل إيه؟
طبعاً لما الـ variance بيكون صغير، معناها إن الـ data كلها حوالين الـ mean. وفي الغالب الـ data دي نضيفة ومافيهاش outliers. لكن لما الـ variance يبتدي يكبر، يكبر، معناها إن الـ data دي إما إن هي واخدة range واسع، تمام؟ أو كمان عندها outliers كتير.
تمام؟ طيب، ده كان يعني معنى الـ concept بتاع الـ variance في الإحصاء. طيب الـ variance بيتحسب إزاي؟ ولا أي حاجة، إنت بتمسك الـ vector بتاعك، بتطرحه مثلاً.. أنا عندي training example أنا عايزة أقيس الـ variance، عندي dataset معينة. فبمسك الـ
الـ training examples كلهم بجيبلهم average، وأبدأ أمسك example example بطرح منه الـ mean وأعمله square وأجمع وأقسم على n. زي ما إحنا شايفين، summation من واحد لـ n لـ   ((Xi - mu)^2). Xi ده الـ مثلاً.. ده اعتبره الـ training example بتاعنا.
الـ mu ده الـ mean، وبعمل squaring والـ n small دي عدد الـ examples. ده كده الـ variance. طيب، إيه بقى الـ covariance؟ الـ covariance شبه الـ variance، بس الفرق إنه هو مش بيقيس.. مش بيعمل square. يعني مش بيضرب..
الـ Xi في نفسها، لا، ده بيضربها في example تاني. X في Y، زي ما إحنا شايفين: (X - mu_X) (signal X ناقص الـ mean بتاعها) في signal تانية خالص (الـ Y ناقص الـ mean بتاعها) على n. بجمع لكل الـ signals على
n. ده الـ covariance. الـ covariance يا جماعة أكأنه بيقيس correlation. أكأن أنا بمسك.. بعمل correlation، بقيس correlation. فأنا في الـ statistics أكأنه بيعمل correlation بالظبط. لو أنا عندي examples كتير، فأنا أكأنه بقيس الـ correlation بين كل example والباقي. وكل الباقي وكمان مع نفسه. مع نفسه ده الـ variance.
مع غيره، ده بقى الـ covariance. خلاص؟ طيب، إحنا بقى عندنا دلوقتي لو أنا عايزة.. أنا عندي dataset X capital، فيها signals. الـ dataset اللي فيها الـ signals دي.
نفترض إن الـ dataset اللي فيها الـ signals دي، دي الـ signals بتاعة electrode معين. أنا قيساها من electrode معين من الـ electrodes اللي أنا interested فيها وبقيس منها على المخ. طيب، الـ dimension بتاع الـ X، (n في m). n ده.
الـ n small دي هي الـ number of features أو الـ number of samples. في حالتنا في الـ EEG، number of samples. والـ m هي عدد الـ training examples. يبقى أنا كده عندي الـ X capital، الـ rows بتاعتها هي الـ samples والـ m هي الـ examples.
يعني الخلاصة ده الـ X capital هي عبارة عن matrix كل column بيمثل training example. كل column عبارة عن training example. طيب، لما أعوز.. أنا دايما في الأول بعمل zero mean. يعني بروح أجيب الـ mean بتاع الـ training examples دي كلها.
واطرحه من كل الـ examples، فتصبح الـ data  zero mean dataset. دي أول خطوة في الـ PCA. لازم تشيل الـ mean بتاع الـ signals كلها تطرحه، تبقى zero mean. فدي أول خطوة في الـ PCA. امسك الـ dataset بتاعتك.
احسب الـ mean بتاع الـ dataset، الـ average signal للـ dataset يعني، وامسك كل training example minus الـ average ده. كده بقت zero mean، يعني الـ mean بتاعها بقى بـ zero خلاص. طيب، لو أنا عملت كده، لو أنا شلت الـ mean، إيه اللي هيتبقى لي في قانون الـ covariance؟
أو الـ variance خلاص، بقت x في x بقت  x في x هي في نفسها يعني  x في x لأن خلاص مابقاش فيه minus mean، ما أنا خلاص شلته، أنا خلاص طرحته، فبقت يعني بقت هنا لو أنا هارجع slide لورا بقى الـ variance القانون بتاعه x^2.
x^2 على n، والـ covariance القانون بتاعه x في y على n، لأن الـ mean متشال أصلاً، فبقت خلاص الـ variance هو x^2 لأن أنا مع نفسي، والـ covariance أنا مع غيري فـ x في y خلاص؟ طيب أنا بقى دلوقتي لو أنا عندي الـ matrix بتاع الـ dataset بتاعي اللي اسمه X capital ده وعايزة أجيبله covariance.
يتحسب إزاي؟ ولا أي حاجة، (X في X^T ) (X في X^T)، الـ X دي اللي هي n في m، هاتضربها في الـ transpose بتاعها اللي هي m في n. طيب حضرتك كده أنت بتعمل إيه؟
أنت بتمسك الـ value بتاعت أول sample في كل الـ examples تمام؟ وتروح تضربها في الـ value بتاعت أول sample الـ value بتاعت.
أول في نفسها يعني في أول معلش هقولها تاني sorry بضرب الـ value بتاعت أول sample في كل الـ examples مع- معاهم كلهم، يعني مع نفسها مرة ومع تاني sample في كل الـ examples، مع تالت sample في كل الـ examples
مع رابع sample في كل الـ examples وهكذا، أنا لما أضرب n في m في m في n هيطلعلي matrix square (n في n، )n في n ده عبارة عن إيه؟ زي ما قلتلكم كده عبارة عن كل sample في كل الـ examples محسوب الـ correlation بتاعتها مع الـ samples كلهم including نفسها.
فهلاقي إن الـ matrix عندي زي ما أنا شايفاه كدة على اليمين الـ diagonal بتاعه هو ضرب كل sample في نفسها، كل sample- الـ sample معينة في كل الـ example الـ correlation مع نفسها، إداني variance، فالـ diagonal هو الـ variance.
والـ off-diagonal يعني اللي فوق الـ diagonal واللي تحتيه ده الـ covariance، ده بقى كل sample مع sample غيرها، خلاص؟ يبقى أنا هنا عندي الـ matrix هايطلع n في n، n دي عدد الـ samples، هايطلعلي الـ diagonal هو الـ variance يعني أنا دلوقتي الـ values بتاعت sample معينة في كل الـ examples.
الـ correlation مع نفسها، فطبيعي هيطلع value عالية جداً ده ده متوقع، طيب الـ off-diagonal بقى فوق وتحت، ده بقى الـ correlation ما بين sample معينة في كل الـ training examples مع sample تانية في كل الـ training examples، خلاص؟
طيب يبقى أنا كده بقيس، يبقى أنا كده الـ matrix ده يا شباب بيقيس لي الـ correlation ما بين الـ samples وبعضها، قيم الـ samples وبعضها. أنا التوقع في الأول وأنا جايبة كده EEG كدة wer-wer كدة لسه متقاس بالـ noise بكل الـ noise اللي فيه بسلطاته ببابا غنوجة.
هلاقي إنه الـ variance عالي، الـ diagonal ده قيم عالية، وهلاقي الـ covariance كمان عالي، سواء قيمة positive أو قيمة negative، لأنه القيمة العالية الـ positive معناها الـ correlation عالي، الـ values دي بتزيد مع بعض أو بتقل مع بعض، الـ samples دي ماشيين سوا
بيقلوا سوا أو بيزيدوا سوا، زي لون الـ pixel، نفس اللون، ما هما زي بعض، تمام؟ لو أنا بتكلم على image يعني. طيب، الـ negative، لو الـ correlation، لو قيمة الـ correlation طلعت negative، الكلام ده كله خدناه في الـ signal، معناها علاقة عكسية، واحدة تزيد واحدة تقل. طيب.
zero، zero يعني مفيش علاقة. إحنا متوقعين الـ data في الأول وهي في الـ dimension الأصلي، تمام؟ هنلاقي إن الـ matrix ده الـ values بتاعته كله عالية، كلها عالية، correlation عالي أوي ما بين الـ samples وبعض، ما بين الـ samples دي بالنسبة لي features، ما بين الـ features وبعض الـ correlation عالي.
الدنيا صعبة. طيب، دلوقتي في معلومة ناقصة عايزين نقولها عن الـ matrix ده، إن الـ matrix ده فيه الـ symmetry around الـ diagonal، يعني الجزء اللي فوق شبه اللي تحت، ليه؟ ما هو أنا لما أقيس الـ correlation ما بين الـ sample التانية والتالتة.
هي هي لما أقيس الـ correlation ما بين الـ sample التالتة والتانية، 2 و 3 زي 3 و 2، 4 و 1 زي 1 و 4، ما هم هم نفس الاتنين، تمام؟ فعشان كدة اللي فوق الـ diagonal هيبقى مراية للي تحت الـ diagonal، شبه بعض نفس الـ values.
فدي الخصائص الخاصة بهذا الـ matrix، إنه هو square matrix، الـ variance الـ diagonal بيمثل variance، الـ covariance هو اللي فوق واللي تحت، ده اللي بيمثل correlation ما بين الـ samples وبعضها، اللي فوق هيبقى مراية للي تحت علشان في الآخر إحنا بنتكلم على نفس على كل pair هو هو، 2 و 3 زي 3 و 2.
واتفقنا إن الـ data الأصلية نظراً للـ redundancies والـ dimension العالي، فأنا هلاقي إن قيم الـ correlation هنا عندي اللي هي بتسمى covariance values هنلاقيها عالية جداً. طيب، كدة إحنا شرحنا الجزء اللي إحنا محتاجينه في الـ statistics لحد النقطة دي.
حد عنده أي سؤال أو شيء مش واضح؟ أنتوا نمتوا؟ ولا مش سامعيني؟ لا تمام يا doctor.
نا أنا ببقى عايزة أطمن إنكم معايا ومتجاوبين معايا دي حاجة، ثانيًا بطمن إنكم سامعيني فدايمًا لما أكلمكم ردوا عليا عشان أطمن إنكم بس سامعيني إن النت مقطعتش وأنا بكلم نفسي. تمام يا doctor.  تمام يا doctor. سامعين حضرتك تمام. تمام. طيب ده كدا الجزء اللي إحنا قلنا بتاع الايه؟ الـ statistical background اللي إحنا محتاجين إن احنا
نبقى عارفينه تمام طيب هنخش على موضوع الـ linear algebra، في الـ linear algebra إحنا محتاجين ما يسمى بالـ eigen vector والـ eigen values مش محتاجين تحسبوهم إنتوا هتـ هتحسبوهم بـ functions جاهزة في الـ python في الـ matlab هما built-in فيعني الحاجات دي إحنا بنستخدمها
بنحسبها وبنـ يعني على طول بس عايزين بس لازم يبقى عندنا فكرة هي بس هما ماشيين إزاي بس مش أكتر أكيد أنا مش هرجع تاني أشرح طبعًا linear algebra لأن دي الـ eigen values والـ eigen vector دي محاضرة كاملة لوحدها أنا بس هقول يعني ما يلزمنا بس
الـ eigen فكرة الـ eigen values والـ eigen vectors إن أنا يعني اللي أنا عايزة أحاول أفكركم بيه إن هي بتمثل لي الـ equation اللي هي دي اللي أنا حددتها بالأحمر اللي هي AV = lambda V. الـ A ده matrix أي matrix, square matrix
أهو square matrix مثلاً A فهو square matrix يتضرب في V ده vector خلاص فبقول الـ eigen vector هو الـ vector V أقدر أقول إن الـ eigen vector V ده هو eigen vector للـ matrix A لو حقق الـ equation دي
lambda دي هي constant بسميه eigen value يعني لو الـ لو الـ vector V، الـ vector V ده أقدر أسميه eigen vector لـ matrix A لو في حالة إن أنا ضربته في الـ A هيطلع multiples من الـ V ده يعني V مضروب في
الناتج اللي هيطلعلي هو هو نفس الـ V بس معموله amplification مضروب في constant تمام طيب لو مطلعش كدا يبقى الـ V ده مينفعش يكون eigen vector أبدًا لهذا الـ matrix تمام طيب الـ eigen values والـ eigen vector هي only للـ square ma
matrix. والـ eigen vectors by definition لازم تبقى non-zero مينفعش eigen vector يبقى zero لازم تبقى الـ non-zero value خلاص طيب المفروض طبعًا دي حاجات ليها فوايد كتير بتستخدم أنا أنا بالنسبة لي اللي يهمني
إن الـ eigen vectors دي هما perpendicular على بعض فانا أقدر أعمل بيهم space زي ما هقولكم دلوقتي الـ eigen vectors دي هتكون هما هيكونوا space جديد ليا هقولكم إحنا هنط- هنحسبهم لأنهي matrix وأشمعنى هنستخدمهم هم هجاوبكم على الأسئلة
فأنا بالنسبة لي الـ eigen vector أنا هاخد ميزة إنهم perpendicular على بعض وبالنسبة لي ينفعوني إنهم يبقوا space الـ space الجديد بتاعي الـ axes بتاعة الـ space الجديد بتاعي الـ axes مش أنا عندي الـ axes الطبيعي بتاعي x و y و z
ده كدا 3D أو 2D x و y طيب أنا بقى لما أعمل space هعمل space جديد الـ axis بتاعته دي eigen vectors هي الـ eigen vectors طيب الـ eigen values والـ eigen vectors دي بس هوريلكم ليها example عشان بس نقتنع أو نفتكر الحكاية
بصوا ده matrix A خلاص square matrix أهو فوق عندي two rows و two columns, 2 2 minus 4 8 وهو مديني vector V و vector W وبيسألني مين في دول ينفع eigen vector لـ A
طيب تعالوا نضربهم في بعض لو ضربت AV، لو ضربت AV شغل الضرب بتاع الـ math الطبيعي هيطلعلي vector أربعة وأربعة طيب أقران بينه كدا وبين الـ V، الـ V كانت واحد وواحد وده أربعة وأربعة يبقى ما أقدرش أقول إن ده بيساوي 4V؟
أقدر أقول إن AV = 4V يبقى 4 دي هي الـ eigen value هي الـ lambda والـ V هو فعلًا eigen vector لـ matrix A، ليه؟ لإنه حقق المعادلة. هو لما اتضرب في الـ A الناتج طلع هو هو نفس الـ V بس مضروب في factor مضروب في con
تمام طيب تعالوا نجرب كدا الـ W لو ضربت AW هيطلعلي 6 و 0 لما أقارن 6 و 0 بقيمة الـ W اللي هي 2 و 1 مفيش اي علاقة. مفيش constant أضربه في الـ W فيديني 6 و 0.
يبقى ده معناه W مستحيل تكون eigen vector للـ matrix A لو شفنا الرسمة اللي على اليمين دي هنشوف المعنى ده أوضح الخط الأحمر بيقولي إن دايمًا vector V ماشي في نفس الـ direction بتاع AV يعني لما أضرب A في V.
هتبقى قيمة أكبر تمام قيمة أعلى بس هي في الآخر كـ magnitude هي قيمة أعلى لكن في الآخر هي في نفس الـ direction بتاع الـ V عشان كدا هي عبارة عن V مضروبة في constant. طيب بصوا كدا على AW و W بعاد عن بعض خالص مش نفس الـ direc
عشان كدا W مينفعش يبقى eigen vector للـ A، تمام؟ لإنه لما بيتضرب فيه مش بيكمل في نفس الـ direction بتاع الـ W. فدي فكرة الـ eigen values والـ eigen vector يبقى الـ eigen vector هو vector هو
أقدر أقول هو vector بقول eigen vector عليه لأي matrix لو في حالة واحدة بس لو اتضرب فيها لو اتضرب في الـ matrix دي يديني نفس الـ vector بالظبط بس مضروب في constant. يعني ده معناه إن الـ vector ده ماشي في نفس الـ direction بتاع الـ vector ضرب
ده كدا معنى الـ eigen vector. والـ eigen value هي الـ constant اللي بيتضرب فيه الـ vector ده. تمام كدا؟ طيب، لحد كدا أي سؤال أنا كدا خلصت الـ background هتكلم على طول بقى دلوقتي في الـ PCA نفسها. في أي سؤال هنا؟
لا تمام يا doctor. تمام. طيب بصوا بقى أنا دلوقتي عندي الـ eigen vectors والـ eigen value
أنا عندي- بالنسبة لي زي ما قلنا هما الـ eigen vectors دايمًا linearly independent يعني إيه linearly independent؟ يعني vectors مينفعش أحسبهم أحسب واحد من التاني. يعني على سبيل المثال مثلاً لما أنا أقولك vector مثلاً 4 و 2
و vector 2 و 1 الـ vector 4 و 2 ده إنت تقدر تجيبه من التاني لو إنت ضربته في 2. يبقى ده معتمد على ده ينفع يجي منه لا الـ eigen vector independent يعني لما ترصهم كدا لما تجيب كل الـ eigen vectors بتاعة matrix وترصهم جنب بعض
استحالة تعرف تحسب واحد من الباقي. استحالة. independent مستقلين عن بعض تمامًا استحالة تعرف تجيب واحد من التاني. تمام؟ تمام. وزي ما قلنا الـ eigen vectors والـ eigen values بتتحسب بس لـ square matrix
نخش بقى في principal component analysis الـ principal component analysis هي statistical procedure بتستخدم orthogonal transformation to convert a set of observations impossibly correlated variables into a set of values of linearly uncorrelated variables called principal components
يعني إيه بقى الكلام المجعلص ده؟ معناه الـ PCA هي algorithm statistical إحصائي الإحصا- بيعمل إيه؟ بيعمل transformation تحويل للـ observations بتاعتي الـ training examples
بياخد الـ training examples من الـ space الأصلي اللي كانت فيه خلاص اللي هي معروف إن هي في الـ space الأصلي ده كانت represented بـ variables أو نسميها features أو نسميها samples التلاتة نفس المعنى sample
features, variables. التلاتة واحد. samples و features و variables التلاتة نفس المعنى بالنسبة لي هنا نفس المعنى correlated correlated أنا عندي زحمة معلومات ملهاش لازمة وحاجات شبه بعض وحاجات ملهاش علاقة بالـ classes بتاعتي وهيصة
تمام؟ فأنا بنقل الـ data من الـ space الكبير اللي الـ variables بتاعته correlated أوي كدا لـ space تاني تمام؟ الـ variables بتاعته الـ features الـ axes بتاعته دي الـ variables على الـ axes بتاعته uncorrelated
تمام طيب الـ axes بتاعة الـ axes بتاعة الـ space الجديد بسميها principal components الـ axis بتاعة الـ space الجديد بسميها principal components
طيب ليه بقول orthogonal transformation في كلمة orthogonal فوق إحنا محتاجين نفهم معناها كلمة orthogonal دي علشان أنا بنقل من space لـ space وبطبيعة الحال الـ space ده الـ axes بتاعته perpendicular على بعض لازم يكونوا perpendicular على بعض
يا doctor معلش. أيوة. هو الـ axes برضو أقدر- يعني الـ features أو الـ samples أو الـ variables دي بتبقى represented بالـ axes مظبوط كدا؟ أيوة يعني بصي زي- بصي بصي أنا هرسم لك حاجة هنا
بصي في حاجة بسيطة دول كدا axes اتنين axis صح؟ الأحمر شوفتيهم؟ أه أه تمام. ده كدا اتنين axis لما أنا أجي أقولك النقطة دي الدوراوية دي النقطة دي ليها قيمة للـ axis الأولاني وليها قيمة تانية عند الـ axis التاني
f1 feature 1 و feature 2 تمام؟ النقطة دي أقدر أقول عليها بقى example؟ والـ axis ده بقى feature أو sample أو variable أيا كان بالنسبة لي بقى. أيوة أيوة إنت عندك النقطة دي بصي النقطة دي هي هي بصي النقطة دي هي الـ example بتاعك بالظبط
وبعدين إنت عندك بقى الـ axes دي دي الـ axes اللي هي الـ space بقى اللي إنت فيه حسب بقى الـ space ده بيعبر عن إيه بالظبط يعني إيه بقى هو بيمثل إيه بالظبط المهم إنها axis perpendicular على بعض وبعدين إنتي بقى مثلاً نفترض إن الـ axes دي عددهم n يبقى إنتي عندك
الـ example الدوراوية دي ليها n values, value عند كل axis من الـ axes دي. دي بقى اللي اسمها feature أو بقى قيمة sample أو قيمة variable كدا. كدا تمام وضحت يا doctor. تمام؟ أو أقولها لكم حتى بشكل تاني لما انا أقول مثلاً
أنا دلوقتي عندي function في x و y فـ variable x و variable y فأنا بحط variable x على الـ x axis و variable y على الـ y axis كدا. طيب.
طيب هنا بنقول بس هنا بنوضح فكرة مهمة في الـ projection إن أنا لما بعمل projection مثلاً لنقط في 2D بخليها 1D بصوا هنا النقط دي في x1 و x2 أنا هعملها projection على الخط اللي هو u ده
خلاص الـ projection لازم يكون إن المسافة ما بين النقطة في الـ space الحقيقي ومكانها على الـ projection line أقل ما يمكن فزي ما إحنا شايفين كدا بصوا على الشمال الـ data دي.
فوق وتحت هي هي بس الـ projection كان مختلف لما فوق كانت فعلاً المسافة ما بين كل نقطة ومكانها بالأحمر على الخط تمام؟ الخط كانت مسافة صغيرة جداً لكن تعالوا بصوا هنا بقى على اليمين تحت لو أنا واخدة الخط بالعكس
المسافة كبيرة جدا، فالخط ده بالنسبة لي ماينفعش projection، اللي فوق هو اللي ينفع، اللي تحت ده ماينفعش. تمام؟ لازم minimum distance. طيب ده كده أنا بـ project من 2D لـ 1D. نيجي هنا مثلاً
ده بوريك example تاني لـ 3D، بصوا الـ data هنا في الـ 3d. فأنا باجي عايزة بعملها projection للـ 2D، أكأني جيبت plane الـ plane اللي هو z1 z2 ده. وحطيته كده ونزلت عليه كل الـ points، فبقى الرسمة اللي في النص دي. الرسمة اللي في النص دي أنا جيبت الـ 2D plane
وعملت projection لكل النقط فوقيه. فلما أخدت الـ projection ده ورسمته في الـ 2D طلعلي المنظر اللي هو z1 z2 اللي أنا عملت حواليه الدوارية دي. يبقى الـ 3D اللي كان في الأول x1 x2 x3 حصل له projection في space أصغر z1 z2 زي ما إحنا شايفين.
تمام؟ و z1 z2 دول perpendicular أهو زي ما إحنا شايفين. خلاص؟ بس dimension أقل، ده كان 3 ده بقى 2 دلوقتي. تمام، طيب. طيب نيجي بقى دلوقتي، إحنا نطبق الـ principle component بقى إزاي؟ نعمل إيه؟
بص بقى يا سيدي، حضرتك هتمسك الـ training set بتاعتك تطرح منها الـ mean. أنا عندي الـ training set عبارة عن examples من أول x1 لـ xm، زي ما هو واضح هنا في أول سطر عندي، معلش هرجع أرجعها تاني. أهو، واضح عندي من x1 لـ xm. m ده عدد الـ examples.
فأروح أحسب الـ mean بتاع الـ examples، اللي هو مجموعهم على m. وأمسك كل example، example example من 1 لـ m، أطرح منه هذا الـ mean. كده أنا بقى عندي data خلاص، الـ data دي zero mean، الـ mean بتاعها اتشال واترمى.
طيب. هعمل إيه بقى؟ هعمل matrix كبير اسمه x، الـ matrix ده الـ dimension بتاعه n في m. يعني كل column فيه بيمثلي example من الـ training example اللي هي zero mean دي. يبقى أنا هعمل matrix كبير اسمه X capital
هحط جواه الـ training examples بتاعتي، كل column بيمثل example. والمفروض إن الـ dimension بتاع الـ example بتاعي n small. n small بقى عدد features، عدد samples، مش مشكلة، مش مشكلتنا.
intensity values لـ pixels، أي حاجة، خلاص؟ طيب، فكده أنا عملت matrix كبير للـ training اسمه x capital. الـ dimension بتاعه n في m، لأن كل column فيه بيمثل example من m examples.
وكل row فيه عبارة عن feature من الـ n feature. والـ X الكبي- والـ X capital دي zero mean، ليه؟ لأن أنا طرحت الـ mean من كل الـ example. تمام؟ أدي كده، أدي كده ده كده الـ preprocessing اللي بيحتاجه الـ PCA.
أنا كده نفذته خلاص عملت الـ preprocessing، الخطوة اللي بعد كده. بنحسب الـ covariance matrix, x x^T زي ما شوفنا من شوية. تمام؟ بحسب الـ covariance matrix، طيب إحنا عارفين الـ x x^T دي هتطلعلي إيه؟ الـ diagonal هو الـ variance
بتاع الـ n features بتاعتي والـ off-diagonal ده correlation ما بين كل features والباقي. كل feature والباقي. وإحنا متفقين إن في symmetry حوالين الـ diagonal، ليه؟ لأنه لما أعمل correlation ما بين الـ feature x و y زي y و
x. فآدي الـ matrix اللي هيطلع اللي هو cov ده. c o v. الـ matrix ده يا جماعة أنا هحسبله الـ eigen vectors والـ eigen values بتاعته عن طريق method اسمها singular value decomposition وزي ما قولنا دي automatically بجيب بنده على function في الـ python بتحسبها لو
حضرتك مالكش دعوة، خلاص؟ طيب، أنا دلوقتي جيبت الـ eigen vectors والـ eigen values بتاعة الايه؟ الـ covariance matrix، طيب. الـ eigen vectors دي يا شباب هتبقى هي الـ axes الجديدة
بتاعة الـ space الجديد بتاعي. أولاً أنا عندي الـ matrix n في n الـ cov ده الـ cov ده n في n. فـ أنا هيطلع عندي n eigen vectors
في عندي n eigen vectors خلاص؟ و n eigen values، كل eigen vector عنده الـ eigen value بتاعته. طيب، يبقى أنا دلوقتي في space جديد عبارة عن الـ dimension بتاعه لسه n برضه، لكن الـ axes بتاعته هي الـ eigen ve
vectors. إشمعنا؟ ليه اتعملت كده؟ اتعملت كده علشان اتوفر حاجتين. الحاجة الأولانية إن الـ eigen vectors بتوع symmetric matrix، يعني أنت لما تجيب square matrix والـ matrix ده symmetric اللي فوق زي اللي تحت
وتقوم حضرتك حاسبله الـ eigen vectors، الـ eigen vector هيطلعوا perpendicular على بعض. وإحنا أول شرط أساسي في أي space إن الـ axes بتوعه يكونوا perpendicular على بعض، فأنت حضرتك كده الـ eigen vectors بتاعة covariance matrix حققت الشرط ده.
perpendicular على بعض، إشمعنا؟ لأن covariance matrix symmetric حوالين الـ diagonal. طيب، إيه طب هل ده سبب كافي إني أختاره إنه يبقى الـ space بتاعي؟ لا طبعاً، في سبب تاني الأهم، لما بعمل proje
jection للـ data بتاعتي في الـ space بتاع الـ eigen vectors ده؟ تمام؟ بعد ما بعمل projection لو روحت حسبت الـ covariance matrix بتاع الـ new values للـ data الجديدة، ما الـ data الـ data حصلها projection بقت الـ values بتاعتها مختلفة. لو جيبت بقى covariance matrix للـ data في الـ space الجديد
هروح أقولها تاني، لو جبت الـ covariance matrix للـ data في الـ space الجديد هتلاقوا مفاجأة، هتلاقوا الـ matrix ده طالع، الـ diagonal هو الـ variance طالع فيه قيم وفوق وتحت اصفار! يبقى ده معناه إيه؟
الـ correlation حصل له إيه؟ طار! دلوقتي أنا بقيت في space الـ features، الـ samples، الـ variables مش correlated، uncorrelated مالهومش دعوة ببعض، مافيش أي تشابه بينهم مالهومش دعوة ببعض.
تمام؟ فده اللي خلانا نختار، ده السبب اللي خلانا نختار الـ eigen vectors بتاعة الـ covariance matrix بتاعة الـ data تبقى هي الـ axes بتاعة الـ space الجديد. سببين إنهم perpendicular
بحكم طبيعة الـ covariance matrix إنه symmetric عند الـ حوالين الـ diagonal، الحاجة التانية إن أنا لقيت إن الـ covariance matrix بتاعة الـ data في الـ space بتاع الـ eigen vector ده بيحقق لي اللي أنا عايز أوصله أصلاً، اللي أنا عاوز أوصله إنه يبقى الـ matrix بتاع الـ covariance مافهوش غير الـ variance بس
وكل الـ off-diagonal اصفار، مافيش علاقات، مافيش علاقات ما بين الـ features وبعضها، uncorrelated كل feature مع نفسها بتحمل معلومة مختلفة عن الأخرى عن الـ feature الأخرى. فمن هنا جيه الاختيار. فهنا
كل المطلوب إن أنا أمسك الـ الـ data الـ matrix بتاعي أو أي الـ training example، الـ training examples بتاعتي واحد واحد وأبدأ أعمل له projection لـ الـ space الجديد اللي فيه... اللي هو اللي الـ axes بتاعته عبارة عن eigen
طيب كده إحنا حولنا لـ space uncorrelated مافهوش correlation ما بين الـ features وبعضها، فين الـ dimension reduction بقى؟ قالك الـ dimension reduction كالاتي: الـ eigen vectors بتاعتك اللي هما n small دولت
هتعمل إيه؟ هترتبهم من الـ maximum للـ minimum حسب الـ eigen value يعني كل eigen vector عنده الـ eigen value بتاعته. فأنا هرتب الـ eigen values دي بالترتيب، نفترض مثلاً عندي تلاتة vectors: v1, v2, v3.
v1, v2, v3 وعند الـ eigen values بتاعتهم اتنين، أربعة، واحد. أنا هعمل إيه؟ هرتب الـ eigen values دي فلما أرتبهم هيطلعولي إيه؟ أربعة، اتنين، واحد، ده الترتيب من الكبير للصغير.
يبقى الـ eigen vectors اترتبت إزاي بناءً عليه؟ بقت v2 بعدين v1 بعدين v3. فأنا برتب الـ eigen vectors بناءً من الـ maximum للـ minimum بناءً على الـ eigen values الـ corresponding ليها، وبعدين؟
أبدأ أخد أول k eigen vector بس بدل ما أخد الـ n كلهم أخد k، where k أصغر من n، k أصغر من n بكتير. طيب هي الحركة دي ماتعمليش loss of information؟ الإجابة لا، ليه؟ لإنه رياضيًا الـ eigen vectors دايمًا
اللي قصاد الـ eigen values الكبيرة، أم values كبيرة أوي، بيبقى فيهم most most الـ information اللي موجودة في الـ data، في الـ data example بتاعك، موجودة معظم الـ information اللي موجودة في الـ example بتاعك هتبقى الـ values بتاع الـ eigen vectors
اللي فوق، اللي هي اللي هي بتاعت الـ maximum eigen values، فهما دول. هتمسك زي ما أنا- زي الـ example اللي إديتهولك كده، هتمسك الـ eigen values ترتبهم من الـ max تعمل sort من الـ maximum للـ minimum، وبناءً عليه هترتب عليهم الـ eigen vectors بتاعتـ
وتبدأ تاخد أول k eigen vectors. حد هيسألني الـ k بكام يا doctor؟ أحددها إزاي؟ هقولك كمان ثانية نحددها، كمان ثانيتين، كمان دقيقتين أقولك هنحددها إزاي. لحد كدة حد عنده سؤال؟ لحد النقطة دي. أنا هقولك دلوقتي إزاي بنحسب الـ projection إزاي، إزاي بنقل الـ data من space لـ space تاني
وهقولك إزاي بنجيب الـ k منين، ده اللي فاضلنا نبقى خلصنا المحاضرة. ففي ما عدا السؤالين دول حد عنده أي سؤال تاني؟ ها معايا؟ تمام يا دكتور. تمام يا دكتور معاك. دكتور أنا عندي سؤال.
قولي يا حبيبتي. هو أنا مش فاهمة الحتة بتاعت إن إحنا بنرتب الـ eigen values وعلى أساس إيه رتبناها بالترتيب ده أو إيه فكرة إن إحنا نرتبهم أصلاً؟ دلوقتي مش كل... كل eigen vector ليه eigen value صح؟ اه. اللي بتحقق المعادلة بتاعت av بتساوي lambda v دي.
تمام؟ فكل eigen vector عنده الـ eigen value بتاعته، حلو؟ حلو. دلوقتي الـ- بسم الله الرحمن الرحيم... الـ eigen values لما تبـ- لو إنتي جيتي جيتي حسبتيهم ناديتي على function في الـ python هيرجعلك الـ values بتاعهم. لو إنتي فتحتي كدة وبصيتي على الـ eigen value
هتلاقي فيهم values كبيرة أوي و values صغيرة أوي كدة. دايمًا الـ معظم الـ info بتاعة الـ data بتاعتي بتبقى في الـ eigen values الكبار، يعني أنا أهم حاجة عندي هما الـ eigen values الكبار، تمام؟ فأنا برتب الـ eigen values من الـ maximum للـ minimum. فأنا في الـ example اللي إديتهولك ده بقولك أنا عندي تلاتة eigen values، واحدة قيمتها اتنين، واحدة
قيمتها أربعة، وواحدة قيمتها واحد. فلما أرتبهم هيطلعوا إيه من الـ maximum للـ minimum؟ 4، 2، 1. يبقى الـ eigen vectors اللي قصادهم هيترتبوا بناءً عليه v2, v1, v3 عشان v2 هو اللي الـ eigen value بتاعته أكبر واحدة، v1
هو اللي الـ eigen value بتاعته تاني واحدة، و v3 هو الـ eigen value بتاعته تالت واحدة من حيث ككبر قيمة، تمام؟ طيب، إحنا بنقول إنه معظم الـ- إنتي عندك الـ معظم الـ information بتاعتك
بتبقى مركزة في... تقدري تجيبيها من الـ eigen vectors اللي عندهم eigen values عالية أوي. عالية أوي. بعد كدة دي بتبقى يعني الباقي دول اللي هما القيم الصغيرة اللي في الآخر دي بتبقى حاجات صغيرة أوي. مش فارقة أوي معايا.
تمام؟ فاهماني كدة؟ آه تمام يا دكتور، شكرًا. فأنا دلوقتي لو رتبت الـ n لو نفترض الـ n small دي كانت 100، نفترض. فـ أنا رتبتهم خلاص. فالـ eigen vectors دلوقتي مترتبين عندي من 1 لـ 100. اترتبوا. من الـ maximum للـ minimum eigen value
أبدأ آخد k، الـ k دي ممكن تطلع 10. ممكن تطلع 20، 25. بدل ما آخد الـ 100 آخد 20 بس، أو 10 بس، أو 25 بس. الـ first 10, first 20, first 25. هما دول تمام اللي إيه
دول اللي أنا هبقى عملت بيهم dimension reduction بدل ما آخد كله آخد الـ dimension الصغير ده وأبقى حافظت على most الـ information. most of الـ information. طيب، عايزين نجاوب على إحنا بنـ
بنـ بنعمل الـ إزاي بعمل project للـ data بتاعتي. كالأتي. أنا عندي بصوا الـ u ده اللي هو على الشمال ده، الـ matrix u capital، ده الـ matrix اللي فيه الـ eigen vectors كلها اللي هما n. زي ما أنتم شايفين كل column بيمثلي واحد منهم من 1 لـ n small.
طيب. كدة أنا كـ dimension أنا نفس الـ dimension القديم. طيب، هروح أعمل إيه؟ هروح أرتبهم بقى خلاص. هروح أرتبهم وآخد الـ maximum k اللي هما قصاد الـ maximum k eigen value. فبقى عندي الـ بسميه الـ u redu
الـ u reduced ده مافهوش n eigen vectors، فيه الـ first k eigen vectors زي ما إحنا شايفين. فالـ dimension بتاعه n في k. الـ dimension بتاعه n في k. تمام؟ طيب، طبيعي إن كل vector واخد الـ dimension القديم بتاع الـ training examples اللي في الـ space القديم.
وعدد الـ vectors هو العدد اللي أنا اخترته k، يبقى n في k. وطبيعي الـ eigen values أنا عندي n values أنا واخدة أول كـ... رتبتهم من الـ maximum للـ minimum وواخدة الـ first n. ده المقصود بالـ s. الـ eigen values لو ضربتهم في identity matrix
هيترصوا في الـ diagonal بالشكل ده، من x11 لـ xnn sorry. s11 لـ snn، دي المقصود بيها identity matrix الـ diagonal بتاعه فيه الـ فيه الـ eigen values. طيب. إحنا بقى بنعمل projection إزاي؟ الـ projection عبيط خالص، خالص.
بصوا أهو. أنا عايزة أـ project الـ training example رقم i. هعمل إيه؟ الـ equation قدام عيني أهي. ثانية معلش ثانية واحدة. إيه يا ابني فيه إيه؟ ثانية واحدة. أهي. قدام عيني أهي.
كل اللي هعمله، هجيب u reduced اللي هي فيها الـ first k eigen vector transpose وأضربها في الـ training example i، بصوا كدة على الـ dimensions، الـ dimension بتاع u transpose reduced k في n، فأضربها في الـ training example
اللي هو الـ dimension بتاعه n في 1 هو example واحد، والـ dimension بتاعه n، يديني في النهاية dimension عامل إزاي؟ z معلش هي دي طالعة لفوق أهي k أهي، z عبارة عن k في 1. يبقى الـ z هي عبارة عن الـ training example بتاعي projected في الـ space الجديد
جديد بقى طوله k، مش n زي ما كان في الـ space القديم. والـ values الـ k والـ k values دي uncorrelated مالهومش دعوة ببعض. الـ k values دي بتمثل features uncorrelated مالهومش دعوة ببعض.
تمام؟ عرفنا إزاي نعمل projection؟ الـ projection بسيط خالص، امسك الـ u reduced اللي هي فيها الـ k eigen vector واضربه في الـ training example بتاعك. أو الـ test example مش لازم training يعني، تمام؟ هتلاقي طلعلك
خلاص؟ هيطلعلك vector بالـ dimension الجديد k في 1. كدة أنت حولت. في أي مشكلة في التحويل؟
ها يا جماعة تمام كدة؟ أه تمام يا دكتور. طيب تمام. طيب، افرض أنت عايز ترجع تاني. عايزة أ- يعني أرجع تاني للـ space الأصلي. ولا أي حاجة، الـ u reduced المرة دي اضربها في z زي ما هي، ماتعملش transpose زي ما هي، امسك u reduced
اللي هي dimension بتاعها n في k. لما تضربها في الـ z اللي هي k في 1 هيرجعلك تاني vector dimension بتاعه n في 1، يعني الـ dimension الأصلي. طيب، هنا أنا مسمياها x approximate، ليه؟ علشان إحنا واخدين الـ first k eigen vector، يعني إحنا خدنا most
most الـ information مش الـ information كلها، فبالتالي أنا لما رجعت للـ space بتاعي مارجعتش زي ما أنا بالظبط، في في lost بسيط حصل في الـ information، lost بسيط غير مؤثر، لكن موجود. تمام؟ طيب السؤال بقى، أنا أنا أعرف منين
أنا أعرف منين إزاي أنا أنا محتاجة إن أنا أعمل reduction تحافظلي على أغلب الـ information بتاعة الـ original data بنسميها original data variance، تحافظلي على أغلب الـ info بتاعة الـ original data، 90% منها، 95% منها
99% منها، أنا أعمل ده إزاي؟ أعمل الحركة دي إزاي؟ إزاي أختار الـ k اللي تضمنلي تمام نسبة الـ information اللي أنا عاوزاها، اللي أنا عايزة أستبقيها، أحافظ عليها في الـ data؟ أعملها إزاي؟ نعملها بالشـ-
كل ده. بصوا يا شباب، بيقولك هنا إيه؟ بنعمل إيه؟ بنعمل الآتي. إحنا بنبدأ نختار k خلاص، بحيث إن إحنا نحقق الـ equation دي. بصوا هنا ثانية واحدة، هو مش راضي ليه يغير؟
هنا. بصوا يا جماعة بنحسب حاجة اسمها average square projection error. الـ average square projection error إن أنا بطرح الـ training data الأصلية كل training example أصلي من الـ approximate بتاعه. الـ approximate بتاعه ده اللي هو أنا روحت لـ space الجديد ورجعت تاني.
عملت reconstruction ليه تاني. فده اسمه x approximate. فالـ training data الأصلي ناقص الـ constructed back من الـ eigen vectors بس اللي أنا واخداها. أطرحهم من بعض و على على مدى بقى- أعمل وأعمل square عشان طبعًا أضيع تأثير الإشارة
على مدى الـ training examples كلها هجمع وأقسم على m. تمام؟ بمسك الـ average square projection ده أقسمه على إيه؟ على حاجة اسمها الـ total variation in data. الـ total variation in data ده عبارة عن كل training example squared بجمع وأقسم على عدد-
لو أنا قسمت الـ error على مجموع الـ- على الـ average sum للـ square بتاع الـ data examples اللي عندي لازم يطلع أقل من value معينة صغيرة أنا محدداها. لو أنا عايزة أحافظ على 99%
من الـ info بتاعتي 99% دي معناها 0.99. يبقى هقول 0.01. لازم الـ equation دي تبقى أصغر من 0.01. لو أنا فعلًا الـ k اللي أنا اخترتها خليت خلت الحسبة دي أصغر من 0.01 يبقى أنا كدة محافظة على 99%
من الـ original data أنا محافظة عليه بالـ k eigen... بالـ k eigen vector دول بس. طيب لو أنا عايزة 95%؟ 95 دي يعني هشيل النسبة المئوية يبقى 0.95. يبقى أنا هحط الـ equation أصغر من 0.0
05. طب أنت عايز 90%. يبقى 0.9. يبقى هتخلي الـ equation دي أصغر من 0.1 وهكذا. تمام؟ لحد كدة تمام؟ في أي سؤال؟
لا تمام يا دكتور. طيب. تمام. طيب. فهو هنا قالك بقى إيه؟ افرض أنا دلوقتي هنعمل algorithm مع بعض لاختيار الـ k. افرض أنا عايز 99%؟ 99% دي لما أشيل منها النسبة المئوية يعني 0.99
يبقى أنا هخلي الـ equation أصغر من 0.01. ده ده اللي فاضل من الـ 1 ده باقي الـ 1 يعني 0.01. طيب. بنعمل إيه؟ بـ try PCA من أول k1. يعني من أول إن أنا واخدة eigen vector واحد بس وأبدأ بقى أروح أحسب
الـ zـات، يعني أنقل الـ data أعمل projection للـ data في الـ space الجديد وبعدين أرجعها الـ space القديم، فأجيب الـ x approximation وبعد كدة أحسب الـ equation. وأشوف أنا أصغر من الرقم اللي أنا عاوزاه ولا لأ؟ لو أصغر أبقى خلصت، أـ terminate، طب مش أصغر؟
أزود الـ k بـ 1 وأرجع تاني من الأول، أحسب الـ projection بناءً على الـ eigen vector... الـ k الجديدة، عدد الـ eigen vectors زاد. أحسب الـ projection الجديد وبعد كدة أرجع تاني للـ space الأصلي وأحسب الـ equation دي وأشوف أصغر من الـ value ولا لأ.
أفضل أعمل كدة لحد ما أوصل لـ k تحقق تحقق إن الـ equation تبقى أصغر من الرقم اللي أنا عاوزاه. لو أنا عملت كدة خلاص دي كدة قيمة الـ k. هنا بقى لقوا حاجة، دي آخر حاجة هنقولها إحنا كدة خلاص خلصنا، دي آخر حاجة هنقولها.
اخر حاجة هنقولها هنا إيه يا شباب؟ الـ competition هنا بيتهيألي مش محتاجة أقولكم، كبير أوي، كبير أوي أوي. أنت متخيل لو أنت عندك dimension عالي جدا، أنت هتاخد وقت قد إيه عشان تـ project الـ data وترجعها؟ وترجعها وتآخد الـ approximation اللي أنت رجعته ده
وتقعد تطرحه وتعمل square، تخيل تخيل بقى لو عندك كمان dataset كبيرة، تعمل square وتحسب الـ equation وتشوف أصغر من أصغر من الرقم اللي أنت عايزه ولا لأ، دي شغلانة منيلة، دي دي حاجة تاخد وقت وقت طويل جدا. طب هل في حل؟ هل في حل إن أنا في وقت قصير جدا أحقق نفس المطلوب؟
آه، انا اقدر نوصل لنفس نتيجة الـ algorithm ده في الـ no time. إزاي؟ إن أنا أعمل حاجة تانية equivalent للـ equation دي بس ما تاخدش وقت. إيه هي؟ قالك أهي. قالك تعمل إيه يا باشا؟
بدل ما تقعد تـ project وترجع تاني من الـ projection عشان يبقى معاك الـ reconstructed data، وتطرح الـ reconstructed data من الـ data الأصلية عشان تحسب الـ error اللي حصل نتيجة الـ reduction اللي أنت عملته بدل الهيصة دي، هي مش حاجة من الكلام ده. أمال تعمل إيه؟ هنجيب الـ eigen values اللي هما n
انت عـ... هتختار أول k، k بكام؟ k بـ 1، k بـ 2، k بـ 3. اجمع الـ eigen values بس. أعمل sum للـ SII، اجمع الـ eigen values. اجمعهم واقسمهم على الـ total الكلي بتاعهم.
هديك مثال، لو أنا دلوقتي عندي eigen value أول واحدة 4، 2، 1، 0.1. أهم هما دول. دول هما مترتبين. فأنا دلوقتي قلت إن أنا هاخد k بـ 2، k بـ 2 دي يعني أنا هاخد أول اتنين بس
يبقى أنا هاخد 4 + 2، أنا عايزة أول اتنين، بجرب إن الـ k تبقى بـ 2. يبقى أول اتنين eigen values أهم، على المجموع الكلي، 4 + 2 + 1 + 0.1
ده بيمثل لي ده. طيب بعد ما حسبت الحسبة دي ولا حاجة اطرحها من 1 تمام؟ وشوف بقى هي أصغر من الـ value اللي أنت عايزها أو لأ. بس. ولا ولا تعمل الـ projection ولا ترجع في كلامك ولا أي حاجة من الهيصة
الـ k بعرف عددها مرة واحدة، بعرف عددها بسهولة بـ loop صغيرة جداً بعملها، إن أنا أجمع أول k eigen values، أجمع قيمهم على المجموع الكلي بتاع كل الـ eigen values، وأشوف وأطرح المجموع ده من 1 وأشوف أقل أو equal للـ value اللي أنا عاوزها ولا لأ
أول ما أوصل للـ k اللي تحقق الـ equation يبقى هي دي الـ k اللي هستخدمها. هروح أخد بقى أول k eigen vector يبقى دولت الـ u reduced وده اللي أنا هشتغل بيه بقى، هحول بيه الـ training data والـ test data ونشتغل بقى مع classifier ونشتغل. تمام؟
طيب قالك بدل ما تطرح من 1 ولا بتاع، ودي الـ 1 ده الناحية التانية واضرب في minus يمين وشمال، يطلعلك الـ equation اللي تحت دي. أنت عايز مجموع الـ k eigen values اللي اخترتهم، eigen values، قسمة الـ eigen values كلهم عددهم الكلي
كام؟ معلش يا جماعة الرقم ده غلط مكتوب m، المفروض تتكتب n أنا هصلحهالكم قبل ما أبعتلكم الـ presentation دي. هتتصلح تمام؟ هي n مش m. m دي عدد الـ training example فـ ده دي كدة مش صح، فهصلحها وأبعتلكم لما أبعتلكم الـ presentation هبعتها لكم
فهنا بعمل إيه؟ بقى بشوف أنا هختار k أروح أجيب أول k eigen values أجمعهم وأقسم على المجموع الكلي وأشوف هل أكبر أو أكبر أو equal من الرقم اللي أنا عايزاه أو لأ بعد ما أشيل منه بس النسبة المئوية، يعني لو 99% أكبر أو equal 0.99 ولا لأ
لو 95% يبقى أكبر أو equal لـ 0.95 ولا لأ، لو 90% أكبر أو equal لـ 0.9 ولا لأ وهكذا. بس. تمام؟ فهي دي الفكرة، يبقى إحنا دلوقتي
المفروض إنه الخطوات بتاعت الـ PCA إن أنت في الأول بتطرح الـ mean من الـ training dataset. لو الـ dataset محتاجة أي normalization أي حاجة بتعملها، يعني بتظبط الـ training data بتاعتك وتشيل منها الـ mean
بتعمل أي preprocessing عايز تعمله عليها وتشيل الـ mean. حلو؟ بعد ما هتعمل كدة ده بقى matrix اسمه X، X capital. تروح تحسب الـ covariance matrix. بعد ما تحسب الـ covariance matrix تطلع منه الـ eigen vectors والـ eigen values. بعد ما تطلعهم هترتب الـ eigen values من الـ maximum للـ minimum
وقصادها يترتبوا الـ eigen vectors بتاعتها. هبدأ أشوف أنهي عدد k مناسب للـ reduction. هاخد أول k eigen values وأجمعهم وأقسمهم على مجموع الـ eigen values كلهم. لو طلع يحقق النسبة بتاعتي بتاعت الـ info بتاعتي
اللي أنا عايز أحافظ عليها يبقى ok، ماحققتش هكبر الـ k وهكذا لحد ما أوصل للنسبة الصح. وصلتلها أنا كدة عرفت الـ k بس يبقى أروح آخد بقى الـ k eigen vectors دول وأحطهم في matrix كدة لوحدهم وأبدأ بقى أي training example أو أي test example عايز أعمله projection
أضربه بالطريقة اللي إحنا قلنا عليها: u reduced transpose في xi. xi دي training أو testing example. آدي القصة. تمام؟
فده كدة، ده كدة- فإحنا بقى ممكن يعني نتسأل مثلاً يعني بأشكال كتير، يعني مثلاً الجزء اللي قدامنا ده سؤال، إن أنا ممكن إديلك eigen vectors و eigen values.
وأقولك أنهي eigen vectors اللي أكتفي بيها وأحافظ على 95% من الـ information؟ ساعتها أنت هتعمل إيه؟ هترتب الـ eigen values وتبدأ أنت تشتغل تختار الـ k، k بـ 1، k بـ 2، k بـ 3، وتعوض في الـ equation دي: مجموع اللي أنت خدته من eigen vectors على الـ total وتشوف أنت وصلت للرقم اللي أنا طالباه منك أو لأ.
أول ما توصل، تقول لي يا دكتور هيبقى k كذا، وبالتالي هما دول الـ eigen vectors اللي إحنا هنكتفي بيهم، هما دول الـ axes بتوع الـ space الجديد بتاعي. ده هيبقى ردك على السؤال. تمام؟
طيب عايزين نـ... طيب عايزين نـ project training example، ماشي، آدي الـ eigen vectors أهي وآدي الـ training example أهو. خلاص، هنمسك الـ matrix u دي نعملها transpose ونضربها في الـ example اللي أنا مدياه أهو يا دكتور projected أهو، بقى k في 1 مش n في 1
آدي الأسئلة وآدي إجاباتها أهو، بغششكم أهو مقدمًا. تمام؟ فآدي دي الفكرة بتاعت الـ principal component analysis وإزاي هي بتوصلني لـ data... بتنقل لي الداتا من original space لـ space تاني أقل في الـ dimension
والـ features فيه أو الـ samples أو الـ variables uncorrelated مالهومش دعوة ببعض. لو حسبت الـ covariance matrix بتاع الـ data في الـ new space هيطلع لي diagonal matrix فيه الـ variance والباقي كله اصفار. أي سؤال يا شباب؟
اي سؤال؟ لأ تمام يا دكتور. طيب تمام، عايزة أقول تنبيه واحد قبل ما نقفل كلامنا علشان دي بس غلطة شائعة في ناس بتقع فيها في استخدام الـ PCA. دايمًا
مثلاً دايمًا دايمًا دايمًا إحنا في شغلنا، أنت لما تيجي الـ data بتاعت الـ test بتطبق عليها اللي حسبته من الـ training، مش بتحسب حاجة من الـ test. يعني أنت دلوقتي اشتغلت على training data
وطلعت الـ eigen vectors وطلعت الـ space الجديد وكل الهيصة دي. وطلعت mean للـ data، مش أنت في mean طرحته كده في الأول؟ في mean اطرح كده في الأول وعملت space جديد و eigen vectors جديدة. لما تيجي تشتغل على الـ test data هتعمل إيه؟ مش هتروح تحسب الكلام ده من الأول
لأ طبعاً، أنت هتشتغل على بتوع الـ training. يعني هتمسك الـ test example تطرح منه الأول الـ mean بتاع الـ training عشان المفروض كده يبقى الـ test example بقى zero mean. بعدين تمسك الـ test example تضربه في الـ u reduced اللي هي الـ eigen vectors اللي أنت خدتها من الـ training example
اللي طلعوا من الـ training examples مش تحسب حاجة جديدة. فأنت ده دي دي غلطة جامدة جداً جداً جداً وفي ناس بتقع فيها. أنت في الـ test بتشتغل على حاجتك اللي حسبتها من الـ training set. واضحة دي يا شباب؟
آه تمام يا دكتور. أي سؤال- انا خلصت؟ أي سؤال؟ أي سؤال؟ اي سؤال؟ لأ تمام يا دكتور شكراً. طيب.
شكراً ليكم يا حبايبي، شكراً.  يا دكتورشكراً، كل سنة وحضرتك طيبة. وأنتوا بالصحة والسلامة، وأنتوا بالصحة والسلامة. إحنا هنـ stop بقى الـ recording ده.