深度学习激活函数


1 分类

人在思考的过程中,往往不会产生精确的数值估计,而常做的事情是分类
在这里插入图片描述
在这里插入图片描述
但是这种阶跃函数就不能拟合出一条回归的直线了,这么画都感觉误差很大
在这里插入图片描述

在这里插入图片描述
这样时是不是好多了
在这里插入图片描述

那么怎么表示这样的关系呢?机制如你,想到分段函数
在这里插入图片描述
远的不说,这个大括号看着就很头疼,看着就是个不好处理的家伙。

我们接下来,看一种更为优雅的Logistic函数
在这里插入图片描述

在这里插入图片描述

不过我们一般会采用标准的Logistic函数,L=1,k=1,y0=0
在这里插入图片描述

可以看出来这个函数的计算结果始终在0到1之间,他的名字也暗示了这一点:很适合做逻辑判断,即分类。

知识补充:
在这里插入图片描述

此时这里函数关系为:
在这里插入图片描述

2 函数求导进行求解出最小代价函数

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

接下来,我们按照之前的方法,分别e对w、b求偏导,然后合成:

在这里插入图片描述

补充Logistic函数求导
在这里插入图片描述

理解复合函数求导中从外到内的这一过程,这有助于我们后续理解神经网络的精髓:

在这里插入图片描述

3 代码实现

豆豆数据集模拟:dataset.py

import numpy as np

def get_beans(counts):
	xs = np.random.rand(counts)
	xs = np.sort(xs)
	ys = np.zeros(counts)
	for i in range(counts):
		x = xs[i]
		yi = 0.7*x+(0.5-np.random.rand())/50+0.5
		if yi > 0.8:
			ys[i] = 1
	return xs,ys

豆豆毒性分布如下:

在这里插入图片描述
加入激活函数后的梯度随机下降算法:activation.py

import dataset
import matplotlib.pyplot as plt
import numpy as np

# 豆豆数量m
m = 100
xs, ys = dataset.get_beans(m)

# 配置图像
plt.title("Size-Toxicity Function", fontsize=12)
plt.xlabel("Bean Size")
plt.ylabel("Toxicity")
plt.scatter(xs, ys)

w = 0.1
b = 0.1
z = w * xs + b
a = 1 / (1 + np.exp(-z)) # 加入激活函数
plt.plot(xs, a)
plt.show()

# alpha为学习率
alpha = 0.01
# 训练5000次
for _ in range(5000):
    for i in range(100):
        x = xs[i]
        y = ys[i]
        # 三个函数
        z = w * x + b
        a = 1 / (1 + np.exp(-z))
        e = (y - a) ** 2
        # 对w和b求偏导
        deda = -2 * (y - a)
        dadz = a * (1 - a)
        dzdw = x
        dzdb = 1

        dedw = deda * dadz * dzdw
        dedb = deda * dadz * dzdb

        w = w - alpha * dedw
        b = b - alpha * dedb

    if _ % 100 == 0:
        # 绘制动态
        plt.clf()  ## 清空窗口
        plt.scatter(xs, ys)
        z = w * xs + b
        a = 1 / (1 + np.exp(-z))  # 加入激活函数
        plt.xlim(0, 1)
        plt.ylim(0, 1.2)
        plt.plot(xs, a)
        plt.pause(0.01)  # 暂停0.01秒

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵广陆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值