平方和

【模型压缩】Channel Pruning via Optimal Thresholding

荒凉一梦 提交于 2020-03-17 06:24:48
论文链接: https://arxiv.org/pdf/2003.04566.pdf 动机: 现在压缩工作中,通过预定义的度量(metric)计算出的阈值进行模型剪枝,这种阈值忽略了不同层的变化和权值分布的不同,所以这种剪枝方法通常过剪枝和欠剪枝得到一个次优的结果。本篇论文中,作者提出了一个方法:最优阈值(OT,Optimal Thresholding),每层剪枝使用不同的阈值。通过使用OT,保证精度的同时,可以有效减掉那些不重要的通道; 方法: Training with Sparsity 图2是个典型的剪枝过程,在图2中,作者首先要解决稀疏约束问题: L,R,Θ分别是loss函数,用于稀疏的回归项,和训练参数。回归项用于减少模型尺寸约束的复杂度,计算和内存消耗。使用L1回归在bn层的scaling factors上, Γ是scaling factor是的集合,λ控制稀疏的程度,|r|即为L1正则化,r是BN层参数scaling factor; Distribution of Scaling Factors 为了解决过剪枝和欠剪枝问题,网络层不同的分布也是一个预定义阈值的问题。拿VGG-14的第7和第10个bn层,重要权值的分组不是一致的;通过使用一个全局阈值,对于数值较小的scaling factors而言,属于一个灾难。例如作者想使用NS【14】剪枝73%

平方和与立方和

╄→гoц情女王★ 提交于 2020-03-03 19:37:05
平方和与立方和 作者: xxx 时间限制: 1S 章节: 循环 问题描述 : 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。 输入说明 : 首先输入一个数T,表示以下有T行,每行为一组测试实例,每组测试实例由两个整数m和n组成。 输出说明 : 对于每组输入数据,输出一行,应包括两个整数x和y(以一个空格分隔),分别表示该段连续的整数(从m到n或者从n到m之间的所有整数)中所有偶数的平方和以及所有奇数的立方和。 你可以认为一个int型整数足以保存结果。 输入范例 : 3 1 5 2 5 6 2 输出范例 : 20 153 20 152 56 152 # include <stdio.h> # include <math.h> # define max(a,b)((a>b)?a:b) //定义max函数,用于寻找最大值 # define min(a,b)((a<b)?a:b) //min函数 int main ( ) { int T ; scanf ( "%d" , & T ) ; int i ; for ( i = 0 ; i < T ; i ++ ) { int m , n , i ; int x = 0 , y = 0 ; scanf ( "%d %d" , & m , & n ) ; for ( i = min ( m , n ) ; i <= max (

机器学习之模型的选择

狂风中的少年 提交于 2020-03-02 10:52:32
模型的选择 机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit)。即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能力。 L2 正则化公式非常简单,直接在原来的损失函数基础上加上权重参数的平方和 我们知道,正则化的目的是限制参数过多或者过大,避免模型更加复杂。例如,使用多项式模型,如果使用 10 阶多项式,模型可能过于复杂,容易发生过拟合。所以,为了防止过拟合,我们可以将其高阶部分的权重 w 限制为 0,这样,就相当于从高阶的形式转换为低阶。 为了达到这一目的,最直观的方法就是限制 w 的个数,但是这类条件属于 NP-hard 问题,求解非常困难。所以,一般的做法是寻找更宽松的限定条件: 上式是对 w 的平方和做数值上界限定,即所有w 的平方和不超过参数 C。这时候,我们的目标就转换为:最小化训练样本误差,但是要遵循 w 平方和小于 C 的条件。 正则化的作用 正则化:防止数据过拟合。 对损失函数加上一个正则项。 正则化的主要作用是防止过拟合,对模型添加正则化项可以限制模型的复杂度,使得模型在复杂度和性能达到平衡。 常用的正则化方法有L1正则化和L2正则化。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。 L1正则化的模型建叫做Lasso回归

26: 平方和与立方和

