(文章打趣内容纯属娱乐,请勿当真,要是侵犯到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