机器学习 第五章 神经网络

机器学习 第五章 神经网络

1. 神经元模型

1.1 什么是神经元模型?

神经元模型是神经网络的基本单元,就像生物神经元一样,它接收来自其他神经元的输入信号,通过带权重的连接传递,然后通过激活函数处理产生输出。

1.2 M-P神经元模型

1943年,McCulloch和Pitts提出了M-P神经元模型,这个模型非常简单,但却是现代神经网络的基础。在这个模型中,神经元接收到来自几个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过激活函数处理以产生神经元的输出。

1.3 激活函数

激活函数是神经元模型中的关键部分,它决定了神经元的输出。常见的激活函数有阶跃函数和Sigmoid函数。阶跃函数将输入值映射为输出值“0”或“1”,而Sigmoid函数则将输入值挤压到(0,1)输出值范围内。

1.4 代码实现

import numpy as np

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

class Neuron:
    def __init__(self, weights, bias):
        self.weights = weights
        self.bias = bias

    def forward(self, inputs):
        total = np.dot(inputs, self.weights) + self.bias
        return sigmoid(total)

#示例
weights = np.array([0.5, -0.3])
bias = 0.1
neuron = Neuron(weights, bias)
inputs = np.array([1, 0])
output = neuron.forward(inputs)
print("Neuron output:", output)
2. 感知机与多层网络
2.1 感知机
感知机由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元。感知机能容易地实现逻辑与、或、非运算。
2.2 多层网络
多层网络包含输入层、隐层和输出层,能够解决非线性可分问题。常见的多层前馈神经网络结构如图5.6所示。
2.3 代码实现
Python复制
import numpy as np

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

def sigmoid_derivative(x):
    return x * (1 - x)

class Layer:
    def __init__(self, input_size, output_size)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值