Python下的Softmax回归函数的实现方法(推荐)

yipeiwu_com7年前Python基础

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设计】。

相关文章

tensor和numpy的互相转换的实现示例

要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了。下...

python查询mysql,返回json的实例

如下所示: import MySQLdb import json def getSql(): try: con = MySQLdb.connect(host...

PyQt5+Caffe+Opencv搭建人脸识别登录界面

PyQt5+Caffe+Opencv搭建人脸识别登录界面

最近开始学习Qt,结合之前学习过的caffe一起搭建了一个人脸识别登录系统的程序,新手可能有理解不到位的情况,还请大家多多指教。 我的想法是用opencv自带的人脸检测算法检测出面部,...

opencv python 图像轮廓/检测轮廓/绘制轮廓的方法

opencv python 图像轮廓/检测轮廓/绘制轮廓的方法

图像的轮廓检测,如计算多边形外界、形状毕竟、计算感兴趣区域等。 Contours : Getting Started 轮廓 简单地解释为连接所有连续点(沿着边界)的曲线,具有相同的颜色或...

在Python中使用全局日志时需要注意的问题

在使用 uliweb 开发 soap webservice 后,启动 uliweb 时,werkzeug 的日志莫名其妙丢失了。 正常的日志: 复制代码 代码如下:[INFO] ...