программа перспетрон

Программа для персептрона, который классифицирует объекты на два класса на основе предоставленных обучающих данных

Задача: написать программу для персептрона, который будет классифицировать объекты на два класса (например, положительные и отрицательные числа) на основе предоставленных обучающих данных.
Условие: обучающие данные представлены в виде матрицы X размера NxD, где N — количество объектов, а D — количество признаков (например, координаты x и y для точек на плоскости). Также имеется вектор целевых значений Y размера N, содержащий значения 1 для положительных объектов и -1 для отрицательных.
Программа должна выполнять следующие шаги:
Инициализировать веса W размера Dx1 случайным образом.
Для каждой обучающей пары (xi, yi) выполнить обновление весов согласно формуле: wi = wi + xi * yi.
Повторить шаги 1–2 для всех обучающих пар.
Проверить работу персептрона на тестовом наборе данных, предоставив ему новый объект x и проверив, какой будет результат (положительный или отрицательный).
В результате программа должна научиться классифицировать новые объекты на основе предоставленных обучающих данных.

 

Программа для персептрона, который классифицирует объекты на два класса на основе предоставленных обучающих данных, может выглядеть следующим образом на Python:

Python

import numpy as np

class Perceptron:
    def __init__(self, num_features):
        self.weights = np.random.rand(num_features)
    
    def train(self, X, y, num_epochs):
        for _ in range(num_epochs):
            for i in range(len(X)):
                prediction = np.sign(np.dot(X[i], self.weights))
                if prediction != y[i]:
                    self.weights += X[i] * y[i]
    
    def predict(self, x):
        prediction = np.sign(np.dot(x, self.weights))
        if prediction == 1:
            return "Positive"
        else:
            return "Negative"

# Пример использования
X = np.array([[1, 2], [2, 3], [3, 4], [4, 5]])
y = np.array([1, 1, -1, -1])

perceptron = Perceptron(num_features=X.shape[1])
perceptron.train(X, y, num_epochs=100)

new_object = np.array([5, 6])
result = perceptron.predict(new_object)
print("Результат классификации нового объекта:", result)

В данной программе создается класс Perceptron, который содержит методы для инициализации весов, обучения персептрона на обучающих данных и предсказания класса для нового объекта. В примере использования обучающие данные представлены матрицей X и вектором целевых значений y. После обучения персептрона на этих данных, программа предсказывает класс нового объекта new_object.

Вы можете зарегистрироваться на сайте, для возможности прохождения курсов и получения учебно-методической литературы.

Related Articles

Переводим рисунок в код языка программирования Python разными способами

Для перевода рисунка в код можно использовать различные методы, такие как векторизация, растеризация или использование строковых значений . Вот один из примеров использования векторизации: from…

Как оформить школьный проект с помощью ИИ Шедуврум

Чтобы оформить картинки проекта с помощью приложения «Шедеврум», выполните следующие шаги: Установите приложение «Шедеврум» на вашем устройстве (Android или iOS). Откройте приложение и нажмите на плюс в верхнем правом углу экрана. Введите текстовый запрос, описывающий то, что должно быть изображено на картинке. Нейросеть предложит вам четыре варианта изображения. Выберите тот, который вам больше нравится. Если хотите, отредактируйте изображение или добавьте текст. Сохраните изображение, нажав на кнопку «Сохранить» или выбрав опцию «Поделиться». Так же Вы можете сгенерировать картинку с нуля, с помощью ключевых слов. Пример оформления буклета-сказки “Жизнь горошины” для…

Responses

Ваш адрес email не будет опубликован. Обязательные поля помечены *