【机器学习】 - 激活函数与交叉熵Sigmoid, Softmax, binary_crossentropy, categorican_crossentropy区别

 

Content:

  1. 为什么需要激活函数;
  2. 一个神经元在做什么;
  3. 激活函数
  • Sigmoid
  • Softmax

4. 交叉熵损失函数

  • Binary cross-entropy
  • Categorican cross-entropy

为什么需要激活函数:

Ans: 为了引入非线性变换。

如下图所示的红线和蓝线,在这个二维空间中,我们不能用一条线完整的将这两个区域分割开。但如果我们将这个二维空间扭曲变换,那么在高维空间中,就可以用一条线完整的分割出红色和蓝色区域。(这也就是打破线性变换的局限性,通过非线性变换在高维空间解决分类问题,也是神经网络要做的事情)

Fig 1. A neural network can distort the input space to make the classes of data (blue and red regions) linearly separable [1].

Fig.2. The hidden layer learns a representation so that the data is linearly separable [1]

一个基本的神经元在做什么:

y:神经元的输出;

W*x: 就像我之前说的,神经网络目的就是将低维空间映射到高维空间从而实现线性可分。所以这一项的目的就是空间变换实现升维或者降维, 空间的放大或者缩小, 旋转)的目的;

b: bias, 实现空间平移的目的;

a: 空间的弯曲;

基本神经元各个部分的解释

激活函数:

sigmoid, softmax主要用于神经网络输出层的输出。

总结:激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

1. Sigmoid

Sigmoid 将一个实数映射到 (0,1) 的区间,可以用来做二分类。Sigmoid 在特征相差比较复杂或是相差不是特别大时效果比较好。Sigmoid不适合用在神经网络的中间层,因为对于深层网络,sigmoid 函数反向传播时,很容易就会出现梯度消失的情况(在 sigmoid 接近饱和区时,变换太缓慢,导数趋于 0,这种情况会造成信息丢失),从而无法完成深层网络的训练。所以Sigmoid主要用于对神经网络输出层的激活

2. Softmax

可以看作是Sigmoid的一般情况,用于多分类问题。

Softmax函数将K维的实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于 (0,1) 之间。常用于多分类问题。

 

交叉熵损失函数:

交叉熵可在神经网络(机器学习)中作为损失函数。 如下公式所示:y表示真实标记的分布,a则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量y与a的相似性。交叉熵作为损失函数还有一个好处是使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。

  1. Binary Cross Entropy

常用于二分类问题,当然也可以用于多分类问题,通常需要在网络的最后一层添加sigmoid进行配合使用,其期望输出值(target)需要进行one hot编码,另外BCELoss还可以用于多分类问题Multi-label classification.

定义:
For brevity, let x = output, z = target. The binary cross entropy loss is
loss(x, z) = - sum_i (x[i] * log(z[i]) + (1 - x[i]) * log(1 - z[i]))

对应的代码为:

def binary_crossentropy(t,o):return -(t*tf.log(o+eps) + (1.0-t)*tf.log(1.0-o+eps))

2. Categorical cross-entropy

p are the predictions, t are the targets, i denotes the data point and j denotes the class.

适用于多分类问题,并使用softmax作为输出层的激活函数的情况。

This is the loss function of choice for multi-class classification problems and softmax output units. For hard targets, i.e., targets that assign all of the probability to a single class per data point, providing a vector of int for the targets is usually slightly more efficient than providing a matrix with a single 1.0 per row.

References:

[1] Neural Networks, Manifolds, and Topology

 

链接:https://www.zhihu.com/question/36307214/answer/364963552


贴几个不错的链接:

 用sigmoid作为激活函数,为什么往往损失函数选用binary_crossentropy 而不用mse

各大损失函数的定义:MSE,MAE,MAPE,hinge,squad_hinge,binary_crossentropy等 

【机器学习】 - 关于合适用均方误差(MSE)何时用交叉熵(cross-entropy)

https://www.cnblogs.com/lijie-blog/p/10166002.html

 

 


sigmoid和softmax是神经网络输出层使用的激活函数,分别用于两类判别和多类判别。

binary cross-entropy和categorical cross-entropy是相对应的损失函数。

