更新列表列表仅发生一次迭代,但不会在感知器算法 ML 的进一步迭代中发生
Updating list of lists is happening for just one iteration but not in further iterations in Perceptron algorithm ML
下面是我的多class感知器算法的代码。
在这里,我试图更新列表列表给出的权重向量 - weights.
逻辑正确,正确执行了1次迭代。 weights 列表列表初始化为全 0。在第一次迭代中,权重列表被更新,但是在进一步的迭代中,列表没有得到更新。我不明白我做错了什么?请帮忙。谢谢
代码:
**
import numpy as np
data = open("mnist_data_training.csv",'r')
weights = [[0 for _ in range(784)] for _ in range(10)]
for _ in range(0,3):
for row in data:
lst_row = (row.rstrip('\n').split(','))
list_row = lst_row[:-1]
if (max_weight_index != (lst_row[784])):
weights[lst_row[784]] = np.add(weights[lst_row[784]],list_row) **# Updating weight vector here**
weights[max_weight_index] = numpy.subtract(weights[max_weight_index],list_row) **#Updating weight vector here**
GitHub link - https://github.com/sudhakosuri/Multi-Class-Perceptron.git
在迭代开始时使用 filepointer.seek() 解决了这个问题。
下面是我的多class感知器算法的代码。 在这里,我试图更新列表列表给出的权重向量 - weights.
逻辑正确,正确执行了1次迭代。 weights 列表列表初始化为全 0。在第一次迭代中,权重列表被更新,但是在进一步的迭代中,列表没有得到更新。我不明白我做错了什么?请帮忙。谢谢
代码: **
import numpy as np
data = open("mnist_data_training.csv",'r')
weights = [[0 for _ in range(784)] for _ in range(10)]
for _ in range(0,3):
for row in data:
lst_row = (row.rstrip('\n').split(','))
list_row = lst_row[:-1]
if (max_weight_index != (lst_row[784])):
weights[lst_row[784]] = np.add(weights[lst_row[784]],list_row) **# Updating weight vector here**
weights[max_weight_index] = numpy.subtract(weights[max_weight_index],list_row) **#Updating weight vector here**
GitHub link - https://github.com/sudhakosuri/Multi-Class-Perceptron.git
在迭代开始时使用 filepointer.seek() 解决了这个问题。