机器学习02-多分类问题

多分类问题

Softmax回归

当有四种分类时:

普试:

$a_{j}$被解释为给定输入特征x时模型对y等于j的概率。

Softmax回归的损失函数


损失函数衡量的是在一个训练样例上的表现如何,所以对于一个特定的训练样本,y只能取一个值。因此最终只能针对 ${a}_j$ 的一个值计算 ${a}j$ 的负对数,即在该特定训练样本中y的实际值等于j的任何值。例如,当y等于2时,损失函数只计算 $-\log a{2}$

神经网络的Softmax输出


sigmod激活函数,激活值 ${a}_1$ 仅是 ${z}_1$ 的函数 ,${a}_2$ 也只是 ${z}_2$ 的函数。但是对于softmax函数,每一个激活值都取决于Z的所有值。

Tensorflow实现

基本实现:

更好的实现:(P68)

目的在于减小计算误差。计算机是将数字转换为二进制计算数值的,会有误差。原来是先计算出a,再将a带入到损失函数中计算损失函数,这种利用中间值计算的损失函数具有误差。

现在softmax不再单独计算,在计算cost时将a嵌入损失韩素内部一起算了。并且输出层为 liner,这样输出层只会直接输出Z的值,不再带入softmax计算了。
完整代码:
多分类优化代码

逻辑回归优化代码:
逻辑回归优化代码

epochs 迭代次数。

多标签分类问题


多标签分类问题是指对一个样本进行多个类别的分类,而不是将样本分到唯一的类别中。在多标签分类问题中,每个样本可以属于多个类别,类别之间是相互独立的。

举个例子,假设我们有一个图像识别任务,需要对图像进行多个标签的分类,比如识别图像中的汽车、公交车、行人。一张图像可能同时包含多个标签,比如既有人又有汽车。

训练三个单独的模型,分别识别有没有汽车、公交车、行人。
训练一个模型一次识别完。输出层有三个sigmod神经元,因此我们解决的是三个二分类问题。


机器学习02-多分类问题
https://blog.966677.xyz/2023/07/12/机器学习02-多分类问题/
作者
Zhou1317fe5
发布于
2023年7月12日
许可协议