对应的激活函数和损失函数相匹配,可以使得error propagation的时候,每个输出神经元的“误差”(损失函数对输入的导数)恰等于其输出与ground truth之差。
(详见Pattern Recognition and Machine Learning一书5.3章)

链接:https://www.zhihu.com/question/36307214/answer/66899792

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SharePoint 2013 Farm 安装指南——Least Privilege

写过很多关于SharePoint 2013 安装,这是第四篇。可能你会觉得为什么如此简单的安装至于花那么多精力去折腾吗。我的答案是肯定的。知识的积累不是一蹴而就的,而是循序渐进的去学习,每一个阶段都有独立的思考,于是乎第四篇SharePoi…

【机器学习】 - 关于Keras的深入理解

1.keras中使用相同的loss与metrics,都指定为mse,为什么训练时每轮完成后它们数值不一样? 答: 此时的loss是指完成最后一个batch后得到的这轮epoch的loss的加权平均,权重就是每个batch的样本数,&#xff08…

SharePoint 2007 and 2010 的服务器场的端口

由于要把一台SharePoint Server放到外网去,就把IP改到DMZ区了,结果除了系统管理员,其他帐号都无法验证通过,肯定是一些端口没开. 网上一查,SharePoint所需要的端口还真多,不过Client和WFE之间的应该开放80和443就OK了,其余的都是SharePoint Server之间,或者和 公司网络环境的…

【Python学习】 - 使用Anaconda的Spyder查看某些函数的原型的6种方法汇总

