自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 问答 (2)
  • 收藏
  • 关注

原创 目录

C++面试C++面试总结(一)常用关键字C++面试总结(二)类C++面试总结(三)模板与泛型编程C++面试总结(四)标准库C++面试总结(五)C++ 11/14新特性C++面试总结(六)杂记Python之旅Python之旅(一)知识点总结Python之旅(二)面试题总结机器学习系列一、机器学习基础篇机器学习系列一:Numpy机器学习系列二:Pan...

2019-01-16 20:46:08 545

原创 模型加速一:知识蒸馏(Knowledge Distillation)

一 背景知识蒸馏(KD)是想将复杂模型(teacher)中的dark knowledge迁移到简单模型(student)中去,一般来说,teacher具有强大的能力和表现,而student则更为紧凑。通过知识蒸馏,希望student能尽可能逼近亦或是超过teacher,从而用更少的复杂度来获得类似的预测效果。Hinton在Distilling the Knowledge in a Neural...

2020-03-08 20:42:37 3394

原创 机器学习系列十九:sklearn-GridSearchCV

一、简介GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,就能给出最优化的结果和参数。但是这个方法适合于小数据集,一旦数据的量级上去了,很难得出结果。这个时候就是需要动脑筋了。数据量比较大的时候可以使用一个快速调优的方法——坐标下降。它其实是一种贪心算法:拿当前对模型影响最大的参数调优,直到最优化;再拿下一个影响最大的参数调优,如此下去,直到所有的参数调整完毕。Rand...

2019-11-13 22:36:19 2005

原创 一、语音特征之基本特征

一、短时平均过零率理论分析: 过零率体现的是信号过零点的次数,体现的是频率特性。因为需要过零点,所以信号处理之前需要中心化处理。作用: 1.可以用来初步判断清音和浊音。 2.可以用于判断寂静无话段与有话段的起点和终止位置,即进行端点检测。 3.在背景噪声较小的时候,用平均能量识别较为有效,在背景噪声较大的时候,用短时平均过零率识别较...

2019-11-09 16:52:24 2546

原创 机器学习项目基础篇:Kaggle Titantic 生存预测比赛

https://zhuanlan.zhihu.com/p/30538352https://mp.weixin.qq.com/s/86Wym8HFc55BnWN3qSMWwAhttps://mp.weixin.qq.com/s/FQjPrlshRvbJQoudY8hgyAhttps://mp.weixin.qq.com/s/rEMJrVx3nPURX6uSKfrzsAhttps://...

2019-10-27 22:30:12 562

原创 机器学习系列十五:集成学习之boosting:Adaboost

一.算法原理Boosting的思路则是采用重赋权(re-weighting)法迭代地训练基分类器,即对每一轮的训练数据样本赋予一个权重,并且每一轮样本的权值分布依赖上一轮的分类结果;基分类器之间采用序列式的线性加权方式进行组合。他通过迭代地训练一系列的分类器,每个分类器采用的样本分布都和上一轮的学习结果有关。1.Adaboosthttps://blog.csdn.net/u012258...

2019-10-14 22:30:39 387

原创 加速卷积运算

解析卷积高速计算中的细节超详细的Tengine GEMM矩阵乘法汇编教程Winograd,GEMM卷积--加速的卷积运算

2019-09-15 17:02:09 666

原创 深度学习框架学习一:深度学习框架介绍

现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caffe,tensorflow,pytorch/caffe2,keras,mxnet,paddldpaddle,theano,cntk,deeplearning4j,matconvnet等。本人一开始学习的时用的caffe,后来接触tensorflow、keras、mxnet、pytorch等,导致现在各个框架混乱,于是开...

2019-07-28 10:21:21 504

原创 机器学习系列十四:集成学习之bagging

一、算法原理1.算法描述Bagging是Bootstrap AGGregatING的缩写。Bagging基于自助采样法(bootstrap sampling)。给定包含m个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中。这样,经过m次随机采样操作,我们得到含m个样本的采样集,初始训练集中有的样本再采样集里多次出现,有的则从未出现。...

