Python实现Softmax回归函数的两种方法详解

Jasper
Jasper
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍Softmax回归函数在Python中的两种实现方式。Softmax通过指数变换对分类得分进行归一化,使较大值的贡献更显著。第一种方法通过手动循环计算实现,第二种利用NumPy库进行向量化操作,代码更简洁高效。

Softmax回归函数主要用于将分类模型的原始输出转化为概率分布。与简单的比例归一化不同,它采用指数变换(对数变换的逆运算)进行归一化处理。这种机制使得数值较大的原始得分在最终概率中占据更高的权重,从而实现了大值收益更多的效果。

Softmax公式

Softmax实现方法1

import numpy as np
def softmax(x):
 """Compute softmax values for each sets of scores in x."""
 pass # TODO: Compute and return softmax(x)
 x = np.array(x)
 x = np.exp(x)
 x.astype('float32')
 if x.ndim == 1:
  sumcol = sum(x)
  for i in range(x.size):
   x[i] = x[i]/float(sumcol)
 if x.ndim > 1:
  sumcol = x.sum(axis = 0)
  for row in x:
   for i in range(row.size):
    row[i] = row[i]/float(sumcol[i])
 return x
#测试结果
scores = [3.0,1.0, 0.2]
print softmax(scores)

其计算结果如下:

[ 0.8360188 0.11314284 0.05083836]

Softmax实现方法2

import numpy as np
def softmax(x):
 return np.exp(x)/np.sum(np.exp(x),axis=0)

#测试结果
scores = [3.0,1.0, 0.2]
print softmax(scores)

以上这篇Python下的Softmax回归函数的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表