利用简单的神经网络实现and操作

博客给出了神经网络中AND运算的简单示例,定义了输入x1、x2取值范围为{0, 1},输出y为x1 AND x2,还给出了hθ(x)的表达式,同时提及激活函数、权重矩阵、输入函数、输出函数及测试等内容。

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

Simple example: AND

x1,x2∈x_1, x_2 \inx1,x2{0, 1}
y=x1ANDx2y = x_1 AND x_2y=x1ANDx2

神经网络

hθ(x)=g(−30+20x1+20x2)h_\theta(x) = g(-30 + 20x_1+20x_2)hθ(x)=g(30+20x1+20x2)

激活函数
g(x)=11+e−xg(x) = \frac1{1+e^{-x}}g(x)=1+ex1
激活函数图像

x1x_1x1x2x_2x2hθ(x)h_{\theta}(x)hθ(x)
00g(−30)≈0g(-30) \approx0g(30)0
01g(−10)≈0g(-10)\approx 0g(10)0
10g(−10)≈0g(-10)\approx0g(10)0
11g(10)≈1g(10)\approx1g(10)1

激活函数:

def sigmoid(x):
    return 1/(1+np.exp(-x))

权重矩阵:

w = np.array([-30, 20, 20])
w = np.mat(w)

输入函数:

def input(x1, x2):
    data = np.array([1, x1, x2])
    data = np.mat(data.reshape(3, 1))
    return w*data

输出函数:

def out(data):		# eg:   data为input(1, 1)、input(1, 0)、 input(0, 1)、input(0, 0)
    result = sigmoid(data)
    if result<0.5:
        return 0
    else:
        return 1

测试:
结果测试

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值