激活函数
梯度下降需要注意的地方就是把离散型的也改成连续型的,因为误差函数必须是可微分的。因为如果是离散型,有可能不管从哪个方向下降,梯度值都是一样的,不存在最大的梯度的方向。
而从连续性变成离散型,我们可以将激活函数从左侧的阶跃函数,变成右边的sigmoid函数
sigmoid函数可以将整个平面变成一个概率平面,如图所示,经过了sigmoid function之后,平面上的点落在某个地方就可以知道这一点预测为蓝色或者红色区域的概率了
然后感知机也发生了变化,原先我们说这个学生会不会被录取,现在我们说这个学会被录取的概率是多少
softmax函数
假如我们不是进行二分类,而是多分类,那么用什么函数呢?就是softmax函数,因为softmax函数有以下好处:
- 可以将所有的数字,哪怕输入的是负数,也变成正的,可以用来表示概率。
- 他们加起来等于1。
- 本身值大的经过softmax之后值也大。
softmax函数公式:
代码:
import numpy as np
def softmax(L):
expL = np.exp(L)
sumExpL = sum(expL)
result = []
for i in expL:
result.append(i*1.0/sumExpL)
return result
# Note: The function np.divide can also be used here, as follows:
# def softmax(L):
# expL = np.exp(L)
# return np.divide (expL, expL.sum())
全部笔记请关注微信公众号【阿肉爱学习】,在菜单栏点击“利其器”,并选择“pytorch”查看