Perception

import numpy as np


''''''

class per(object):

    def __init__(self,input_num,step):

            self.step = step

            self.weights = [0.0 for _ in range(input_num)]

            self.bias = 0.0

    ''''''        

    def train(self,input_vecs,labels,iteration_num,rate):

            for i in range(iteration_num):

                samples=zip(input_vecs,labels)

                for (input_vec,label) in samples:

                    output=self.operation(input_vec)

                    self.updata(input_vec,output,label,rate)

    ''''''                

    def andStep(x):

        if x>0:

            return 1

        else:

            return 0

    def trainPer():

        p=per(2,andStep)

        input_vecs,labels=getTrainData()

        p.train(input_vecs,labels,100,0.1)

        return p


    ''''''

    if __name__=='__main__':

        x1 = [1,0]

        input_vecs=np.random.choice(x1,2)

        labels=np.random.choice(x1)

        train_per=trainPer()

        print(train_per)

        print(train_per.predict([1,1]))

        print(train_per.predict([1,0]))

        print(train_per.predict([0,1]))

        print(train_per.predict([0,0]))

weight: [0.1, 0.2], bias: -0.200000
1
0
0
0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值