entropy

从39个kaggle竞赛中总结出来的图像分割的Tips和Tricks

会有一股神秘感。 提交于 2020-12-04 13:24:39
作者: Derrick Mwiti 编译:ronghuaiyang 来源公众号:AI公园 导读 作者参加了39个Kaggle比赛,总结了非常多的技巧和经验,现在全部分享给大家。 想象一下,如果你能得到所有的tips和tricks,你需要去参加一个Kaggle比赛。我已经超过39个Kaggle比赛,包括: Data Science Bowl 2017 – $1,000,000 Intel & MobileODT Cervical Cancer Screening – $100,000 2018 Data Science Bowl – $100,000 Airbus Ship Detection Challenge – $60,000 Planet: Understanding the Amazon from Space – $60,000 APTOS 2019 Blindness Detection – $50,000 Human Protein Atlas Image Classification – $37,000 SIIM-ACR Pneumothorax Segmentation – $30,000 Inclusive Images Challenge – $25,000 现在把这些知识都挖出来给你们! 外部数据 使用 LUng Node Analysis Grand

干货|非常详细的神经网络入门解释

℡╲_俬逩灬. 提交于 2020-11-25 14:48:23
Python.NN(一) 神经网络入门 1 将感知机用于多任务分类 我们之前在 Python · SVM(一)· 感知机干货|SVM(一)·最全面的感知机总结 里面介绍感知机时,用的是这么一个公式: ,然后样本中的y要求只能取正负1。 这在二分类任务时当然没问题,但是到多分类时就会有些问题。 虽说我们是可以用各种方法让二分类模型去做多分类任务的,不过那些方法普遍都比较麻烦。 为了让我们的模型天然适应于多分类任务,我们通常会将样本中的y取为one-hot向量,亦即 此时我们的感知机就会变成这样(以 N 个拥有 n 维特征的样本的 K 分类任务为例;为简洁,省略了偏置量 b): (看在我纯鼠绘的份上原谅我画得那么丑吧 | 此时模型的表示会变为 。注意到我们原来输出的是一个数,在改造后输出的则是一个 K 维向量。 也正因此,我们不能简单地沿用之前定义的损失函数( )、而应该定义一个新的损失函数 由于我们的目的是让模型输出的向量 和真实的( )标签向量“越近越好”,而“距离”是一个天然的衡量“远近”的东西,所以用欧氏距离来定义损失函数是比较自然的。 具体而言,我们可以把损失函数定义为 在有了损失之后就可以求导了。需要指出的是,虽然我接下来写的公式看上去挺显然,但由于我们进行的是矩阵求导工作,所以它们背后真正的逻辑其实没那么显然。 有兴趣的观众老爷可以看看这篇文章矩阵求导术

Tensorflow训练识别自定义图片

為{幸葍}努か 提交于 2020-11-23 11:33:01
很多正在入门或刚入门TensorFlow机器学习的同学希望能够通过自己指定图片源对模型进行训练,然后识别和分类自己指定的图片。但是,在TensorFlow官方入门教程中,并无明确给出如何把自定义数据输入训练模型的方法。现在,我们就参考官方入门课程《Deep MNIST for Experts》一节的内容(传送门: https://www.tensorflow.org/get_started/mnist/pros ),介绍如何将自定义图片输入到TensorFlow的训练模型。 在《Deep MNISTfor Experts》一节的代码中,程序将TensorFlow自带的mnist图片数据集mnist.train.images作为训练输入,将mnist.test.images作为验证输入。当学习了该节内容后,我们会惊叹卷积神经网络的超高识别率,但对于刚开始学习TensorFlow的同学,内心可能会产生一个问号:如何将mnist数据集替换为自己指定的图片源?譬如,我要将图片源改为自己C盘里面的图片,应该怎么调整代码? 我们先看下该节课程中涉及到mnist图片调用的代码: from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets( ' MNIST_data ' ,

Python快速实战机器学习(7) 决策树

蓝咒 提交于 2020-11-15 04:44:35
点击上方“蓝字”带你去看小星星 引言 近日,南大周志华等人首次提出使用 深度森林 方法解决多标签学习任务。该方法在 9 个基准数据集、6 个多标签度量指标上实现了最优性能。 而深度森林是基于 决策树 构建的深度集成模型,因此对于想了解深度森林以及对这个方法本身感兴趣的同学需要对决策树有一个了解。 在这一讲中,你将会: 1、认识决策树; 2、大体了解决策树是如何训练的; 3、学会sklearn中决策树使用方法。 什么是决策树 如果我们在意模型的 可解释性 ,那么决策树(decision tree)分类器绝对是上佳的选择。如同名字的字面意思,我们可以把决策树理解为基于一系列问题对数据做出的分割选择。 举一个简单的例子,我们使用决策树决定去不去见相亲对象 这就是决策树,每一层我们都提出一个问题,根据问题的回答来走向不同的子树,最终到达叶子节点时,做出决策(去还是不去)。 再比如我们可以用一个决策树来判断一个西瓜好瓜还是坏瓜: 在上面的两个例子中,方框子树为 特征 ,比如是“美不美”或者“触感”; 而分支的条件为特征下的 数据 ,比如西瓜例子中触感:硬滑或者软粘。 虽然上图中做出的每个决策都是根据离散变量,但也可以用于连续型变量,比如,对于Iris中sepal width这一取值为实数的特征,我们可以问“sepal width是否大于2.8cm 当一颗决策树的节点以及判断条件都被确定的时候

详解机器学习中的熵、条件熵、相对熵和交叉熵

限于喜欢 提交于 2020-11-14 06:23:33
目录 信息熵 条件熵 相对熵 交叉熵 总结 1、 信息 熵 (i nformation entropy) 熵 (entropy) 这一词最初来源于热力学。1948年,克劳德·爱尔伍德·香农将热力学中的熵引入信息论,所以也被称为香农熵 (Shannon entropy),信息熵 (information entropy)。本文只讨论信息熵。首先,我们先来理解一下信息这个概念。信息是一个很抽象的概念,百度百科将它定义为:指音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容。那信息可以被量化么?可以的!香农提出的“信息熵”概念解决了这一问题。 一条信息的信息量大小和它的 不确定性 有直接的关系。我们需要搞清楚一件非常非常不确定的事,或者是我们一无所知的事,就需要了解大量的信息。相反,如果我们对某件事已经有了较多的了解,我们就不需要太多的信息就能把它搞清楚。所以,从这个角度,我们可以认为, 信息量的度量就等于不确定性的多少 。比如,有人说广东下雪了。对于这句话,我们是十分不确定的。因为广东几十年来下雪的次数寥寥无几。为了搞清楚,我们就要去看天气预报,新闻,询问在广东的朋友,而这就需要大量的信息,信息熵很高。再比如,中国男足进军2022年卡塔尔世界杯决赛圈。对于这句话,因为确定性很高,几乎不需要引入信息,信息熵很低。 考虑一个 离散的随机变量 $x$,由上面两个例子可知

机器学习笔记(1)决策树

僤鯓⒐⒋嵵緔 提交于 2020-11-10 03:09:03
系统不确定性的度量 先来看2个概念. 信息熵 $$h(\theta)=\sum_{j=0}^n \theta_jx_j$$ 基尼系数 $$G=1-\sum_{i=0}^n p_i^2$$ 二者都反映了信息的不确定性,是信息不确定性的不同评价标准. 关于信息熵,在数学之美中,有一段通俗易懂的例子. sklearn中使用决策树 在sklearn中使用decisiontree时,采用信息熵或者基尼系数,预测准确率并不会有很大差异. from sklearn.tree import DecisionTreeClassifier tree_clf = DecisionTreeClassifier(max_depth=2, criterion="entropy") tree_clf.fit(X, y) tree_clf = DecisionTreeClassifier(max_depth=2, criterion="gini") tree_clf.fit(X, y)    决策树原理 比如我们有一组数据,m个样本,n个特征.我们希望经过x次决策(实际上也就是类似与x次if-else判断,每一次if-else判断以后,我们的样本都可以被分成2部分,我们就可以计算这2部分的信息含量(也就是信息熵)),使得所有样本的不确定性最低.不确定性最低的含义也就是:模型最大可能地拟合了我们的数据. 决策树

用Python构建和可视化决策树

 ̄綄美尐妖づ 提交于 2020-11-02 01:45:04
作者|Nikhil Adithyan 编译|VK 来源|Towards Data Science 决策树 决策树是当今最强大的监督学习方法的组成部分。决策树基本上是一个二叉树的流程图,其中每个节点根据某个特征变量将一组观测值拆分。 决策树的目标是将数据分成多个组,这样一个组中的每个元素都属于同一个类别。决策树也可以用来近似连续的目标变量。在这种情况下,树将进行拆分,使每个组的均方误差最小。 决策树的一个重要特性是它们很容易被解释。你根本不需要熟悉机器学习技术就可以理解决策树在做什么。决策树图很容易解释。 利弊 决策树方法的优点是: 决策树能够生成可理解的规则。 决策树在不需要大量计算的情况下进行分类。 决策树能够处理连续变量和分类变量。 决策树提供了一个明确的指示,哪些字段是最重要的。 决策树方法的缺点是: 决策树不太适合于目标是预测连续属性值的估计任务。 决策树在类多、训练样本少的分类问题中容易出错。 决策树的训练在计算上可能很昂贵。生成决策树的过程在计算上非常昂贵。在每个节点上,每个候选拆分字段都必须进行排序,才能找到其最佳拆分。在某些算法中,使用字段组合,必须搜索最佳组合权重。剪枝算法也可能是昂贵的,因为许多候选子树必须形成和比较。 Python决策树 Python是一种通用编程语言,它为数据科学家提供了强大的机器学习包和工具。在本文中

强化学习之策略梯度(Policy Gradient)

不问归期 提交于 2020-10-29 05:51:47
策略梯度(Policy Gradient)的基本思想,就是直接根据状态输出动作或者动作的概率。注意这里和DQN的区别就是DQN输出动作获取的Q值,而Policy Gradient输出的是动作的概率,两者的输出维度是一样的,但是含义不同。 我们使用神经网络输入当前的状态,网络就可以输出我们在这个状态下采取每个动作的概率,那么网络应该如何训练来实现最终的收敛呢?我们之前在训练神经网络时,使用最多的方法就是反向传播算法,我们需要一个误差函数,通过梯度下降来使我们的损失最小。但对于强化学习来说,我们不知道动作的正确与否,只能通过奖励值来判断这个动作的相对好坏。基于上面的想法,我们有个非常简单的想法: 如果一个动作得到的reward多,那么我们就使其出现的概率增加,如果一个动作得到的reward少,我们就使其出现的概率减小。 根据这个思想,我们构造如下的损失函数:loss= -log(prob)*vt 上式中log(prob)表示在状态 s 时所选动作为a的概率值,prob<=1,因此log(prob)<0。显然prob这个值越大越好,此时-log(prob)<0并且越小越好。 而vt代表的是当前状态s下采取动作a所能得到的奖励,这是当前的奖励和未来奖励的贴现值的求和。 如果在 prob 很小的情况下 , 得到了一个大的结果,也就是大的 vt, 那么 -log(prob)*vt 就更大 ,

tensorflow文本分类实战——卷积神经网络CNN

别来无恙 提交于 2020-10-25 05:32:33
首先说明使用的工具和环境:python3.6.8 tensorflow1.14.0 centos7.0(最好用Ubuntu)   关于环境的搭建只做简单说明,我这边是使用pip搭建了python的虚拟环境(virtualenv),并在虚拟环境中安装tensorflow。详细步骤可以查看tensorflow的 官网 。 注:本文参考于 基于tensorflow、CNN、清华数据集THUCNews的新浪新闻文本分类 训练数据   训练(train.txt)和测试(test.txt)数据,两个文件的分类相同为100个分类,其中test.txt每个类下有200条测试数据,train.txt每个类下有1800条训练数据;数据共有两列,第一列为标签信息 第二列为标题,见下图 百度云链接:https://pan.baidu.com/s/1MZX8SOJ7lerov_UqZhSWeQ 提取码:9nvj 训练代码 闲话少说直接上代码,支持训练模型固化,代码粘贴前都经过了测试,均可复现,并且在相应位置给出了注释,有任何疑问欢迎留言,不忙就会回复。 # ##################cnn训练代码################# # coding=utf8 import os import codecs import random import heapq import numpy as np

论文速读:自监督弱光图像增强:Self-supervised Image Enhancement Network: Training with Low Light Images Only

元气小坏坏 提交于 2020-10-24 17:20:37
Self-supervised Image Enhancement Network: Training with Low Light Images Only Yu Zhang, Xiaoguang Di, Bin Zhang, and Chunhui Wang 本文用信息熵理论和Retinex 模型构建了一个自监督图像增强网络,实现了弱光图像中,亮度与反射系数的分解。其中,最为重要的约束是:反射系数的最大通道与弱光图像的最大通道是conform的,并且前者的熵在本文的模型中应该是最大的。 问题:什么是最大通道?为什么 conform?为什么熵最大? 最大通道是指对每个位置,r、g、b最大的值取出来,构成的灰度图像。 对于弱光图像,最大通道对其视觉效果的影响最大;所以,两幅图像的最大通道应该相符合; 第三点,没大明白,希望懂的读者大神指教。 Abstract This paper proposes a self-supervised low light image enhancement method based on deep learning. Inspired by information entropy theory and Retinex model , we proposed a maximum entropy based Retinex model . With