2019-05-06 21:05:07 940

原创 leetcode 9.回文数

leetcode 9回文数:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因...

2019-03-01 19:47:05 149

原创 机器学习系列十三:数据降维

一、算法原理降维方法一般分为线性降维方法和非线性降维方法,如下图所示:我们主要主要介绍PCA、LDA、LLE方法。1.PCA主成分分析(PCA)是另一种常用的数据降维方法,它属于无监督学习算法。PCA旨在找到数据的主成分,并利用这些主成分表征原始数据,从而达到降维的目的。(1)PCA的推导1)最大方差理论在信号处理领域,我们认为信号具有较大方差,噪声具有较小方差,信号与...

2019-02-13 15:19:41 2279

原创 机器学习系列十二:支持向量机(SVM)

一、算法原理支持向量机是最大化分类间隔的线性分类器,使用核函数可以解决非线性问题。1.数学建模(1)决策面方程(2)分类间隔方程(3)约束条件(4)线性SVM优化问题描述(5)拉格朗日函数(6)KKT条件(7)对偶问题求解(8)SMO算法2.松弛向量与软间隔最大化3.核函数4.多类分类之SVM关于SVM的原理,已经有很多优秀的博客,不再重复造...

2019-01-16 21:31:35 862 4

原创 机器学习项目入门篇:一个完整的机器学习项目

本部分,我们会作为被一家地产公司雇佣的数据科学家,完整地学习一个项目。下面是主要步骤:项目概述。 获取数据。 发现并可视化数据,发现规律。 为机器学习算法准备数据。 选择模型,进行训练。 微调模型。 给出解决方案。 部署、监控、维护系统。一、项目概述任务是利用加州普查数据,建立一个加州房价模型。这个数据包含每个分区组的人口、收入中位数、房价中位数等指标。分区组是美国调查局发...

2019-01-16 10:23:12 23815 17

原创 机器学习系列十一:逻辑回归

一、算法原理Logistic回归是众多分类算法中的一员。Logistic回归即对数概率回归,它的名字虽然叫“回归”,但却是一种用于二分类问题的分类算法,它用sigmoid函数估计出样本属于某一类的概率。1.Logistic函数(Sigmoid函数)(1)Sigmoid的函数形式为:(2)sigmoid函数求导sigmoid导数具体的推导过程如下:2.构造预测函数...

2019-01-13 21:21:49 1056

原创 机器学习系列十:线性回归

一、算法原理线性回归作为监督学习中经典的回归模型之一。1.模型定义线性回归需要学习得到的是一个映射关系 ,即当给定新的待预测样本时,我们可以通过这个映射关系得到一个测试样本的预测值 。例如当特征向量中只有一个特征时,需要学习到的函数应该是一个一元线性函数 。当情况复杂时,考虑 存在n个特征的情形下,我们往往需要得到更多地系数。我们将 到的映射函数记作函数:其中,为了在映射...

2019-01-09 15:46:18 619

原创 机器学习系列九:决策树

一、算法原理决策树( decision tree) 是一种基本的分类与回归方法。决策树学习通常包括3个步骤: 特征选择、 决策树的生成和决策树的修剪。1.特征选择(1)熵熵是无序度的度量,在信息论和统计中,熵表示随机变量不确定性的度量。假设X是一个取有限值的离散型随机变量,它的概率分布如下:  则随机变量X的熵定义为:  若=0,定义0log0 = 0。从上...

2019-01-07 16:10:05 774

原创 机器学习系列八:K近邻算法(KNN)

一、算法原理k近邻法(k-nearest neighbor,k-NN)是一种基本分类与回归方法。本书只讨论分类问题中的k近邻法。k近邻法的输入为实例的特征向量,对应于特征空间的点;输出为实例的类别,可以取多类。k近邻法假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。k近邻法不具有显式的学习过程。k近邻法实际上利用训练...

