entropy

再谈SVM(hard-margin、soft-margin、对偶、核技巧)

狂风中的少年 提交于 2020-08-19 19:07:34
前言:大概一个月前,通过李宏毅的机器学习系列视频,我自学了一点SVM,整理在: 机器学习之SVM(Hinge Loss+Kernel Trick)原理推导与解析 。最近,由于实验室组织了机器学习的暑期训练营,训练营的模式是每个模块让一个人负责自学,然后讲给大家听,由于当时的无知。。。。我选择了SVM,后来发现想要把SVM讲给别人听懂真的很难,于是到处找资料又自学了一遍,现整理如下: 再谈SVM 1.概述 2.间隔 2.1硬间隔(最大间隔分类器) 2.1.1模型定义 2.1.2约束 2.1.2.1函数间隔 2.1.2.2定义距离 2.1.3原问题 2.1.4拉格朗日乘数法 2.1.5强对偶与弱对偶 2.1.6求解最终问题 2.1.7KKT条件 2.1.8最终解答 2.2软间隔 3.核技巧(kernel trick) 参考文献 1.概述   俗话说,SVM有三宝:间隔、对偶、核技巧。这句话概括了SVM最精髓的三个部分,下面内容将围绕上述三个关键词展开。我们先来定义数据集: ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) . . . ( x N , y N ) {(x_{1},y_{1}),(x_{2},y_{2}),(x_{3},y_{3})...(x_{N},y_{N})} ( x 1 ​ , y 1 ​ ) , ( x 2 ​ , y 2

初始CNN及tensorflow实现

孤街醉人 提交于 2020-08-18 02:54:57
1、初识CNN 卷积神经网络(CNN),主要用于图像识别、特征提取、自然语言处理、分类。由输入层、卷积层(Convolutional Layer)、池化层(Pooling Layer)、和全连接层(Fully Connected Layer)组成,其中卷积用于提取高层次特征,池化用于缩小参数,一般为一层卷积加一层池化反复叠加或多层卷积加一层池化;全连接层用于卷积池化后,对数据列化然后经过一两层全连接层,得出结果。 2、CNN进行手写体识别 (1)数据来源:Mnist数据集,从tensorflow导入mnist数据集。首先,在你正在写的项目下创建文件夹MNIST_data;接着,从官网下载四个压缩包,不用解压直接放入文件夹中, http:// yann.lecun.com/exdb/mni st/ 。 import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data . read_data_sets ( 'mnist_data' , one_hot = True ) #one_hot为T代表标签是一个向量 (2)网络结构的搭建 定义网络的输入、输出:首先将输入进行初始化,接着将输入重构成4维;输出为一个二维向量

十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。

生来就可爱ヽ(ⅴ<●) 提交于 2020-08-17 18:38:23
图像二值化的目的是最大限度的将图象中感兴趣的部分保留下来,在很多情况下,也是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。这个看似简单的问题,在过去的四十年里受到国内外学者的广泛关注,产生了数以百计的阈值选取方法,但如同其他图像分割算法一样,没有一个现有方法对各种各样的图像都能得到令人满意的结果。 在这些庞大的分类方法中,基于直方图的全局二值算法占有了绝对的市场份额,这些算法都从不同的科学层次提出了各自的实施方案,并且这类方法都有着一些共同的特点:   1、简单; 2、算法容易实现; 3、执行速度快。 本文摘取了若干种这类方法进行了介绍。 一:灰度平局值值法:   1、描述:即使用整幅图像的灰度平均值作为二值化的阈值,一般该方法可作为其他方法的初始猜想值。   2、原理:      3、实现代码: public static int GetMeanThreshold( int [] HistGram) { int Sum = 0 , Amount = 0 ; for ( int Y = 0 ; Y < 256 ; Y++ ) { Amount += HistGram[Y]; Sum += Y * HistGram[Y]; } return Sum / Amount; } 二、百分比阈值( P-Tile 法) 1、描述 Doyle 于1962年提出的P-Tile

极化SAR图像基础知识(1)

空扰寡人 提交于 2020-08-16 02:03:14
  从今天开始学习极化SAR图像,记录于此。   极化散射矩阵S 是用来表示单个像素散射特性的一种简便办法,它 包含了目标的全部极化信息 。 ,在满足互易条件下,有 。   目标的Mueller 矩阵定义为 ,式中M 即为目标的Mueller 矩阵,其计算表达式为 ,其中矩阵W定义为 ,其中变换矩阵R为 。已有文献证明: Mueller 矩阵M 与极化散射矩阵S 之间有唯一对应关系 。 极化散射矩阵S描述了入射波Jones 矢量与散射波Jones 矢量之间的关系,而Mueller 矩阵则描述了入射波Stokes 矢量 与散射波Stokes 矢量 之间的关系。 极化协方差矩阵 也称为复埃尔米特矩阵,同极化散射矩阵一样,它也包含了雷达测量得到的全部目标极化信息。极化SAR 图像处理过程一般都是在极化协方差矩阵和极化相干矩阵的基础上进行,它是进行多极化SAR数据分析和处理的基础。 通常情况下,极化协方差矩阵的计算是基于极化散射矩阵矢量化。对于互易介质 ,极化测量矢量 可表示为 。目标的极化协方差矩阵为矢量 的Kronecker内积 。 极化相干矩阵 与极化协方差矩阵仅存在线性变换关系,相比与极化协方差矩阵,它可以更好的解释散射机理。极化相干矩阵的获取也是基于极化散射矩阵的矢量化。Pauli 基矩阵的一个特殊性质就是可以用于极化散射矩阵的矢量化: ,这里除以系数 是为了保证总功率相等。

Hacker News 简讯 2020-08-15

喜你入骨 提交于 2020-08-15 02:50:48
最后更新时间: 2020-08-15 02:01 Tesla Fremont to Soon Activate World’s Largest Unibody Casting Machine - (tesmanian.com) 特斯拉弗里蒙特公司将很快启用世界上最大的一体铸造机 得分:70 | 评论:42 Factorio 1.0 - (factorio.com) 因子1.0 得分:1236 | 评论:381 Welders Set Off Beirut Blast While Securing Explosives - (maritime-executive.com) 焊工在固定炸药的同时引爆了贝鲁特爆炸 得分:45 | 评论:25 Show HN: Photo Realistic QR-Codes - (qrpicture.com) 显示HN:照片真实的二维码 得分:157 | 评论:38 ZX Spectrum Next Issue 2 blasts through Kickstarter goal - (bbc.com) ZX Spectrum下一期第2期突破Kickstarter球门 得分:40 | 评论:16 Servo Parallel Browser Engine Project - (github.com) 伺服并行浏览器引擎项目 得分:275 | 评论:122

基于Python的决策树分类器与剪枝

允我心安 提交于 2020-08-14 07:08:04
作者|Angel Das 编译|VK 来源|Towards Data Science 介绍 决策树分类器是一种有监督的学习模型,在我们关心可解释性时非常有用。 决策树通过基于每个层次的多个问题做出决策来分解数据 决策树是处理分类问题的常用算法之一。 为了更好地理解它,让我们看看下面的例子。 决策树通常包括: 根节点 -表示被进一步划分为同质组的样本或总体 拆分 -将节点分为两个子节点的过程 决策节点 -当一个子节点根据某个条件拆分为其他子节点时,称为决策节点 叶节点或终端节点 -不进一步拆分的子节点 信息增益 -要使用一个条件(比如说信息最丰富的特征)来分割节点,我们需要定义一个可以优化的目标函数。在决策树算法中,我们倾向于在每次分割时最大化信息增益。在测量信息增益时,通常使用三种度量。它们是基尼不纯度、熵和分类误差 数学理解 为了理解决策树是如何发展的,我们需要更深入地了解在每一步中如何使用度量使信息增益最大化。 让我们举一个例子,其中我们有包含学生信息的训练数据,如性别、年级、因变量或分类变量,这些变量可以识别学生是否是美食家。我们有以下概述的信息。 学生总数-20人 被归为美食家的学生总数-10 不属于美食家的学生总数-10 P(美食家),即学生成为美食家的概率=(10/20)=0.5 Q(非美食家),学生不是美食家的概率=(10/20)=0.5

Hacker News 简讯 2020-07-21

好久不见. 提交于 2020-08-14 03:28:33
更新时间: 2020-07-21 23:00 AMD Launches 12 Desktop Renoir Ryzen 4000G Series APUs: But You Can’t Buy Them - (anandtech.com) AMD推出12台雷诺阿雷森4000克系列台式机:但你不能买 得分:46 | 评论:31 Common mistakes writing React components with hooks - (lorenzweiss.de) 书写常见错误用钩子反应组件 得分:65 | 评论:38 Monitoring your own infrastructure using Grafana, InfluxDB, and CollectD - (serhack.me) 使用Grafana、InfluxDB和CollectD监控您自己的基础架构 得分:114 | 评论:78 Invert, Always, Invert - (anup.io) 反转,总是,反转 得分:234 | 评论:64 Systems Design for Advanced Beginners - (robertheaton.com) 面向高级初学者的系统设计 得分:650 | 评论:73 AI in physics: are we facing a scientific

加权交叉熵损失函数:tf.nn.weighted_cross_entropy_with_logits

天大地大妈咪最大 提交于 2020-08-13 10:39:48
tf.nn.weighted_cross_entropy_with_logits函数 tf.nn.weighted_cross_entropy_with_logits( targets, logits, pos_weight, name=None ) 定义在:tensorflow/python/ops/nn_impl.py。 计算加权交叉熵。 类似于sigmoid_cross_entropy_with_logits(),除了pos_weight,允许人们通过向上或向下加权相对于负误差的正误差的成本来权衡召回率和精确度。 通常的交叉熵成本定义为: targets * -log(sigmoid(logits)) + (1 - targets) * -log(1 - sigmoid(logits)) 值pos_weights > 1减少了假阴性计数,从而增加了召回率。相反设置pos_weights < 1会减少假阳性计数并提高精度。从一下内容可以看出pos_weight是作为损失表达式中的正目标项的乘法系数引入的: targets * -log(sigmoid(logits)) * pos_weight + (1 - targets) * -log(1 - sigmoid(logits)) 为了简便起见,让x = logits,z = targets,q = pos_weight。损失是