ماهي أهم خوارزميات حساب المسافة بين شعاعين في التعلم الآلي؟


تلعب مقاييس المسافة دورًا مهمًا في التعلم الآلي فهي توفر الأساس للعديد من خوارزميات التعلم الآلي الشائعة والفعالة مثل خوارزمية أقرب جار للتعلم الخاضع للإشراف وتجميع المتوسطات  k-means للتعلم غير الخاضع للإشراف.

مسافة هامنع Hamming Distance

تقوم هذه الخوارزمية بحساب المسافة بين أشعة ثنائية القيمة، وتستخدم بكثرة في مشفرات one-hot لترميز الأعمدة التي تحوي أصناف categorical values.

على سبيل المثال، اذا كان لدينا عمود يحوي القيم أحمر, أخضر وأزرق, يتم ترميز هذه القيم بأشعة ثنائية كمايلي:

أحمر = [1,0,0]

أخضر = [0,1,0]

أزرق = [0,0,1]

المسافة بين الأحمر والأخضر يمكن حسابها بجمع الشعاعين او اخذ المتوسط لهما.

يمكن في بايثون حساب المسافة بين شعاعين ثنائيين كمايلي:

# calculate hamming distance

def hamming_distance(a, b):

return sum(abs(e1 - e2) for e1, e2 in zip(a, b)) / len(a)



# define data

row1 = [0, 0, 0, 0, 0, 1]

row2 = [0, 0, 0, 0, 1, 0]

# calculate distance

dist = hamming_distance(row1, row2)

print(dist)