# coding: utf-8import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data #print("hello") #载入数据集mnist = input_data.read_data_sets("F:\\TensorflowProject\\MNIST_data",one_hot=True) #每个批次的大小,训练时一次100张放入神经网络中训练batch…
视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 Mnist分类程序 import numpy as np from keras.datasets import mnist #将会从网络下载mnist数据集 from keras.utils import np_utils from keras.models import Sequential #序列模型 from k…
二分~多分~Softmax~理预 一.简介 在二分类问题中,你可以根据神经网络节点的输出,通过一个激活函数如Sigmoid,将其转换为属于某一类的概率,为了给出具体的分类结果,你可以取0.5作为阈值,凡是大于0.5的样本被认为是正类,小于0.5则认为是负类 然而这样的做法并不容易推广到多分类问题.多分类问题神经网络最常用的方法是根据类别个数n,设置n个输出节点,这样每个样本,神经网络都会给出一个n维数组作为输出结果,然后我们运用激活函数如softmax,将输出转换为一种概率分布 其中的每一个概率…
1交叉熵损失函数的由来1.1关于熵,交叉熵,相对熵(KL散度) 熵:香农信息量的期望.变量的不确定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大.其计算公式如下: 其是一个期望的计算,也是记录随机事件结果的平均编码长度(关于编码:一个事件结果的出现概率越低,对其编码的bit长度就越长.即无法压缩的表达,代表了真正的信息量.) 熵与交叉熵之间的联系: 假设有两个分布p,q.其中p是真实概率分布,q是你以为(估计)的概率分布(可能不一致):你以 q 去编码,编码方案 log(1/qi)可能不是…
损失函数(Loss function)是用来估量你模型的预测值 f(x) 与真实值 Y 的不一致程度,它是一个非负实值函数,通常用 L(Y,f(x)) 来表示.损失函数越小,模型的鲁棒性就越好. 损失函数分为经验风险损失函数和结构风险损失函数.经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项.通常表示为如下:(整个式子表示的意思是找到使目标函数最小时的θ值.) 常见的损失误差有6种: 铰链损失(Hinge Loss):主要用于支持向量机(SVM) 中:…
1.说在前面 最近在学习object detection的论文,又遇到交叉熵.高斯混合模型等之类的知识,发现自己没有搞明白这些概念,也从来没有认真总结归纳过,所以觉得自己应该沉下心,对以前的知识做一个回顾与总结,特此先简单倒腾了一下博客,使之美观一些,再进行总结.本篇博客先是对交叉熵损失函数进行一个简单的总结. 2. 交叉熵的来源 2.1.信息量 交叉熵是信息论中的一个概念,要想了解交叉熵的本质,需要先从最基本的概念讲起.我们先来看看什么是信息量: 事件A:巴西队进入了2018世界杯决赛圈. 事…
深度学习基础5:交叉熵损失函数.MSE.CTC损失适用于字识别语音等序列问题.Balanced L1 Loss适用于目标检测 1.交叉熵损失函数 在物理学中,"熵"被用来表示热力学系统所呈现的无序程度.香农将这一概念引入信息论领域,提出了"信息熵"概念,通过对数函数来测量信息的不确定性.交叉熵(cross entropy)是信息论中的重要概念,主要用来度量两个概率分布间的差异.假定 p和 q是数据 x的两个概率分布,通过 q来表示 p的交叉熵可如下计算: $H\le…
损失函数用于描述模型预测值与真实值的差距大小,一般有两种比较常见的算法——均值平方差(MSE)和交叉熵. 1.均值平方差(MSE):指参数估计值与参数真实值之差平方的期望值. 在神经网络计算时,预测值要与真实值控制在同样的数据分布内,假设将预测值经过Sigmoid激活函数得到取值范围在0~1之间,那么真实值也归一化到0~1之间. 2.交叉熵:预测输入样本属于某一类的概率. 其中y代表真实值分类(0或1),a代表预测值,交叉熵值越小,预测结果越准. 3.损失函数的选取 损失函数的选取取决于输入标签…
机器学习中经常遇到这几个概念,用大白话解释一下: 一.归一化 把几个数量级不同的数据,放在一起比较(或者画在一个数轴上),比如:一条河的长度几千甚至上万km,与一个人的高度1.7m,放在一起,人的高度几乎可以被忽略,所以为了方便比较,缩小他们的差距,但又能看出二者的大小关系,可以找一个方法进行转换. 另外,在多分类预测时,比如:一张图,要预测它是猫,或是狗,或是人,或是其它什么,每个分类都有一个预测的概率,比如是猫的概率是0.7,狗的概率是0.1,人的概率是0.2... , 概率通常是0到1之间…
1. tf.nn.conv2d(x, w, strides=[1, 1, 1, 1], padding='SAME')  # 对数据进行卷积操作 参数说明:x表示输入数据,w表示卷积核, strides表示步长,分别表示为样本数,长,宽,通道数,padding表示补零操作 2. tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME')  # 对数据进行池化操作 参数说明:x表示输入数据,ksize表示卷…