您的位置:首页 > 其它

pytorch学习——Softmax与分类模型

2020-03-01 20:13 92 查看

Softmax与分类模型

Softmax原理

softmax通过下式将输出值变换成值为正且和为1的概率分布:

因此softmax运算不改变预测类别输出。
pytorch定义softmax函数如下:

def softmax(X):
X_exp = X.exp()
partition = X_exp.sum(dim=1, keepdim=True)
return X_exp / partition

定义softmax回归模型:

def net(X):
return softmax(torch.mm(X.view((-1, num_inputs)), W) + b)

交叉熵损失函数

对于分类问题常用交叉熵损失函数:

def cross_entropy(y_hat, y):
return - torch.log(y_hat.gather(1, y.view(-1, 1)))

模型训练和预测

在训练好softmax回归模型后,给定任一样本特征,就可以预测每个输出类别的概率。通常,我们把预测概率最大的类别作为输出类别。使用准确率(accuracy)来评价模型的表现。它等于正确预测数量与总预测数量之比。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
哆来咪发呀 发布了3 篇原创文章 · 获赞 0 · 访问量 68 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: