softmax与simod如何选择?

这篇博客探讨了softmax和sigmoid在深度学习中的应用及其区别。softmax常用于多分类任务,考虑所有类别的概率并确保概率总和为1,而sigmoid适用于二分类,输出值在0-1之间表示属于某类的概率,且与其它类无关。在多分类任务中,softmax由于其全局考虑的特性,通常表现更优。

前言:博主最近在复现代码的时候遇到一个问题,有的代码使用softmax有的使用sigmod,两者使用到底有什么区别呢?

一、softmax函数

1.1公式

(一般只用于最后一层进行分类)深度学习中使用Softmax进行分类。

1.2举例

如果我们的结果有3类,那么最后的神经元输出就是3,也就是输出有3个数,但是直接输出这3个数有时候并不是特别好。通过softmax这个函数,上面的3个数就转换为了概率,输出还是3个数,它们加起来就等于1。如下图所示

 

 1.3总结

softmax要综合考虑n个类,属于每个类的概率,这n类相互影响,加起来是等于1的.

二、sigmod函数

2.1sigmod公式

2.2解释

可以看到Sigmoid 函数的范围是在0~1之间,所以任何一个值经过了Sigmoid 函数的作用,都会变成0~1之间的一个值,这个值可以形像

### ### sklearn 是否支持 softmax 回归模型 是的,`scikit-learn`(即 `sklearn`)库支持 Softmax 回归模型,尽管它并没有专门命名为“Softmax Regression”的类。实际上,在 `sklearn` 中,**LogisticRegression** 类通过设置参数 `multi_class='multinomial'` 可以实现 Softmax 回归,适用于多分类任务[^1]。 在默认情况下,`LogisticRegression` 使用的是 **一对多余(One-vs-Rest, OvR)** 的策略进行多分类,但当指定 `multi_class='multinomial'` 时,模型将直接优化多分类目标函数,并使用 Softmax 激活函数来输出各类别的概率分布[^2]。 此外,为了确保使用正确的求解器,建议将 `solver` 参数设置为 `'lbfgs'`、`'newton-cg'` 或 `'saga'`,因为这些求解器支持 multinomial 选项。 #### 示例代码: ```python from sklearn.linear_model import LogisticRegression from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler # 加载数据集 iris = load_iris() X, y = iris.data, iris.target # 数据标准化(可选但推荐) scaler = StandardScaler() X_scaled = scaler.fit_transform(X) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.3, random_state=42) # 构建并训练 Softmax 回归模型 model = LogisticRegression(multi_class='multinomial', solver='lbfgs', max_iter=1000) model.fit(X_train, y_train) # 预测并评估 predictions = model.predict(X_test) accuracy = np.mean(predictions == y_test) print(f"Accuracy: {accuracy:.2f}") ``` 上述代码展示了如何使用 `LogisticRegression` 来构建一个基于 Softmax 的多分类模型,并应用于经典的 Iris 数据集。 #### 注意事项: - 当类别数量较大时,Softmax 回归可能会受到数值稳定性问题的影响,因此建议对输入特征进行标准化处理。 - 若数据集维度较高或样本量较少,应选择正则化强度较大的 `C` 值,以防止过拟合。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

两只蜡笔的小新

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

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

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

打赏作者

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

抵扣说明:

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

余额充值