مقدمة في التعلم الآلي

التعلم الآلي (ML) هو مجال فرعي من الذكاء الاصطناعي (AI) يركز على إنشاء أنظمة كمبيوتر يمكنها التعلم والتكيف والتنبؤ والارتباط، كل ذلك دون اتباع تعليمات صريحة.

الهدف من التعلم الآلي هو فهم ومعالجة كمية كبيرة من البيانات من خلال الاستفادة من الخوارزميات وإنشاء نماذج عامة يمكن أن تنتج مخرجات سهلة الاستخدام.

يعمل التعلم الآلي عادة باتباع الخطوات التالية:

  1. جمع البيانات من مصادر مختلفة
  2. تنظيف البيانات للحصول على التجانس
  3. بناء نموذج باستخدام خوارزمية ML
  4. الحصول على رؤى من نتائج النموذج
  5. تصور البيانات وتحويل النتائج إلى رسوم بيانية مرئية

1. جمع البيانات من مصادر مختلفة

يتطلب التعلم الآلي الكثير من البيانات لإنشاء نموذج جاهز للإنتاج.

يتم جمع البيانات لتعلم الآلة بطريقتين: آلي ويدوي.

  • يستخدم جمع البيانات الآلي البرامج والبرامج النصية التي تستخرج البيانات من الويب.
  • جمع البيانات يدويًا هو عملية جمع البيانات يدويًا وإعدادها بشكل متجانس.

جمع البيانات تلقائيًا باستخدام تجريف الويب باستخدام Python:

import requests
from bs4 import BeautifulSoup

# Scrape data from a website
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# Extract relevant information from the website
data = soup.find('div', class_='data-container').text
# Store the gathered data
with open('data.txt', 'w') as file:
    file.write(data)

2. تنظيف البيانات للحصول على التجانس

يعد ضمان تجانس البيانات خطوة حاسمة لجعل التعلم الآلي يعمل ويحقق النتائج.

يتم تنظيف البيانات لتعلم الآلة إما يدويًا أو تلقائيًا بمساعدة الخوارزميات ويتكون من إصلاح و/أو إزالة البيانات غير الصحيحة والتالفة والمنسقة بشكل خاطئ والمكررة وغير المكتملة داخل مجموعة البيانات.

تنظيف البيانات باستخدام Python وpandas:

import pandas as pd

# Read data from a CSV file
data = pd.read_csv('data.csv')

# Remove duplicates
data = data.drop_duplicates()

# Fix missing values by filling with mean
data['column_name'].fillna(data['column_name'].mean(), inplace=True)

# Remove incorrect or corrupted data
data = data[data['column_name'] > 0]

# Save cleaned data to a new file
data.to_csv('cleaned_data.csv', index=False)

3. بناء نموذج باستخدام خوارزمية ML

ML (التعلم الآلي) model هو ملف يحتوي على نتائج خوارزميات التعلم الآلي ويستخدم للتفكير في المدخلات الديناميكية.

يعمل نموذج ML (التعلم الآلي) من خلال احتواء قائمة من الأنماط المطابقة للمدخلات في الوقت الفعلي، ثم إنتاج المخرجات وفقًا للنمط المطابق.

يمكن أن تحتوي نماذج ML على أنواع مختلفة من الهياكل، والأنواع الأكثر شيوعًا هي: التصنيف الثنائي، تصنيف متعدد الفئات، و regression.

  • يتنبأ نموذج التصنيف الثنائي بنتيجة ثنائية، مما يعني إحدى النتيجتين المحتملتين.
  • يتنبأ نموذج التصنيف متعدد الفئات بواحدة من أكثر من نتيجتين.
  • يتنبأ نموذج الانحدار بالقيم الرقمية.

تسمى عملية بناء نموذج التعلم الآلي training.

يتم التدريب على التعلم الآلي بمساعدة الخوارزميات وينقسم إلى فئتين: التعلم الخاضع للإشراف و التعلم غير الخاضع للإشراف.

  • التعلم الخاضع للإشراف (SL) هو عندما يتم تدريب نموذج تعلم الآلة باستخدام البيانات المصنفة، أي البيانات التي تحتوي على قيم المدخلات والمخرجات.
  • التعلم غير الخاضع للرقابة (UL) هو عندما يتم تدريب نموذج تعلم الآلة باستخدام بيانات غير مصنفة، أي البيانات التي لا تحتوي على علامات أو نتائج معروفة.

الشبكات العصبية (NNs) هي جوهر التعلم غير الخاضع للرقابة وتتكون من رسم الخرائط بين البيانات داخل مجموعة البيانات، مما يسمح بإجراء الارتباطات.

إنشاء نموذج تصنيف ثنائي باستخدام مكتبة Python scikit-Learn:

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# Load the dataset
X, y = load_dataset()

# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Create a Logistic Regression model
model = LogisticRegression()

# Train the model
model.fit(X_train, y_train)

# Make predictions on the test set
y_pred = model.predict(X_test)

# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, y_pred)

4. الحصول على رؤى من نتائج النموذج

إن الحصول على رؤى من نماذج تعلم الآلة يعني فهم الأنماط غير المعروفة سابقًا واختبار قدرة النموذج على تقديم تنبؤات واستنتاجات.

يعد الحصول على رؤى أمرًا مهمًا للغاية للتحقق من صحة النموذج وتحديد ما إذا كان يلزم إجراء أي تغييرات على خوارزمية (خوارزميات) التعلم.

تحليل أهمية الميزة في نموذج مُدرب باستخدام Python:

import matplotlib.pyplot as plt

# Get the feature importance scores
importances = model.coef_[0]

# Sort feature importance in descending order
sorted_indices = importances.argsort()[::-1]
sorted_importances = importances[sorted_indices]

# Plot the feature importance
plt.bar(range(len(sorted_importances)), sorted_importances)
plt.xticks(range(len(sorted_importances)), sorted_indices)
plt.xlabel('Feature Index')
plt.ylabel('Importance Score')
plt.title('Feature Importance')
plt.show()

5. تصور البيانات وتحويل النتائج إلى رسوم بيانية مرئية

يتكون تصور البيانات لنموذج ML من وضع بيانات الإخراج على الرسم البياني وتوفير واجهة برمجة التطبيقات التفاعلية.

إنشاء مخطط مبعثر للقيم المتوقعة باستخدام بايثون:

import matplotlib.pyplot as plt

# Get the predicted values
y_pred = model.predict(X)

# Create a scatter plot
plt.scatter(X[:, 0], X[:, 1], c=y_pred)
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('Predicted Values')
plt.show()

خاتمة

توضح أمثلة التعليمات البرمجية المذكورة أعلاه التطبيقات العملية لكل خطوة في التعلم الآلي، بدءًا من جمع البيانات وتنظيفها وحتى بناء النماذج والرؤى وتصور البيانات.

المقالات المقترحة
دور التعلم الآلي في Web3
التعلم الآلي في تصميم الألعاب
دليل الكمبيوتر المحمول النهائي لمطوري الذكاء الاصطناعي والتعلم الآلي
ما هو التعلم الآلي؟
مقدمة في الذكاء الاصطناعي
الذكاء الاصطناعي في التمويل
الاختلافات الرئيسية بين الذكاء الاصطناعي والتعلم الآلي