【发布时间】:2022-06-11 17:30:51
【问题描述】:
我试图在这里和谷歌上搜索,看看我是否能找到解决方案,但我只找到了那里的一部分。 This post 很有帮助,但我需要做的实际上是求解相乘多项式,而不仅仅是直观地表示它。
我正在努力寻找最好的设置方法。我也见过 numpy poly1d 和 polymul,但这些似乎只有一个变量。这就是我想要做的:
z1 = w1 * y0 + b1
Square z1 --> so y1 = z1 ** 2 = w1**2 * y0**2 + 2*w1*y0*b1 + b1**2
then I want to multiply out y2 where y2 = (w2 * y1 + b2)**2
我可以让这个简单的工作(它是一个神经网络,其激活函数只是对仿射函数进行平方)。但我想将其平方为第二层,将 w2、b2 和 y1 添加到混合中。在纸上它已经很乱了。我想要一种为层输入一个参数 L 的方法(高于 1)。
我正在尝试这样的事情,将指数和“块”存储在字典中,但这并不是我真正想要的:
CW0 = 1
Cb0 = 1
W1_exp = 1
y0_exp = 1
b1_exp = 1
parameters = {}
for l in range(1,L+1):
#constants
parameters['CW' + str(l)] = CW0 * CW0
parameters['CWb' + str(l)] = CW0 * Cb0 + CW0 * Cb0
parameters['Cb' + str(l)] = Cb0 * Cb0
parameters['CW' + str(l) + '_W' + str(l) + '_exp'] = W1_exp + W1_exp
parameters['CW' + str(l) + '_y' + str(l-1) + '_exp'] = y0_exp + y0_exp
【问题讨论】:
标签: python polynomials