刘江浩吧 关注:6贴子:50
  • 2回复贴,共1

from numpy import*def Gri (tra

只看楼主收藏回复

from numpy import*
def Gri (train) :
data=[]
label=[]
w=[0., 0.]
b=O.
lr=1 # lr=0. 001
for temp in train:
data. append(temp[0]
label. append(temp[1])
fullydi d=False
while fullydid is False:
NeverFinal=False
for index in range(len(data)):
CheckPoint=w[0]*data[index] [0]+w[1]*data[index] [1]+b
if labelindex]Check? oint(=9. $dn. net/weixin 38358654
if NeverFinal is False:
w= [w[O]+lr*label [index]*data[index] [0], w[1]+lr*l abel [index]*data[index][1]]b+=label [index]*lr
NeverF inal=True
print(' Q:',str(w[0])+' +x' +str(w[1])+' +y' +' +' +str(b))
if NeverFinal is False:
fullydid=True 1
return w, b
def main()
Train=[[[3.,3.],1.],
[[4.,3.],1.],
[[1.,1.],-1.]]
print(' w & b:', Gri (Train))
if_ _name__ _=="_ main__" :
main()


IP属地:山东来自Android客户端1楼2020-09-28 08:35回复
    老谜语人了


    IP属地:山东来自Android客户端2楼2020-10-08 08:58
    回复
      #!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Han Zengzhaofrom sklearn import datasetsimport numpy as npimport 网页链接 as pltinput_dim=2 #输入维度output_dim=2 # 输出的维度,分类数epsilon=0.01 #梯度下降算法的学习率reg_lambda=0.01 # 正则化强度np.random.seed(0)X, y = datasets.make_moons(300, noise=0.25) #300个数据点,噪声设定0.25def calculate_loss(model,X,y): #损失函数 num_examples=len(X) w1, B1 = model['W1'], model['b1'] l = len(w1) # 向前传播 Z1 = [] A1 = [] XX = X for j in range(l - 1): A1.append(XX) z1 = XX.dot(w1[j]) + B1[j] Z1.append(z1) a1 = np.tanh(z1) XX = a1 A1.append(XX) z1 = XX.dot(w1[l-1]) + B1[l-1] Z1.append(z1) exp_scores = np.exp(z1) probs = exp_scores / np.sum(exp_scores, axis=1, keepdims=True) #交叉熵损失 计算损失值 corect_logprobs=-np.log(probs[range(num_examples),y]) data_loss=np.sum(corect_logprobs) #L2正则化 对损失值归一化 ww=np.sum(np.square(w1[0])) for i in range(l): if i!=0: ww+=np.sum(np.square(w1[i])) data_loss+=reg_lambda/2*(ww) return (1.0/num_examples)*data_lossdef predict(model,X): #预测函数 w1,B1=model['W1'],model['b1'] l=len(w1) # 向前传播 Z1=[] A1=[] XX = X for j in range(l-1): A1.append(XX) z1 = XX.dot(w1[j]) + B1[j] Z1.append(z1) a1 = np.tanh(z1) XX = a1 A1.append(XX) z1 = XX.dot(w1[l-1]) + B1[l-1] Z1.append(z1) exp_scores = np.exp(z1) probs = exp_scores / np.sum(exp_scores, axis=1, keepdims=True) return np.argmax(probs,axis=1)def plot_boundary(pred_func,data,labels,nn_dim): x_min,x_max=data[:,0].min()-0.5,data[:,0].max()+0.5 y_min,y_max=data[:,1].min()-0.5,data[:,1].max()+0.5 h=0.01 xx,yy=np.meshgrid(np.arange(x_min,x_max,h),np.arange(y_min,y_max,h)) z=pred_func(np.c_[xx.ravel(),yy.ravel()]) z=z.reshape(xx.shape) plt.contourf(xx,yy,z,cmap='Blues',alpha=0.2) plt.scatter(data[:,0],data[:,1],s=40,c=labels,cmap='tab20c',edgecolors="Black") plt.title('Hidden Layer size '+nn_dim) plt.show()def ANN_model(X,y,nn_dim): #人工神经网络,nn_dim是隐藏层的神经元节点数 num_indim=len(X) #训练数据集 model={} # 权重w,偏置b np.random.seed(0) # np.random.rand() w1=[] B1=[] l=len(nn_dim) for i in range(l+1): if i==0: W1 = np.random.randn(input_di


      IP属地:山东来自Android客户端3楼2020-11-02 08:21
      回复