那年仲夏 提交于 2020-02-01 16:57:49
26 平方和与立方和 作者: xxx 时间限制: 1S 章节: 循环 问题描述 : 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。 输入说明 : 首先输入一个数T,表示以下有T行,每行为一组测试实例,每组测试实例由两个整数m和n组成。 输出说明 : 对于每组输入数据,输出一行,应包括两个整数x和y(以一个空格分隔),分别表示该段连续的整数(从m到n或者从n到m之间的所有整数)中所有偶数的平方和以及所有奇数的立方和。 你可以认为一个int型整数足以保存结果。 输入范例 : 3 1 5 2 5 6 2 输出范例 : 20 153 20 152 56 152 代码: #include <stdio.h> int main() { int k,n, m, sum1 = 0, sum2 = 0; scanf("%d", &k); for (int kl = 0; kl < k; kl++) { scanf("%d%d", &n, &m); if (n>m) { int tmp = n; n = m; m = tmp; } for (int i = n; i <= m; i++) { if (i % 2 == 0) { sum1 += i*i; } else { sum2 += i*i*i; } } printf("%d %d\n", sum1, sum2); sum1

Latex学习笔记 第一章

无人久伴 提交于 2020-01-28 16:41:14
1.使用空行分段。 空行只起分段的作用,使用过多的空行并不起增大段间间距的作用。 2.段前不用打空格,LateX会自动完成文字的缩进。 即使打了也会被自动忽略。 3.通常汉字后面的空格会被忽略,其他符号后面的空格则保留。 4.字号和字体命令会影响垢面的所有文字,直到整个分组结束,这种命令又称为声明。 5.分组限定了声明的作用范围。 一个LateX环境自然就是一个分组,因此前前面的字号、字体命令会影响整个quote环境。最大的分组是表示正文的document环境,也可以用成对的花括号{}产生一个分组。 6.定理环境是一类环境,在使用前需要先在导言区做定义:\newtheorem{thm}{定理} 此处定理环境有一个可选参数就是定理的名字。 \newtheorem{thm}{定理} \begin{thm}[勾股定理] 直角三角形斜边的平方和等于两腰的平方和。 可以用符号语言表述为 \end{thm} 7.输入数学公式 (1)简单的方法是将公式用一对美元符号$a+b$,这种夹在文本行中的公式称为“正文公式”或“行内公式” (2)对于较长或比较重要的公式一般单独居中写在一行,为了方便引用经常给公式加上编号。这种公式被称为“显示公式”或“列表公式”,使用equation环境就可以输入 这种公式。例: \begin{equation} a(b+c)=ab+bc \end{equation}

高等数理统计(五)

有些话、适合烂在心里 提交于 2020-01-24 23:47:04
引言   【比较官方的简介】数理统计学是一门以 概率论为基础 ,应用性很强的学科。它研究怎样以有效的方式收集、 整理和分析带有随机性的数据,以便对所考察的问题作出正确的推断和预测,为采取正确的决策和行动提供依据和建议。数理统计不同于一般的资料统计,它更侧重于应用随机现象本身的规律性进行资料的收集、整理和分析。   【简单的讲】,就是 通过样本分析来推断整体。   【意义或者重要性】在这个大数据时代,数据是非常重要的。怎样挖掘数据内部的规律或者隐含的信息,变得尤为重要。当时我们是不可能获得整体的数据的,所以我们只能通过抽取样本,进而通过样本来推断整体的规律。   【目录】    第一章、样本与统计量      一、引言:      二、总体与样本:      三、统计量:      四、常用分布:    第二章、参数估计     一、引言:      二、点估计—— 矩估计法 :     三、点估计—— 极大似然估计 :     四、估计量的优良性准则     五、区间估计——正态分布        1、引入       2、 单个正态总体参数的区间估计        3、两个正态总体的区间估计     六 、区间估计——非正态分布:       1、大样本正态 近似法       2、二项分布       3、泊松分布    第三章、假设检验     一、引言:     二

四平方和