2019-01-07 15:31:14 1343

原创 leetcode 8. 字符串转换整数 (atoi)

请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可...

2019-01-03 21:07:45 132

转载 Python数据全栈工程师

版权声明:本文为博主原创文章,转载请注明来源。开发合作联系luanpenguestc@sina.com https://blog.csdn.net/luanpeng825485697/article/details/78347433 </div> <div id="conten

2019-01-03 16:35:28 344

原创 机器学习系列六:sklearn库

一、简介Scikit learn 也简称 sklearn, 是机器学习领域当中最知名的 python 模块之一.。Sklearn 包含了很多种机器学习的方式:Classification 分类 Regression 回归 Clustering 非监督分类 Dimensionality reduction 数据降维 Model Selection 模型选择 Preprocess...

2019-01-03 14:47:32 422

原创 机器学习系列七:朴素贝叶斯

一、算法原理贝叶斯公式描述了两个相关的随机事件或随机变量之间的概率关系。贝叶斯分类器使用贝叶斯公式计算样本属于某一类的条件概率值,并将样本判定为概率值最大的那个类。贝叶斯公式为:我们把P(A)称为"先验概率"(Prior probability),即在B事件发生之前,我们对A事件概率的一个判断。P(A|B)称为"后验概率"(Posterior probability),即在B事...

2019-01-02 17:17:21 535

原创 机器学习系列五:机器学习基础

一、算法分类1.分类算法与回归算法2.判别模型与生成模型二、模型评价1.混淆矩阵2.ROC曲线三、模型选择1.偏差与方差2.过拟合和欠拟合3.正则化...

2019-01-02 10:31:42 218

原创 Python之旅(二)面试题总结

1.简述函数式编程                                                                                                                                                                              在函数式编程中,函数是基本单位,变...

2019-01-01 20:22:12 147

原创 机器学习系列四:数学基础

站在巨人的肩膀上!本部分每个知识点分享比较好的博客,若侵权就删了。一、微积分1.导数2.偏导数与梯度3.泰勒公式https://blog.csdn.net/IOThouzhuo/article/details/50512966https://blog.csdn.net/fengser/article/details/50600712二、线性代数https://b...

2019-01-01 19:14:49 289

原创 机器学习系列三:Matplotlib

 Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表。因为在函数的设计上参考了MATLAB,所以叫做Matplotlib。 一.matplotlib API入门matplotlib的通常引入约定: import matplotlib.pyplot as plt1.Figurematplotlib的图像都位于...

2019-01-01 14:33:56 426

原创 Python之旅(一)知识点总结

一、基本数据类型和运算1.基本数据类型Python中最基本的数据类型包括整型,浮点数,布尔值和字符串。类型是不需要声明的,比如:a = 1 # 整数b = 1.2 # 浮点数c = True # 布尔类型d = "False" # 字符串e = None # NoneType#type函数可以查看一个变量的类型:type(a) # ...

2018-12-26 22:05:07 284

原创 leetcode 7.整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21要在没有辅助堆栈 / 数组的帮助下 “弹出” 和 “推入” 数字,我们可以使用数学方法。//pop operation:pop = x % 10;x /= 10;/...

2018-12-26 20:41:07 143

原创 机器学习系列二:Pandas

一、pandas概述pandas :pannel data analysis(面板数据分析)。pandas是基于numpy构建的,pandas是基于NumPy数组构建的,特别是基于数组的函数和不使用for循环的数据处理。为时间序列分析提供了很好的支持。pandas中有两个主要的数据结构,一个是Series,另一个是DataFrame。import pandas as pdfrom pa...

2018-12-26 17:07:27 658

原创 机器学习系列一:Numpy

一、numpy概述numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。二、创建ndarray数组ndarray:N维数组对象(矩阵),所有元素必须是相同类型。 ndarray属性:ndim属性,表示维度个数;shape...

