بسم الله الرحمن الرحيم الصلاة والسلام على رسول
اللهِ أهلاً وسهلاً بكم في محاضرة جديدة من وثائق تقييم
البيانات. اليوم، إن شاء الله، هنتكلم على الـ second
mining task أو الـ third mining task اللي هي الـ
clustering. طبعاً، إحنا كنا بنتكلم سابقاً أن الـ
mining task تنقسم من الـ predictive أو الـ
descriptive، و الـ predictive اتكلمنا عن الـ
classification و الـ regression و الـ recommendation.
اليوم، طبعاً، الـ recommendation ما شرحناها عشان
اتكلمنا عن classification و regression. واليوم، إن
شاء الله تعالى، هنتكلم.. نبدأ في الـ descriptive
task. هنتكلم على الـ clustering. طب لما إحنا بنتكلم
على الـ clustering، بنتكلم على unsupervised learning.
و هذا نوع من الـ machine learning اللي بتعلم من الـ
test data. يعني أنا بهمني إنه البيانات تبعتي مايكونش
لها label. هذا مفهوم الـ test data، إن الـ test data
إنه الـ label مش موجود، that has not been labeled.
مالهاش label classified or categorized، ما تمش
تصنيفها أو تقسيمها قبل هيك. بالـ unsupervised
learning، على خلاف كل الـ machine learning، مافيش
عندي output معروف مسبقاً، وبالتالي مافيش عندي
teacher أو instruction، مافيش عندي أي structure للـ
learning algorithm. ف حين إنه في الـ supervised
learning، سواء كان في الـ regression أو كان في الـ
classification، كان عندي واضح الـ label، هو الـ
guidance تبعي، أو هو المعلم تبعي. إيه الشغلات اللي
أنا بدي إياها، وإيه الـ role اللي أنا كنت بحاول أحصل
عليها. الـ unsupervised learning، الـ learning
algorithm فقط بأعرض عليه البيانات، وبطلب يعمل
extract للـ knowledge. طبعاً، extract للـ knowledge، هان
إما بتقسيمهم لمجموعات، أو يقول لي إيش الـ frequent
pattern فيهم. زي ما في الـ association rules، إلى
آخرين. طبعاً، لما اتكلم في الـ unsupervised learning،
بدل
ما أنا آخذ feedback و
أقارب الـ unsupervised learning، بعرف الـ
communities، أو الشغلات المشتركة في الـ data، الشغلات
الـ common اللي موجودة، اللي بتتشارك فيها معظم
الـ instances اللي موجودة عندي. وبتقرر.. وبت.. اللي
بعرف.. بعد ما بتقرر على الشغلات الـ common هاي، أو
الشغلات المشتركة هاي، بناءً عليها بتتصرف. إما بتقرر
.. يعني بتتصرف، وبصير الـ algorithm بناءً على وجود أو
عدم وجود الـ properties أو الـ common properties
اللي موجودة عنده. يعني، يعني تخيل أنا لو أنا في عندي
مجموعة من الصور، وقلنا بدنا نصنفهم، مجموعة من الصور،
و أنا بدي أصنفهم، معناته حتى اللي عرف المحتوى الصور،
وأصير أقول لك والله إن التصنيف هذا بيتبع كده، أو يتبع كده.
الـ unsupervised learning، زي ما قلنا، عبارة عن
descriptive model. في أكتر من نوع في الـ
unsupervised learning، زي ما بنعرف سابقاً، لـ
clustering. طبعاً، شفناها في المقدمة، تابعة للمساق، لـ
clustering. معناته أنا بدي أجسم الـ data instances
اللي موجودة عندي، لمجموعة من الـ groups. طبعاً، مجموع
الـ groups هذه، عددها معروف مسبقاً. طب من هنا، علشان
نتم تجميعهم، بدنا ندرس صفات الـ properties هاي،
و تجميعهم مع بعضهم. الـ anomaly detection أو الـ
outlier detection، أروح أدور على الـ unusual، أو
الشغلات النادرة في الـ data set اللي موجودة عندها، و
أظهرها. الـ association rules، لما أنا بتكلم على الـ
patterns، و بدور على الـ frequent pattern اللي ممكن
تكون موجودة عندي، و ارتباط العناصر، وأشوف ارتباط
القوانين، أو ارتباط الـ data مع بعضها، عشان أقدر أبني
decision. وفي عندي transformation، اللي هي فعلياً أنا
أقدر أحول الـ data لـ data set مختلفة، عشان أقدر
أرسمها، أو أقدر أتعامل معاها بشكل أبسط. إحنا طبعاً،
هنتكلم على الـ course هذا، الـ clustering و الـ
association rules. طبعاً، لما نتكلم فعلياً، الـ
clustering، معناته الـ clustering algorithm بده يروح
يجسم الـ data set اللي عندي، لـ distinct groups. الجروب
هذه، معروفة مسبقاً. تخيل
إن الـ raw data تبعتي، هي عبارة عن سلة الفواكه رمضان
كريم، إن شاء الله، كل عام وأنتم طيبين، إن شاء الله، سلة
الفواكه، هي عبارة عن الـ input data، الـ raw data
تبعتي، وأنا قلت بدي أجسمها لثلاث مجموعات. طبيعى الـ
algorithm هيدرس خصائص العناصر كلياتها، يعرف العناصر
المشتركة، ويحدد العناصر المشتركة، وبالتالي هيقول لي
في عندك مجموعة التفاح، ومجموعة الموز، ومجموعة
المانجو. هذا لما قلت له جسم ليها لثلاث مجموعات.
متذكرين الـ definition السابق؟ أنا قلت لها
predefined أو predetermined number of groups، لازم
أحدده مسبقاً. تمام. طيب، لو أنا روحت قلت له لمجموعتين،
روحت قلت له جسم ليّ إياها لمجموعتين، مش ثلاث مجموعات،
دراسة العناصر هاي، وهيروح وكأنه هيقول لي إنه هذه
أنا بتوقع إنه يكون هذه التفاح والمانجو في مجموعة، و
الموز في مجموعة ثانية، لأن الشكل واللون مختلف، بعاد
كتير عن بعضهم. وبالتالي، عدد المجموعات هو اللي بيلعب
دوراً. طبعاً يا جماعة الخير، كل ما كان عندي عدد
المجموعات اللي أنا بديّ إياها، تبعتي، هو الصح، معناته أنا
بشتغل عليها بشكل كويس، أو بكون عندي النتيجة تبعتي
صح. لما بتكلم في الـ clustering، معناته أنا بتكلم إن
الـ method تبعتي، هي الـ.. الـ.. أو الـ clustering هي
عبارة عن method بتجسم البيانات اللي بتشارك
الصفات المشتركة، أو الـ similar trend and better.
يعني إن الـ instances هتتوزع بناءً على محتوى، على
احتوائها على مجموعة من الشغلات المشتركة. يعني هيكون
في عندي تشابه كبير جداً ما بين العناصر اللي في
المجموعة الواحدة. الهدف الأساسي فعلياً من الـ
clustering، معناته هو عبارة عن split up، تقسيم الـ
data، بطريقة، طبعاً، بتقسمها لـ groups، بطريقة إن النقاط
اللي في الـ cluster الواحد، أو في المجموعة الواحدة
are very similar، متشابهة جداً. عشان هيك كانت في
الرسم السابق، هان لما اتكلمنا، كان التفاح لحال،
المانجو لحال، والموز لحال. ولما قلت لك أنا بقسمهم
لمجموعتين، مش لثلاث مجموعات، معناته تقول إحنا هنا
نضيفهم على بعضهم. لكن الآن، إيش الشغلات المشتركة
اللي أنت اعتمدت عليها؟ الحجم مثلاً، واللون. لكن لو
واحد يجي يقول لي والله أنا بقسمهم هالنا مجموعتين،
بناءً على طبيعة الفاكهة اللي موجودة هاي، وبالتالي،
إحنا نتكلم، في عندي فواكه استوائية، الـ mango و الموز،
فاكهة استوائية ولا لأ. وبالتالي، ممكن يكون تصنيف في
الآخر. ما فيش عندي قرار صحيح مئة في المئة، أن
التقسيمة تبعتي هذه صح، أو.. لكن بقدر أقول والله
التقسيمة هذه أصح من هذه التقسيمة، بناءً على معرفتي
بالبيانات اللي موجودة عندها. طبعاً، الـ similarity،
طبعاً، التشابه ما بين الـ algorithm for the
unsupervised learning و الـ classification
algorithm، إنه الـ cluster algorithm بيخصص، أو بِتنبأ
رقم المجموعة
للـ point. يعني أنا روحت قلت له والله أنا بدي ثلاث
مجموعات، بروح بقول له هذه الـ point في المجموعة رقم
واحد، هذه الـ point في المجموعة رقم اثنين، هذه الـ
point في المجموعة رقم ثلاثة، هذه الـ point في
المجموعة رقم ثلاثة. وبالتالي، هو بيعمل predict لرقم
المجموعة اللي أنا قلته من البداية، عشان أنا قلت له
بدي ثلاث مجموعات، فهو هيجسم ليّ إياها لثلاث مجموعات. طبعاً، و
هذه هي المفهوم، التشابه اللي أنا بتكلم عليه، إنهم
بنعمل prediction للـ number، بحيث إنه فعلياً، كما زي
ما قلنا، إن هذا الـ number هي عبارة عن رقم المجموعة
أو رقم الـ cluster اللي بيحتوي الـ point اللي موجودة
عندها. طبعاً،
لما بتكلم على الـ clustering، معناته إن أنا بدي آخذ
بيانات كلها في نفس الـ space. بتكلم على بيانات كلها
في نفس الـ space، في مجموعات معينة. يعني هذا الـ space
هو عبارة عن high dimensional، ممكن يكون 2D, 3D, 4D.
طبعاً، أتكلم دي اللي هي عدد الـ attribute، و بروح اللي
بجسم ليّ إياها لمجموعات. بجسم الـ rows، الـ instances أو الـ
points هاي، بجسم ليّ إياها لمجموعات، عبارة عن مجموعات، أو
طبعاً، اللي بـ guess الـ point هذه لمجموعات أصغر، بـ
guess similarly. عفواً، اللي قلنا إحنا كمان مرة، إن
فكرة الـ algorithm بياخد الـ points اللي موجودة
عندها، بغض النظر عن الـ space أو الـ dimensionality
تبعتها. لكن كل الـ points أو الـ data set تبعتي على
نفس العدد من الـ attributes، ثابتة. بروح بجسم ليّ إياها
لمجموعات أصغر. يعني، بجوز يكون كانت والله عندي الـ
data set فيها مئة ألف record، وقلت له جسم ليّ إياها لثلاث
مجموعات، المئة ألف هدول بيتجسموا على ثلاث مجموعات،
حتماً. Each cluster consists of a point that are near
to some in some sense. وهذه النقاط في كل مجموعة
متشابهة بشكل أو بآخر. طبعاً، لما نتكلم على الـ similar،
أو العلاقة related، similar to another، في نفس
المجموعة. عناصر المجموعة الواحدة متشابهة، وعناصر
المجموعات المختلفة غير متشابهة.
هذا المصطلح أهم، و more professional، أن الـ intra
distance أو الـ cluster distance يجب أن يكون قليل،
كان المسافة ما بين عناصر الـ in instance أو الـ
cluster الواحدة تكون قصيرة جداً، ليس منها in
instance، أو الـ distance. لما بتكلم على distance يا
جماعة الخير، لو تخيل إن في اثنين متطابقين، أو
متشابهين، المسافة بينهم قد ايش؟ صفر. أصبح لكن لما يكون
المختلفين، المسافة بينهم أبعد ما يمكن. وبالتالي، أنا
بقى اتكلم إنه لازم يكون في عند الـ Inter distance
أبعد ما يمكن، والـ intra distance أصغر ما يمكن.
وبهيك أنا بكون نجحت في تقسيم المجموعات اللي موجودة
عندها. طبعاً، لو أنا بدي أعمل مقارنة فعلياً ما بين الـ
Clustering و الـ Classification، بناءً على الـ data
اللي موجودة عندي. طبعاً، الرسمة الأولى اللي فوق بتمثل
classification، والرسمة اللي تحت بتمثل الـ
clustering. طبعاً، اللي بتكلم عن الـ classification،
يعني إن في عندي label، لازم يكون label، هي الـ label
النقاط اللي باللون الأخضر proteins، واللي باللون
البني الغامق هذا، أو البني الداكن، هي عبارة عن الـ
genes. ومعناته إن لازم يكون في عندي rule يخصص كل
point لـ label واضح. طبعاً، الـ rule هذا، زي ما بنعرف
ordered
طيب الـ cluster الثاني عبارة عن money prices أو
purchase money فهي عندي مجموعة عالية من الـ items
عالية، والـ purchases تبعتي high prices كذلك، وهذه
اللي باللون الأزرق، كذلك باللون الأخضر لما أنا
أتكلم أن الـ customer بيشتري مجموعة قليلة من
العناصر بأسعار قليلة أو بأسعار زهيدة نوعاً ما، تمام.
طبعاً، أين المجالات أو أين التطبيقات اللي ممكن أنا
أشغل فيها، عفواً، أشغل فيها أو أطبق فيها الـ
clustering؟ العديد من المجالات في الـ target
marketing، في التسويق الموجه، لما أنا حابب أستكشف من
الناس اللي ممكن يشتريه الإبداع تبعتي، وأروح أوجه
لهم الإعلانات أو أعرض عليهم المنتج تبعي، مثلاً أنا
والله لو جئنا سألنا، أنا عمال بعمل تطبيق IOS عشان
يتكلم أو بعملي high prediction لضغط الدم وعدد
ضربات القلب والأخره، من المعنيين لو أنا بدي أروح
أدور في الـ data أو بدي أحاول أستكشف، عندي data set
لـ customers اللي بيشتغلوا applications، ممكن أنا
أروح أبحث عن فئة الناس اللي ممكن تشتري الـ
application هذا، من خلال، إما من خلال الـ similarity
أو من خلال الاهتمامات
تبعتهم، في الآخر لازم ألاقي بين العناصر هدول شغلات
مشتركة، وممكن أنا أتوجه لهم، لأن ممكن أتوجه لهم لكل
المجموعات، فلما أنا بروح وأجسمهم لمجموعات ألاقي
حتماً مجموعة فيها هذه العناصر، في الـ genomics أو في
علم الجينات، ممكن أنا أروح أصنف الجينات كذلك، أو
عفواً، أقسم الجينات لمجموعات، في الـ astronomy أو في
علم الفضاء، عشان أصنف أو أجسم المجموعات أو أوجد
مجموعات لـ similar stars والـ galaxies والمجرات
اللي موجودة عندي، في الـ insurance أو في التأمين، عشان
أعرف في المجموعات اللي أنا فعلياً كيف ممكن أعرف
فيها الـ vehicles أو أن اصدر أو اقسم بوليصات التأمين
حسب الـ holder اللي موجود عندها، لو جديش قيمة الـ
insurance، في الـ city planning كذلك، في التخطيط
الحضري للمدن، كيف يتم جسمها لمجموعة من الـ houses
بناءً على أنواعهم وأنواع سفرتهم والـ location أو الـ
geographical location تبعتهم، لكن أنا فعلياً جامعة
الخير، كل الكلام الجميل عن الـ clustering، في عندي من
ضمن الكلام كان في عندي مشكلة واضحة، أو هي الـ
challenge الأساسي في موضوع الـ clustering، فعلياً إذا
الـ data unlabeled، ما أعطاني عدد الـ clusters الحقيقية
اللي موجودة عندي، لو أنا عرضت عليك الـ data هاي كم
clusters؟ هذه الـ data set unlabeled data، ما فيش
عليها أي علامات مميزة، وسألتك هذه كم مجموعة؟
ممكن أكثر؟ اه ممكن، هذه أربعة clusters، هدول مع بعض،
هدول لحال، هدول لحال، هذا لحال، أو هذا لحال، ممكن ستة
كذلك، طيب أي عدد فيهم الصح؟ طيب الثلاثة ليش مش ثلاثة؟
لو أنا قلت له ثلاثة، حاجة اسمهم على ثلاثة، من الصح
فيهم؟ اثنين ولا ثلاثة ولا أربعة ولا ستة ولا خمسة؟
مين؟ لأن الـ label غايب عندي، معناته أنا في عندي
مشكلة، أو إحنا بنقول في عندي challenge حقيقية، لأن
أقدر أقيّم الـ Cluster Algorithm أو الـ Behavior تبع
الـ Cluster Algorithm، علشان هي بتقول الـ
Clustering can be ambiguous، ممكن يكون مضلل، مضلل
يعني مش واضح أو ضبابي في التعامل اللي موجود عندها.
الـ Clustering Types، لما أتكلم على الـ Clustering
Types، المعنى هو .. الـ .. الـ Clustering هي عبارة عن
مجموعة من الست في الـ clusters، وهذه تراوح مجموعات
الـ clusters هذه إما ما بين الـ hierarchical أو الـ
partitional، الـ cluster إما بتكون هرمي أو تجزيئي أو
تقطيعي، الـ clusters اللي موجودة، لما أتكلم على
partitional الـ clustering، معناته أنا بتكلم على
division للـ data على مجموعات غير متقاطعة، أنا بأجسم
الـ data objects أو الـ instances اللي موجودة على
مجموعات غير متقاطعة، وهذا ما نسميه non overlapping
clusters أو non overlapping subsets، أو نسميها إحنا
cluster، وبالتالي كل element بيكون موجود فقط في one
subset، بينما في الـ Hierarchical Clustering، معناته
أنا بتكلم على set of nested clusters organized as
hierarchical tree، وبالتالي لأ، أنا في عندي تقاطع ما
بين كل cluster والتاني، لما إن في عندي هيكلية أو
hierarchy هرمية أو في عندي tree، معناته أنا قاعد
في عندي عناصر اللي حتكون عندي ماخدة أشكال مختلفة.
لو أنا قلت هذه الـ data اللي عندي هان وبدأت أطبق
عليها partitional clustering، معناته ممكن حيكون
عبارة عن الـ Partition، Different Partitional
Clustering، لو أنا افترضت أنه بالـ Hierarchical
data، معناته أنا ممكن أحكي الـ Hierarchical فكرة
أنه اثنين وثلاثة هان في one cluster، والـ cluster
هذا مع أربعة كونوا cluster جديد، مع واحد كونوا
cluster جديد، وهذه طبعاً بسميها traditional
hierarchical clustering، بينما هذه بسميها
dendrogram، وطبعاً الـ dendrogram بيبين بشكل واضح
علاقة الـ instances مع بعض، يعني أنا واضح أن عندي
اثنين وثلاثة انجمعوا، بعدين انجمع لهم أربعة، و
بعدين انجمع لكل اللي هي واحدة، كذلك هنا، هنا الـ non
-traditional الهراريكال .. الهراريكال طبعاً الـ
traditional في كل مرة أنا عمالي بضيف point، لكن في
الـ non-traditional، لأ، ممكن تكون الأمور شوية مختلفة.
ممكن بي واحد وبي اثنين مع بعض، بي اثنين وبي ثلاثة
مع بعض، بي ثلاثة وبي أربعة، وهدول كلهم موجودين مع
بعض، وهذه هي في الـ dendogram اللي بتظهر عندنا إن
شاء الله تعالى، في التسجيل الجاي حأروح باتجاه الـ
partitional clustering، أشوفكم على خير إن شاء الله.
والسلام عليكم ورحمة الله.