深度学习导论--线性神经网络、delta学习规则、梯度下降法(python实现)

线性神经网络

  1. 与感知器区别
    • 感知器激活函数输出两种值,使用sign函数调整权值
    • 线性神经网络激活函数(线性函数)输出任意值,使用LMS(最小均方)调整权值和偏置
    • purelin函数(y=x)

LMS学习规则:最小均方规则

在这里插入图片描述

线性神经网络结构

在这里插入图片描述

  • purelin用于训练

  • sign用于预测

delta学习规则:连续感知器学习规则

利用梯度下降法的一般性学习法则

代价函数(损失函数)

在这里插入图片描述

梯度下降

在这里插入图片描述

梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率

梯度下降的问题

  1. 学习率难取
    1. 太大震荡大
    2. 太小收敛慢
  2. 容易陷入局部最优解

解决异或问题

在这里插入图片描述

下面的代码部分,就是在输入中添加非线性输入,实现解决异或问题

代码

import numpy as np
import matplotlib.pyplot as plt

class LinearNeuralNetwork(object):
    def __init__(self, data, label,learing_rate,epoch):
        self.data = data
        self.label = label
        self.learning_rate = learing_rate
        self.W = (np.random.random(data.shape[1]) - 0.5) * 2
        self
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值