Sigmoid成了hy的 "测谎仪":小南梁身份大揭秘!

(文章打趣内容纯属娱乐,请勿当真,要是侵犯到hy的眼睛,非常抱歉)

近期鼠鼠我发现一招,辨别hy是否为小南梁的好方法——Sigmoid函数,只要将hy的等级传入其中,就可以得到hy是否为小南梁的结果!

Sigmoid在这里并非西格玛,而是一个函数。

而我们要利用它实现我们想要辨别小南梁的目的,需要将Sigmoid函数之力注入机器学习之中。下面是Sigmoid的本体,和相应的代价函数(交叉熵),梯度公式

本体

交叉熵代价函数

梯度公式

代码如下

关于Sigmoid函数为什么使用交叉熵代价函数

对于二分类问题,标签y∈{0,1},我们希望模型输出的预测概率y^=σ(z)接近真实标签。

问题:当使用 Sigmoid 函数时,MSE 会导致代价函数非凸,存在多个局部极小值,梯度下降容易陷入局部最优。

正确选择:交叉熵损失(Cross-Entropy Loss)

优势:与 Sigmoid 函数配合时,能形成凸函数,保证梯度下降找到全局最优解。

若使用 MSE在y^接近 0 或 1 时会变得非常小,导致梯度消失,学习速度极慢。

而交叉熵避免了这个问题,无论预测值好坏,梯度都能保持合理大小,确保学习效率。

交叉熵代价函数来源参考最大似然估计相关内容

首先先拿我潜伏小黑盒多年的数据呈上(bushi)

分布折线图

现在调整学习率,调整迭代次数,我希望让我的模型更加准确一点,损失函数值尽量小,再参考等级大致在0~40,我选择学习率为0.001,迭代次数100000次

代码

代价函数值输出结果

后面我也试了很多参数,最小值差不多都在这个范围左右,可以说模型应该很准确了吧

直接测试一下吧,先来个20级别老登测试一下

代码

输出结果

测试函数

我累个,居然不是小南梁,我看看我的等级——10看看

代码

输出结果

,好好好,忘了按照结果输出了

下次要在捏造数据的时候把阈值放到九级

下面是分割线

————————————

分类算法有非常多,sigmoid属于分类算法的一种。

sigmoid算法做的很厉害的一件事就是将输出y值控制在了0-1,但是仍然可以将sigmoid函数自变量看成线性或者非线性的其他函数,这让sigmoid的泛用性也很强,不仅仅是处理一个特征,多个也是可以的。

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com