Реализация алгоритма персептрона, но неэффективная при его зацикливанииPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Реализация алгоритма персептрона, но неэффективная при его зацикливании

Сообщение Гость »


Когда размер выборки равен 10, среднее количество итераций до сходимости должно быть около 15. Однако при реализации алгоритма в моем коде для достижения сходимости требуется примерно 225 (или более!) Итераций. Это заставляет меня подозревать, что в моем коде может быть проблема с циклом while, но я не могу ее определить.
def gen_data(N=10): размер = (Н, 2) данные = np.random.uniform(-1, 1, размер) точка1, точка2 = данные[np.random.choice(data.shape[0], 2, replace=False), :] m = (точка2[1] - точка1[1]) / (точка2[0] - точка1[0]) c = точка1[1] - m * точка1[0] labels = np.array([+1, если y >= m * x + c else -1 для x, y в данных]) данные = np.column_stack((данные, метки)) вернуть данные, точка1, точка2 класс ПЛА: def __init__(сам, данные): м, n = data.shape self.X = np.hstack((np.ones((m, 1)), data[:, :2])) self.w = np.zeros(n) self.y = данные[:, -1] self.count = 0 определенно подходит (сам): пока правда: self.count += 1 y_pred = self.predict(self.X) неправильно классифицирован = np.where(y_pred != self.y)[0] если len(неправильно классифицировано) == 0: перерыв idx = np.random.choice(неправильно классифицировано) self.update_weight(idx) def update_weight(self, idx): self.w += self.y[idx] * self.X[idx] знак защиты (я, z): вернуть np.where(z > 0, 1, np.where(z < 0, -1, 0)) def предсказать(сам, х): z = np.dot(x, self.w) вернуть self.sign(z)
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Реализация алгоритма персептрона, но неэффективная при его запуске
    Гость » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Гость
  • Реализация персептрона с использованием numpy
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Реализация персептрона с использованием numpy
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как заполнить плоский ассоциативный массив при зацикливании результатов запроса?
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Сравнение чистого алгоритма Дейкстры и оптимизированного алгоритма Дейкстры с двоичной кучей и кучей Фибоначчи
    Anonymous » » в форуме Python
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»