使用向量进行深度学习

时间:2020-06-30 06:12:12

标签: python machine-learning deep-learning statistics computer-science

我建立了没有隐藏层的网络。如下所示,我在Sigmoid中使用了激活功能,在MSE中使用了错误功能。 使用的数据集是来自Kaggle的Titanic数据集,我已经对数据进行了预处理。
模型的误差函数不断增加。如何正确更新权重以减少错误功能? 我是初学者。请忍受我。

数据集链接:
https://drive.google.com/file/d/1RZjCvJ732uHx-IAlhPAVRHDwabYsHJJl/view?usp=sharing

我的colab笔记本:
https://colab.research.google.com/drive/1HD9RA1RXQcaBvUANz3vR_6iW0BSr9kDp?usp=sharing

import numpy as np
X=np.array(td.drop(columns=['Survived','Fare'],axis=1))
Y=np.array(td['Survived'])
X=X.T
print('X shape :',X.shape)
print('Y shape :',Y.shape)
W=np.zeros((nf,1))
print('W shape :',W.shape)
B=0
for _ in range(100):
  z=summation(W,X,B)
  print("shape of z : ",z.shape)
  # print('z = ',z)
  y=sigmoid(z.T)
  # print(' y = ',y)
  cost=(error(Y,y))/ne
  print('cost = ',cost)
  updatefactor=((Y-y)*(Y-1))*y*(1-y)*X/ne
  print(updatefactor.squeeze())
  # print('updatefactor : ',updatefactor)
  # print('*****************************')
  print(updatefactor.shape)
  W=updW(W,0.001,updatefactor)

1 个答案:

答案 0 :(得分:0)

我假设您正在构建感知器模型。

正如@Rahul Vishwakarma所评论的那样,在计算的z值中,您需要将权重W和特征X相乘,并加上偏差B。仅将这三个项加起来不会导致适当的激活。因此,您可以做类似的事情

z = np.dot(W,X) + B

确保W和X对齐以进行矢量乘法。