# -*- coding: utf-8 -*- # python 3.4 import numpy as np from random import choice from sklearn import cross_validation from sklearn.linear_model import LogisticRegression ''''' 1.将权重初始化为 0 或一个很小的随机数 2.对于每个训练样本 x(i) 执行下列步骤: 计算输出值 y^. 更新权重 ''' def load_data(): input_data=[[1,1], [0,0], [1,0], [0,1]] labels=[1,0,0,0] return input_data,labels def train_pre(input_data,y,iteration,rate): #=========================== ''''' 参数: input_data:输入数据 y:标签列表 iteration:训练轮数 rate:学习率 ''' #============================ unit_step = lambda x: 0 if x < 0 else 1 w=np.random.rand(len(input_data[0]))#随机生成[0,1)之间,作为初始化w bias=0.0#偏置 for i in range(iteration): samples= zip(input_data,y) for (input_i,label) in samples:#对每一组样本 #计算f(w*xi+b),此时x有两个 result=input_i*w+bias result=float(sum(result)) y_pred=float(unit_step(result))#计算输出值 y^ w=w+rate*(label-y_pred)*np.array(input_i)#更新权重 bias=rate*(label-y_pred)#更新bias return w,bias def predict(input_i,w,b): unit_step = lambda x: 0 if x < 0 else 1#定义激活函数 result=result=result=input_i*w+b result=sum(result) y_pred=float(unit_step(result)) print(y_pred) if __name__=='__main__': input_data,y=load_data() w,b=train_pre(input_data,y,20,0.01) predict([1,1],w,b)
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有