单层神经网络

1. 线性回归

对于含有n个特征的样本i,其回归结果对应如下方程:

z i = b + w 1 x i 1 + w 2 x i 2 + . . . + w n x i n z_i = b+w_1x_{i1} + w_2x_{i2}+ ... +w_nx_{in} zi=b+w1xi1+w2xi2+...+wnxin

其中, w w w b b b是模型的参数;b是截距(intercept),也叫偏差(bias); w 1 w_1 w1~ w n w_n wn是回归系数,也叫权重(weights)。

假设当前数据是2个特征,则上面的方程可写成如下形式:

z = b + w 1 x 1 + w 2 x 2 z = b+w_1x_{1} + w_2x_{2} z=b+w1x1+w2x2

对于上述方程,输入特征取值 x 1 x_1 x1, x 2 x_2 x2就可以得到预测结果 z z z的值。而在神经网络中,也是从神经元左侧输入特征,接着神经元对数据处理后,右侧输出结果。所以,可以用神经网络来表达线性回归过程:

在这里插入图片描述
特征对应的权重即 w w w越大,表明传到下一层神经元信息就越大。

上面这种网络结构一般被称为“单层神经网络”(不考虑输入层)。

2. 模拟实现

用下面这组数据

x 1 x_1 x1 x 2 x_2 x2 z z z
10-0.05
110.05
01-0.05
00-0.15
import numpy as np
X = np.array([[1, 0], [1, 1], [0, 1], [0, 0]])
z = np.array([-0.05, 0.05, -0.05, -0.15])


def linear_regression(x1, x2):
    w1, w2, b = 0.1, 0.1, -0.15  # 给定回归系数和截距
    z = w1*x1 + w2*x2 + b
    return z


z_re = linear_regression(X[:, 0], X[:, 1])
print(z_re)

输出结果:

[-0.05  0.05 -0.05 -0.15]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值