首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每天十分钟机器学习之二十三:神经网络如何解决多分类

到目前为止,我们已经学过一个分类模型了,那就是逻辑回归。我们知道逻辑回归这个模型很好的解决了二元分类问题,遇到多元分类的情况,逻辑回归虽然也能解决,但是稍显笨拙了一点,尤其特征多的情况下,不但运算量大,还要等价成多个二元分类问题,处理起来的复杂程度也会加大。

之前几讲介绍了神经网络的基础知识和如何理解神经网络,所以神经网络肯定有他的强大之处,今天介绍一下神经网络解决多元分类的主要思路。

当我们有不止两个种类时(也就是y=1,2,3….),比如以下这种情况,如果我们要训练一个神经网络算法来识别路人、汽车、摩托车和卡车,那么在输出层我们应该有4个值。例如,第一个值为1或用于预测是否是行人,第二个值为1或用于判断是否为汽车,第三个值为1或用于判断是否是摩托车,第四个值为1或用于判断是否是卡车。

假设我们的输入向量x有三个维度,两个中间层,输出层4个神经元分别用来表示4类,也就是每一个数据在输出层都会出现[a b c d]T,且a,b,c,d中仅有一个为1,表示当前类。下面是该神经网络的可能结构示例:

那么神经网络算法的输出结果为四种可能情形之一:

所以我们只要判断输出的结果到底是哪一种就可以进行分类了,以上就是神经网络解决多分类的思路。

另外根据我目前的经验,输出层出现[a b c d]T,且a,b,c,d中仅有一个为1这种情况好像不多见,一般都是a+b+c+d = 1,也就是总概率和为1,要想得出到底属于哪一类,那就看a,b,c,d四个值哪个更大了,而且要是按照这种形式输出的话,输出层的激活函数是Softmax,而不是Sigmoid,事实上在真实的神经网络计算过程中,很少用Sigmoid做激活函数,因为会出现梯度不可控的情况,其实Softmax多分类器的原理就是基于此。

祝您的机器学习之旅愉快!

本文参考资料:斯坦福吴恩达老师的机器学习讲义,图片直接来自讲义;

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181219G122QF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券