1.Ctrl鼠标点击函数名(对应的函数名会加下划线) 或 Ctrlg 2.help(function) 在某些情况下方法1失效,比如TensorFlow中的一些函数tf.constant,他只会跳转到一个init文件,并不会展示函数原型。 所以可以这样help(tf.co…

关于报错:'nvidia-smi' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

使用cmd查看电脑显卡的信息,调用nvidia-smi查看显卡使用情况报错如下: 因为它找不到该命令。这个文件是一个exe文件,一般都在下面这个文件夹中。 C:\Program Files\NVIDIA Corporation\NVSMI 所以想要使用该命令必须要能得到这个文件夹&…

SharePoint网站集备份与恢复

下面是操作过程&#xff1a;尝试三是成功的 尝试一&#xff1a;移动网站集&#xff08;无效&#xff09; 向Web应用程序新增了一个数据库&#xff0c;把网站集迁移到新数据库里&#xff1b; Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -Destination…

【机器学习】 - 使用dlib进行人脸定位,人脸检测,给人脸图片戴口罩

detector dlib.get_frontal_face_detector() 功能&#xff1a;人脸检测画框 参数&#xff1a;无 返回值&#xff1a;默认的人脸检测器 faces detector(img_gray, 0) 功能&#xff1a;对图像画人脸框 参数&#xff1a;img_gray&#xff1a;输入的图片 返回值&#xff1a;人脸…

【机器学习】 - import cv2 opencv安装python

果然不出我所料&#xff0c;直接pip就出了很多奇奇怪怪的错误&#xff0c;还是用清华镜像吧 输入&#xff1a;pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 安装完后&#xff0c;重启spyder即可使用。 下载方法2&#xff1a; 下载地址&#xff1a…

Sharepoin学习笔记—架构系列—Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 2

上一篇我们以问答的方式明确了Sharepoint服务的一些概念&#xff0c;这里我们重点来看两个方面:Sharepoint服务器构架对象模型以及Sharepoint 服务应用程序的某些拓扑结构 一、Sharepoint服务器构架对象模型 二、Sharepoint 服务应用程序的某些拓扑结构 Sharepoint 服务应用程…

【深度学习】 - MobileNet使用的可分离卷积

任何看过MobileNet架构的人都会遇到可分离卷积&#xff08;separable convolutions&#xff09;这个概念。但什么是“可分离卷积”&#xff0c;它与标准的卷积又有什么区别&#xff1f;可分离卷积主要有两种类型&#xff1a; 空间可分离卷积&#xff08;spatial separable con…

SharePoint 2010 WSP包部署过程中究竟发生什么?

在SharePoint 2010中&#xff0c;我们可以使用Visual Studio 2010轻松创建WSP包来安装Web Part&#xff0c; Event Handler&#xff0c; Application Page以及其他。非常方便&#xff0c;但是你有没有研究过在在整个过程中SharePoint究竟做了些什么&#xff1f;以下是我根据htt…

【机器学习】 - 目标检测 - VOC格式数据集介绍与自己制作

一、VOC数据集 PASCAL VOC 挑战赛主要有 Object Classification 、Object Detection、Object Segmentation、Human Layout、Action Classification 这几类子任务。每年都有新的数据集供参赛者进行训练。公布了2007和2012两年的数据集&#xff0c;分别称之为VOC2007和VOC2012&am…

【Python学习】win10+Anaconda3环境,安装phthon第三方库Jieba

一、介绍 jieba库是一款优秀的 Python 第三方中文分词库&#xff0c;jieba 支持三种分词模式&#xff1a;精确模式、全模式和搜索引擎模式&#xff0c;下面是三种模式的特点。 精确模式&#xff1a;试图将语句最精确的切分&#xff0c;不存在冗余数据&#xff0c;适合做文本分…

【PAT甲级最新题解】PAT甲级2020.7月春季考试满分题解(附代码)

写在前面&#xff1a;这次题目虽然大多数是模拟题且不算难&#xff0c;但是题面其实不算友好&#xff0c;不少同学因为题目描述而错失满分。 A&#xff1a; 题意&#xff1a;给定一个数字串&#xff0c;问每一个前缀串是否是素数。 模拟题不多解释。 #include<cstdio>…

SharePoint PowerShell命令系列

(1) Backup-SPSite & Restore-SPSite 这两条命令可能是大家最先接触的PowerShell命令了吧, 一个是备份网站集, 另一个是还原网站集. Backup-SPSite 例子 Backup-SPSite http://site_name -Path C:\Backup\site_name.bak 参数 Force: 覆盖现有备份NoSiteLock: 设置备份…

【Processing学习】 - 公交车马路动态绘制

效果图: 汽车动态移动,云彩动态移动,小草没有找到矢量图,百度了一张先用着. float q 0; int s 0; int add 1;PImage p1;void setup() {size(800, 400);background(0, 0, 255);rect(300, 150, 300, 140, 30);//sunfill(255, 255, 0);circle(800, 0, 40);first//circle(360,…

Qt 5.14 安装,windows10系统,64位,详细步骤,非常简单!

下载地址&#xff1a;http://download.qt.io/archive/qt/5.14/5.14.2/ 直接选择windows系统或mac兄或Linux系统对应版本即可。 这里解释一下 Qt 的版本号&#xff0c;比如 5.14.2 是完整的 Qt 库版本号&#xff0c;第一个数字 5 是大版本号&#xff08;major&#xff09;&…

2023年12月16日~12月22日(自适应反馈机制下基于卷积神经网络的高清晰反射波反演算法:CNN-RWI)

标题&#xff1a;Adaptive Feedback Convolutional-Neural-Network-Based High-Resolution Reflection-Waveform Inversion 全波形反演&#xff08;FWI&#xff09;是一种非线性拟合观测地震记录从而获得高清晰速度模型的最优化算法。FWI能够通过拟合浅层初至波和反射波获得较准…

SharePoint 2016文档库所在数据库表的说明(文档库数据库)

突然被客户问一个问题&#xff0c;说数据库存在哪一个表&#xff0c;这个原本是开发的事&#xff0c;竟然文档我了&#xff0c;好吧这里记录一下&#xff0c;以便记忆给客户汇报。 SharePoint 数据库表说明&#xff1a; FeaturesTable that holds information about all the …

SharePoint 2013 RBS(Remote BLOB Storag) 安装、部署、垃圾回收

SharePoint 承担着文件管理的工作&#xff0c;默认都是将它们以BLOB的数据形式存储在内容数据库当中&#xff1b;当文件大时&#xff0c;就很容易导致数据库容量被这些BLOB数据所快速消耗&#xff0c;而且频繁地对这些大数据量的BLOB数据进行读写访问&#xff0c;很容易在SQL端…