神经网络入门——6and感知机

本文介绍了一个简单的AND感知器实现过程,通过设置合适的权重和偏置项来实现逻辑AND运算。文章提供了一个Python代码示例,演示了如何使用线性组合和单位越阶函数来计算输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AND 感知器练习

 
 
 

AND 感知器的权重和偏置项是什么?

把权重(weight1weight2)和偏置项 bias 设置成正确的值,使得 AND 可以实现上图中的运算。

 

在这个例子中,在上图中可以看出有两个输入(我们把第一列叫做 input1,第二列叫做 input2),根据感知器公式,我们可以计算输出。

首先,线性组合就是所有输入乘以权重后求和:linear_combination = weight1*input1 + weight2*input2,然后我们可以将该值传入加上偏置值的单位越阶函数,这将给我们一个(0 或 1)的输出:

 
import pandas as pd

# TODO: Set weight1, weight2, and bias
weight1 = 1
weight2 =1
bias = -2


# DON'T CHANGE ANYTHING BELOW
# Inputs and outputs
test_inputs = [(0, 0), (0, 1), (1, 0), (1, 1)]
correct_outputs = [False, False, False, True]
outputs = []

# Generate and check output
for test_input, correct_output in zip(test_inputs, correct_outputs):
    linear_combination = weight1 * test_input[0] + weight2 * test_input[1] + bias
    output = int(linear_combination >= 0)
    is_correct_string = 'Yes' if output == correct_output else 'No'
    outputs.append([test_input[0], test_input[1], linear_combination, output, is_correct_string])

# Print output
num_wrong = len([output[4] for output in outputs if output[4] == 'No'])
output_frame = pd.DataFrame(outputs, columns=['Input 1', '  Input 2', '  Linear Combination', '  Activation Output', '  Is Correct'])
if not num_wrong:
    print('Nice!  You got it all correct.\n')
else:
    print('You got {} wrong.  Keep trying!\n'.format(num_wrong))
print(output_frame.to_string(index=False))

  

如果你还需要一点提示,看看这个具体的例子:

对于 AND 感知器来说,input1 和 input2 都为 1 时,我们想要的输出等于 1!这个输出是由权重和单位阶跃函数(Heaviside step function)共同决定的:

output = 1, if  weight1*input1 + weight2*input2 + bias >= 0
or
output = 0, if  weight1*input1 + weight2*input2 + bias < 0

所以,你能为权重和偏置项设置一个值,使得两个输入都等于 1 的时候,output = 1 吗?

转载于:https://www.cnblogs.com/fuhang/p/8926931.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值