☆樱花仙子☆ 提交于 2020-01-20 21:25:06
四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多 4个正整数的平方和。 如果把 0包括进去,就正好可以表示为 4个数的平方和。 比如: 5=0^ 2 +0^2 +1 ^2+2 ^2 7=1 ^2+1 ^2+1 ^2+2 ^2 对于一个给定的正整数,可能存在多种平方和的表示法。 要求你对 4个数排序: 0≤a≤b≤c≤d 并对所有的可能表示法按 a,b,c,d为联合主键升序排列,最后输出第一个表示法。 输入格式 输入一个正整数 N。 输出格式 输出4个非负整数,按从小到大排序,中间用空格分开。 数据范围 0<N<5∗106 输入样例: 5 输出样例: 0 0 1 2 题意大致明了 但是如果三重循环的话,会被卡 所以先枚举a,b,然后把a,b,a a+b b存起来,存到一个结构体里,然后进行排序, 然后再两重循环c,d,然后再进行二分 # include <iostream> # include <algorithm> using namespace std ; struct node { int sum ; int a ; int b ; } aa [ 5678909 ] ; bool cmp ( node a , node b ) { if ( a . sum != b . sum ) return a . sum < b . sum ; if ( a . a != b

12.28 [hduoj]2007 平方和与立方和

北战南征 提交于 2020-01-19 01:09:44
Problem Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。 Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。 Output 对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。 你可以认为32位整数足以保存结果。 Sample Input 1 3 2 5 Sample Output 4 28 20 152 #include<stdio.h> void main() { int a,b,m; while((scanf("%ld%ld",&a,&b))!=EOF) { long even = 0; long odd = 0; if(a>b) { m=a; a=b; b=m; } for(;a<=b;a++) { if(a%2==0) even += a*a; else odd += a*a*a; } printf("%d %d\n",even,odd); } } 额这题有个很大的陷阱。就是要先判断输入的两个数的大小。还是戳到我最那个的点。审题不仔细。思考问题不全面。 来源: CSDN 作者: 棉毛裤穿吗 链接: https://blog.csdn.net/qq_39782006/article/details/103745836

最小二乘法推导

◇◆丶佛笑我妖孽 提交于 2020-01-01 04:49:25
原文出处 : https://blog.csdn.net/u011026329/article/details/79183114 最小二乘法 1、什么是最小二乘思想? ​ 简单地说,最小二乘的思想就是要使得 观测点和估计点的距离的平方和达到最小 .这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。从这个上也可以看出,最小二乘也可用于拟合数据模型。 2. 最小二乘法推导 ​ 我们以最简单的一元线性模型来解释最小二乘法。什么是一元线性模型呢? 监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线性是一个超平面… ​ 对于一元线性回归模型, 假设从总体中获取了 n n 个点,可以使用无数条曲线来拟合。要求样本回归函数尽可能好地拟合这组值。综合起来看,这条直线处于样本数据的中心位置最合理。 ​ 选择最佳拟合曲线的标准可以确定为

ML08 -- 聚类算法K-means

老子叫甜甜 提交于 2019-12-29 20:34:47
聚类算法K-means K-means最简单的聚类算法属于无监督算法 聚类算法和分类算法的对比 - 聚类 分类 核心 将数据分成多个组,探索每个组的数据是否有联系 从已经分组的数据中去学习,把新数据放到已经分好的组中去 学习类型 无监督,无需标签进行训练 有监督,需要标签进行训练 典型算法 K-Means,DBSCAN,层次聚类 决策树,贝叶斯,逻辑回归 算法输出 聚类结果是不确定的, 不一定总是能够反映数据的真实分类, 同样的聚类,根据不同的业务需求,可能是一个好结果,也可能是一个坏结果 分类的结果是确定的, 分类的优劣是客观的, 不是根据业务或算法需求决定 关键概念:簇与质心 簇:KMeans算法将一组N个样本的特征矩阵X划分为K个无交集的簇,直观上来看簇是一组一组聚集在一起的数据,在一个簇中的数据就认为是同一类。簇是聚类结果的表现。 质心:簇中所有数据的均值uj通常被称为这个簇的质心,在一个二维平面中,一簇数据点的质心的横坐标就是这一簇数据点横坐标的均值,质心的纵坐标就是这一簇数据点的纵坐标的均值。同理可推广到高维空间。 在KMeans算法中,簇的个数K是一个超参数,需要我们人为输入来确定。KMeans的核心任务就是根据我们设定好的K,找出K个最优质心,并将离这些质心最近的数据分别分配到这些质心代表的的簇中去。具体步骤 1.随机抽取K个样本作为最初的质心 2.开始循环: 2