【问题标题】:How to get weight and bias that has a minimum total error如何获得总误差最小的权重和偏差
【发布时间】:2018-10-20 09:36:59
【问题描述】:

Weight1、Weight2、bias1、bias2 是随机列表:

  • list1= [[(list of Weight1)], [(list of Weight2)], [(list of bias1)], [list of bias2)]]
  • list2= [[(list of Weight1)], [(list of Weight2)], [(list of bias1)], [list of bias2)]]
  • list3= [[(list of Weight1)], [(list of Weight2)], [(list of bias1)], [list of bias2)]]

popSize=3

如何获得具有最小tot_error的权重和偏差(Weight1,Weight2,bias1,bias2)

def findGStar(Weight1, Weight2, bias1, bias2):
    z1 = X_trainNorm.dot(Weight1) + bias1
    a1 = np.tanh(z1)
    z2 = a1.dot(Weight2) + bias2
    target = np.reshape(y_trainNorm,(-1,1))
    error = 0
    error = abs(z2-target)
    tot_error = sum(error)
    return tot_error

vec = []
for i in range(popSize):
    vector_new = findGStar(vector[i][0], vector[i][1], vector[i][2], vector[i][3])
    vec.append(vector_new)
vec.sort()
minimum = vec[0]

【问题讨论】:

    标签: python python-3.x numpy machine-learning neural-network


    【解决方案1】:

    得到要优化权重的函数的结果pred_y_i后,计算MSE:

    MSE = (1/N) * sum_i=1..N (y_i - pred_y_i)^2
    

    现在您可以使用您选择的优化算法。这些可以使用导数(梯度下降,牛顿法)或无导数(粒子群优化)。

    对于需要推导的优化,您希望对成本函数 (MSE) 相对于权重进行部分推导。并根据一些更新标准(SGD、ADAM、Adagrad 等)更新权重。

    更新

    要找出三个列表中的哪一个具有相对于 MSE 的最佳权重集:

    for i in range(popSize):
        vector_new = findGStar(vector[i][0], vector[i][1], vector[i][2], vector[i][3])
        vec.append(vector_new)
    list_id = np.argmin(vec)
    print('List {} contains the best parameter.'.format(list_id+1))
    

    通过单独对vec 列表进行排序,您会丢失有关每个错误属于哪个列表的信息。

    当我们第一次获得vec 向量时,vec 中的错误索引与vector 列表中list# 的索引相对应。所以我们可以找出哪个索引拥有最小的错误,并使用该索引来拉取list#

    【讨论】:

    • 对于 exm:list3 是其他列表(list1 和 list2)中最好的(最小错误),那么如何获取 list3 的值,在函数中我只返回 tot_error。对不起,这是第一次使用python
    • 哦,您的意思是找出三个列表中的哪一个:list1、list2、list3 具有最佳权重?
    • 但是要使用 findGStar() 找到最小值:(函数)
    • 所有列表list1list2list3都是一开始就知道的吗?
    猜你喜欢
    • 2019-11-18
    • 1970-01-01
    • 2019-12-29
    • 2017-12-14
    • 2018-03-05
    • 2019-09-26
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多