自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

起风之后,只剩沙丘

机器学习爱好者

  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 模型压缩:关于MobileNet和ShuffleNet v1v2一些点

1. MobileNet(2017):将传统卷积改成depthwise separable convolutions(每个kernel只和对应的一个channel的feature map进行卷积操作) && pointwise 1*1 convolutions(常规的1*1卷积),大大降低参数量和计算量,压缩比:1N+1Dk2,N=output_channels,Dk=...

2019-03-04 17:05:04 1662 1

原创 LeetCode刷题之路(五)——medium的进阶

Problem 39. Combination Sum  给定一个没有重复数字的数组和一个target,返回所有数组中的数求和为target的组合,每个数字可以重复利用。  **解题思路:**backtracking,该方法可以用来解决一类问题。注意边界值的处理 class Solution(object): def combinationSum(self, candi...

2018-03-23 11:38:28 928

原创 LeetCode刷题之路(四)——medium的进阶

Problem 29:Divide Two Integers  不使用除法、乘法和求余运算,完成两个数的除法,当数值溢出时,返回MAX_INT。  解题思路:第一想法,直接用被除数循环减去除数,每次减得的结果大于0,则结果加1,小于0时循环结束。解法没问题,但是复杂度太高,当用一个很大的数去除一个很小的数时,会超时。   于是我们想到,我每次不是减去除数,而是依次减去除数的2的指数次幂倍...

2018-03-20 17:19:59 2346

原创 详解tensorflow中的Attention机制

  最近在做基于attention的唇语识别,无奈网上关于tf中attention的具体实现没有较好的Demo,且版本大多不一致,琐碎而且凌乱,不得不自己翻开源码,阅读一番,收获颇丰,现分享与此。   PS:本文基于tensorflow-gpu-1.4.0版本,阅读前,读者最好对Attention mechanism有一定的了解,不然可能会一头雾水。   tf-1.4.0中,关于attenti...

2018-03-13 14:51:31 30081 4

原创 关于ubuntu 16.04下安装opencv-3.2.0及opencv_contrib-3.2.0踩过的各种坑

最近使用opencv进行视频数据预处理过程中用到的了opencv的kcf tracker,在:#include   的时候报错,说没有这个hpp文件,然后发现这个是扩展库里的,即opencv_contrib-3.2.0。然后开始踏上了踩坑之旅。虽然在网上找过很多,但是七零八落,这里把注意事项汇总如下:    1. 如果有已经安装了opencv的,想添加contrib库的小伙伴,建议卸

2018-01-27 18:17:43 3851 1

原创 干货——LSTM详解,关于LSTM的前生今世

最近在做lip reading领域的研究,设计到C3D和RNN的结合,于是仔细观摩了下LSTM的系列论文,总结如下:PPT总长98页,内容包括: 1.conventional LSTM(含BPTT算法的详细讲解) 2.forget gate的提出 3.Peephole mechanism 4.Encoder-Decoder 5.GRU 6.

2017-12-15 19:04:40 7443 2

原创 LeetCode刷题之路(三)——medium的进阶

Problem 2. Add Two Numbers  给定两个链表,每个元素代表一个数位,返回求和结果的链表,譬如: (2→4→3)+(5→6→4)=7→0→8(2\to 4\to 3)+(5\to 6\to 4)=7\to 0\to 8,最开始是最低位,即个位。解题思路:遍历求和,采用尾插法建立新链表即可。 def addTwoNumbers(self, l1, l2): t1

2017-12-15 18:50:40 512

原创 神经网络知识点汇总——RNN

RNN,循环神经网络是一种最新的神经网络结构,和CNN不同的是,它不光在spatial上有一个forward的方向,同时还有一个依赖于时间的传播方向。其中最出名的,当属LSTM(long short time memory)长短期记忆网络。RNN architecture  传统的RNN的结构如上所示(左边的图为原始结构,右边的为按照时间序列展开后的结构,这里一个圆圈代表一层,是一系列神经元的集合,

2017-09-13 15:14:54 1199

原创 神经网络知识点汇总——CNN

CNN——卷即神经网络(Convolutional Neural Network),主要应用来图像处理领域。它的网络结构中有两个不同于FNN的核心的地方:卷积层和池化层。并且它的正则化技术相对于FNN也有一定的修改。CNN architecture  CNN中,主要由卷积操作和池化操作构成,紧接其后的可能有一层或者多层的全连接层,用来将feature map转化成一个向量。Fe

2017-09-12 14:50:20 1685

原创 神经网络知识点汇总——FNN

本文基于文章,对神经网络的知识点做一个总结,可能不会对某些概念性的东西做详细介绍,因此需要对神经网络有基本的了解。FNN:前馈神经网络  神经网络的最基本也是最经典的形式,结果包括输入层,隐藏层和输出层,根据隐藏层的多少,分为shallow network和deep network(deep learning由此而来)Activation function  在神经网络的每

2017-09-08 16:44:12 11300

原创 LeetCode刷题之路(二)——easy的开始

这里依旧以easy的题目为主,因为个人代码量比较少,通过easy题来训练良好的代码习惯,为后面hard的题目做准备。Problem 67:Add Binary  给定两个二进制字符串,返回求和结果的二进制字符串,如,输入a=’11’,b=’1’,输出’100’。解题思路:第一种思路直接从字符串出发进行求解,采用递归的形式,考虑每个位置,有如下三种情况:两个值都为“1”,则结果为a

2017-08-19 14:41:36 869

原创 LeetCode刷题之路(一)——easy的开始

从今天开始给自己立个flag,每天刷几个算法题,并将过程中遇到的问题或者碰到的一些比较巧妙的思路记录下来,供以后查阅,写在这里也算是对自己的监督。   解题思路不限于比较难的题的解题思路,对于某些简单的题目比较巧妙的解法也进行说明。   题目由易到难Problem 1:Two sum Given an array of integers, return indices of

2017-08-15 15:13:28 896

原创 矩阵分析与应用(四)——逆矩阵、广义逆矩阵和Moore-Penrose逆矩阵

逆矩阵  逆矩阵的定义:如果对于一个方阵AA,存在一个方阵BB,使得AB=BA=IAB=BA=I,那么我们称BB为AA的逆矩阵,记做:A−1=B=1|A|A∗A^{-1}=B=\frac{1}{\vert A\vert}A^*,这里A∗A^*代表伴随矩阵。   一个n∗nn*n的方阵存在逆矩阵的充要条件等价于:AA为非奇异矩阵rank(A)=nrank(A)=nAA的行向量线性无关AA的列

2017-08-07 17:02:20 20269 1

原创 最全的机器学习中的优化算法介绍

在机器学习中,有很多的问题并没有解析形式的解,或者有解析形式的解但是计算量很大(譬如,超定问题的最小二乘解),对于此类问题,通常我们会选择采用一种迭代的优化方式进行求解。   这些常用的优化算法包括:梯度下降法(Gradient Descent),共轭梯度法(Conjugate Gradient),Momentum算法及其变体,牛顿法和拟牛顿法(包括L-BFGS),AdaGrad,Adadelta

2017-08-06 12:57:02 22421 5

原创 sklearn浅析(八)——近邻算法

近邻(Nearest Neighbor)算法既可以用于监督学习(分类),也可以用于非监督学习(聚类),它通过按照一定方法查找距离预测样本最近的n个样本,并根据这些样本的特征对预测样本做出预测。   在sklearn里,所有的近邻算法位于sklearn.neighbors下,共包含下列13个方法:NearestNeighbors:knn算法,主要用kd-tree和ball-tree实现Ne

2017-08-05 14:10:24 2552

原创 矩阵分析与应用(三)——基与Gram-Schmidt正交化

nn维Euclidean空间只有一个,但是nn维向量空间却有无穷多个,如x={0,0,α,β,γ}x=\{0,0,\alpha,\beta,\gamma\}和y={1,5,α,β,γ}y=\{1,5,\alpha,\beta,\gamma\}就是两个完全不同的5维向量空间,虽然他们都在5阶Euclidean空间内。   我们知道,nn维空间的多个向量的线性组合也属于nn维空间(根据向量空间加法运算

2017-08-03 11:53:28 6063

原创 矩阵分析与应用(二)——内积与范数

常数向量的内积与范数  两个m×1m×1的向量之间的内积(点积)定义为: ⟨x,y⟩=xHy=∑i=1mx∗iyi\langle x,y\rangle=x^Hy=\sum_{i=1}^m x_i^*y_i  其夹角定义为: cosθ=⟨x,y⟩⟨x,x⟩⟨y,y⟩−−−−−−−−−√=xHy∥x∥∥y∥cos \theta = \frac{\langle x,y\rangle}{\sqrt {\

2017-07-31 11:57:30 27386

原创 矩阵分析与应用(一)——集合的基本运算和内积空间

矩阵相关  幂等矩阵:对于方阵AA,如果A2=AA^2=A,则称为幂等矩阵   对合矩阵:对于方阵AA,如果A2=IA^2=I,则称为对合矩阵集合的基本运算A∪B={x∈X:x∈A or x∈B}A\cup B =\{x \in X: x \in A\space or \space x\in B\}A∩B={x∈X:x∈A and x∈B}A\cap B =\{x \in X: x

2017-07-27 19:35:28 2120

原创 奇异值分解与最小二乘问题

很多线性回归器的损失函数为均方误差: loss=∥Xw−y∥22loss=\Vert Xw-y\Vert_2^2   求解模型参数,需要最小化损失函数: min∥Xw−y∥22min \Vert Xw-y\Vert_2^2X∈Rm∗n,w∈Rm,,X∈Rn,X \in R^{m*n},w \in R^{m},,X \in R^{n},   该类问题分为三种情况:1. m=n且X为非奇异

2017-07-24 19:49:13 10297 3

原创 sklearn浅析(七)——Support Vector Machines

支持向量机以感知机为原型,但是它的能力要远远强于感知机,svm在回归,分类和异常检测上都有重要作用,并且可以通过kernel trick实现高维数据的非线性分类。关于svm的详细介绍请自行查找,可参考[统计学习方法 李航]和[cs229课程 Andrew Ng]   sklearn里面提供了很多svm及其变种,用于不同的应用场景,包括:SVCLinearSVCNuSVCSVRLin

2017-07-24 16:28:15 3197

原创 sklearn浅析(六)——Kernel Ridge Regression

Kernel Ridge Regression即使用核技巧的岭回归(L2正则线性回归),它的学习形式和SVR(support vector regression)相同,但是两者的损失函数不同:KRR使用的L2正则均方误差;SVR使用的是待L2正则的ϵ\epsilon-insensitive loss:max(0,|y−hθ(x)|−ϵ)max(0, \vert y-h_\theta(x)\vert-

2017-07-24 15:21:48 18769 2

原创 sklearn浅析(五)——Discriminant Analysis

sklearn中的判别分析主要包括两类,LinearDiscriminantAnalysis和QuadraticDiscriminantAnalysisLinearDiscriminantAnalysis  线性判别分析是一种分类模型,它通过在k维空间选择一个投影超平面,使得不同类别在该超平面上的投影之间的距离尽可能近,同时不同类别的投影之间的距离尽可能远,在LDA中,我们假设每一个类别的数据服从高

2017-07-24 10:14:16 19366

原创 sklearn浅析(四)——Generalized Linear Models之三

BayesianRidge  贝叶斯岭回归,求解的是基于gamma先验(假设噪音是服从高斯分布的,那么gamma分布就是其共轭先验)的岭回归,可以理解为正则化项是gamma先验(其实贝叶斯方法中的先验概率在一定程度即是正则化项的作用): w=(XTX+λαI)−1XTyw = (X^TX+\frac{\lambda}{\alpha}I)^{-1}X^Ty   其中λ\lambda的初始值1,α\

2017-07-22 14:21:56 3036

原创 sklearn浅析(三)——Generalized Linear Models之二

LASSO  LASSO即L1正则线性回归: min12nsamples∥Xw−Y∥22+λ∥w∥1\mathcal min\frac{1}{2n_{samples}}\Vert\mathrm X\mathcal w - \mathrm Y\Vert_2^2+\lambda\Vert\mathcal w\Vert_1   倾向于将部分参数收缩为0LASSO的使用from s

2017-07-22 11:59:53 1404

原创 sklearn浅析(二)——Generalized Linear Models之一

线性回归通过最小化均方误差来拟合一个线性模型,属于监督学习,对于给定的数据集X和类标签y,通过最小二乘法求得模型参数为: w = (XTX)-1XTy

2017-07-21 14:03:51 2904

原创 sklearn浅析(一)——sklearn的组织结构

sklearn是基于numpy和scipy的一个机器学习算法库,设计的非常优雅,它让我们能够使用同样的接口来实现所有不同的算法调用。本文首先介绍下sklearn内的模块组织和算法类的顶层设计图。三大模块监督学习(supervised learning)1.neighbors:近邻算法svm:支持向量机kernel-ridge:岭回归discriminant_analysis:判别分析lin

2017-07-21 13:55:41 26677 5

原创 Bengio Deep Learning 初探 —— 第6章:前馈神经网络

基于梯度的学习      1)深度前馈网络(deep feedforward network),又名前馈神经网络或多层感知机(multilayer perceptron,MLP),前馈的意思是指在这个神经网络里信息只是单方向的向前传播而没有反馈机制。      2)整流线性单元(rectified linear unit,ReLU),拥有一些优美的性质,比sigmoid函数更适合当隐藏单元

2017-03-13 08:57:22 6178

原创 Bengio Deep Learning 初探 —— 第5章:机器学习基础

这一章节主要讲解了一些在机器学习领域的一个基础知识,包括一些术语和常用的统计方法,如上篇一样,这里列出该章的主要知识点:       1)什么是学习算法?:       对于某类任务 T 和性能度量P,一个计算机程序被认为可以从经验 E 中学习是指:通过经验 E 改进后,它在任务 T 上由性能度量 P 衡量的性能有所提升。       任务T:通常机器学习任务定义为机器学习系统该如何处理样本

2017-03-12 13:38:09 972

原创 Bengio Deep Learning 初探 —— 第1-4章

初探Deep Learning一书,第一次略读,将原书中的一些重要术语和思想(个人以为的)分章节整理,菜鸡一只,有许多现在还理解不到位的。这里只列出一些定义,作为内容结构的一个简单梳理。       全书分为三个部分,共计二十章。chapter 1-4      主要介绍了概率论、统计和线性代数的一些基础知识:       1)2006 年。Geoffrey Hinton表明名为深度信念网络的神

2017-03-05 09:59:28 836

原创 coursera机器学习知识补充(一)——正则化在线性回归和Logistic回归的应用

在网易公开课的学习笔记当中,我们讲解了线性回归和Logistic回归模型,提出了可能出现的过拟合问题,这里通过介绍一种正则化的方法,来具体看看如何避免过拟合的。正则化      简单来说,我们在模型的拟合过程中,为了尽可能的减小成本函数,让模型对训练数据更好的拟合,可能倾向于选择增加模型参数,这样就可能会导致过拟合。正则化的方式则是选择在成本函数中增加一个正则化项(Regularization it

2017-02-22 14:23:06 2230

原创 斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

高斯判别分析(Gaussian discriminant analysis) 判别模型和生成模型       前面我们介绍了Logistic回归,通过学习hΘ(x)来对数据的分类进行预测:给定一个特征向量x→输出分类y∈{0,1}。这类通过直接学习分类决策函数 hΘ(x)或者直接对后验概率分布P(y|x)进行建模的学习方法称为判别方法,得到的模型称为判别模型。如果是直接对P(x|y)进

2017-02-20 14:03:33 1657 2

原创 斯坦福机器学习: 网易公开课系列笔记(四)——牛顿法、广义线性模型

牛顿法      给定一个函数图像,如何求得使f(x)=0的x?       首先初始化一个点X0,过f(X0)做函数切线,得到与X轴的交点X1,再过f(X1)做函数切线,得到与X轴的交点X2,以此类推,直至Xn–>X。我们得到X的更新公式:Xn+1=Xn-f(Xn)/f’(Xn)       我们又知道,要求解一个函数的极值就是对该函数求导,令导数f’(x)=0。在我们的优化问题中,我们需要极

2017-02-18 22:50:45 2174

原创 斯坦福机器学习: 网易公开课系列笔记(三)——局部加权回归、logistic回归

在上一节中,我们讲到了线性回归的梯度下降和最小二乘的求解方法,但是实际当中,大部分问题并不是线性的,如果用线性方程去拟合这些数据,误差会非常大。       下图中最左边的,是我们用y=Θ0+Θ1x对数据集进行拟合,可以看到数据并没有很好的分布在方程的附近,会产生很大的误差;如果我们添加一个额外是特征x2,并用y=Θ0+Θ1x+Θ2x2进行拟合,可以看到数据被拟合的更好一些;进一步,如果我们添加更

2017-02-18 12:07:13 2651

原创 斯坦福机器学习: 网易公开课系列笔记(二)——线性回归、梯度下降算法和最小二乘公式

课程一共分为三个板块,分别讲述了监督学习、非监督学习、增强学习的一些模型和相关算法。那么什么是监督学习?非监督学习?强化学习呢?我们可以这样理解,假如我们对某个地区的鸟类进行分类,为了简便起见,每个鸟类的样本包括{体长,颜色,喙的形状}三个属性,并且通过查阅资料,知道了每个样本代表的是哪种鸟(label),比如{8cm,彩虹色,尖喙}->蜂鸟,我们通过对这些样本属性及其种类进行学习,从而

2017-02-17 13:24:16 4607

原创 斯坦福机器学习: 网易公开课系列笔记(一)——课程简介

斯坦福机器学习: 网易公开课系列笔记(一)——课程简介      最近学习了一下网易公开课上由Andrew Ng于08年在斯坦福大学开办的机器学习课程,受益颇深。作为一个刚入门的学习者,可以说吴恩达讲的通俗易懂,之前我是一直在看《统计学习方法》和《机器学习》两本书,上面的一些公式看的比较懵,但是听完这门课后觉得豁然开朗。这门课开设的比较早,再加上近年来机器学习领域的迅猛发展,里面的一些算法可能在现在

2017-02-17 09:59:29 4934

opencv-3.2.0需要的一些文件,包括windows和ubuntu下的

opencv-3.2.0需要的一些文件,包括windows和ubuntu下的,直接拷贝到opencv-3.2.0的路径下即可,解决编译过程相关文件下载失败的问题

2018-01-27

opencv_contrib-3.2.0,修复了各种文件和库缺失的问题

综合网上的各种资源,汇总的一版修正了各种问题的opencv_contrib-3.2.0的库

2018-01-27

空空如也

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

TA关注的人

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