2018-12-25 11:40:20 642 1

原创 leetcode 5.最长回文子串

leetcode 5:最长回文子串:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。(难度:中等)回文:把相同的词汇或句子 ,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环 。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"...

2018-12-17 21:23:29 206

原创 C++面试总结(六)杂记

1.malloc、free与new、delete的区别? 1)malloc是函数,而new是操作符 2)malloc申请内存时,需要我们指定申请的空间大小,且返回的类型为void*,需要将其强制转换为所需类型指针;new申请内存时,会根据所申请的类型自动计算申请空间的大小,且可直接返回指定类型的指针 3)malloc释放内存时,用free函数,而new删除对象时,用的是delete操作符 ...

2018-12-13 22:07:17 215

原创 leetcode 3.无重复字符的最长子串

leetcode 3:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。class Solution {public: int...

2018-12-10 20:18:26 115

原创 C++面试总结(五)C++ 11/14新特性

C++11是自C++98十余年来发布的一个新特性,扩充了很多C++的功能和特性,而C++14是对C++11的又一次补充和优化,这些新特性使得C++更贴近于一种现代化的变成语言。gcc版本大于5(clang版本大于3.8)已经全面支持C++14。1.Lambda 表达式Lambda表达式,可以方便的定义和创建匿名函数。Lambda表达式完整的声明格式如下:[capture list...

2018-12-10 14:04:47 1393

原创 C++面试总结(四)标准库

1.什么是标准库(STL)?C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。2.C++ 标准模板库的核心三个组件组成?3.stringC++ 从 C 继承的字符串概念仍然是以 '\0' 为结束符的 char 数组。C++ 标准库中的 string class ...

2018-12-07 10:52:31 490

原创 leetcode 2.两数相加

leetcode2两数相加:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)...

2018-12-05 20:46:25 122

原创 视频显著性检测

一.论文合集1.Video Salient Object Detection via Fully Convolutional Networks论文地址:https://arxiv.org/pdf/1702.00871.pdf代码地址:https://github.com/wenguanwang/ViSalientObject    本文提出了一种深度学习模型,可以有效地检测视频中的...

2018-12-04 19:29:41 3364 2

原创 C++面试总结(三)模板与泛型编程

1.什么是模板?   泛型编程是指独立与任何类型的方式编写代码。泛型编程和面向对象编程,都依赖与某种形式的多态。面向对象编程的多态性在运行时应用于存在继承关系的类,一段代码可以可以忽略基类和派生类之间的差异。在泛型编程中,编写的代码可以用作多种类型的对象。面向对象编程所依赖的多态性称为运行时多态性,泛型编程所依赖的多态性称为编译时多态性或静态的多态性。1)C++提供两种模板机制:函数模板、...

2018-12-04 12:13:56 2988

原创 C++面试总结(二)类

1.struct和class的区别C++中的struct对C中的struct进行了扩充,它已经不再是一个包含不同数据类型的数据结构了。struct与class 的区别是默认的访问控制。默认的继承访问权限,struct是public的,class是private的。                                                              ...

2018-11-30 21:51:44 334

原创 C++面试总结(一)常用关键字

1.简述volatile的用法   有些变量是用volatile关键字声明的。当两个线程都要用到某一个变量且该变量的值会被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入cpu寄存器中。volatile的意思是让编译器每次操作该变量时一定要从内存中真正取出,而不是使用已经存在寄存器中的值。2.简述extern的用法   (1)在c++中,用来指定使用另...

2018-11-22 20:41:02 537

原创 数组与指针

1.一维数组int array[5]={1,2,3,4,5};int *ap = array + 2​array + 1&array + 1数组名+1,是+数组元素大小的字节数;数组名的地址+1,是+整个数组大小的字节数int array[5]={1,2,3,4,5};cout<<*(*(&array+1)-1);会输出什么?这道题...

2018-11-21 16:20:50 139

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除