machine-learning
wolfrevoda
新晋机器学习研究爱好者
展开
-
Particle Swarm optimization(PSO)---粒子群算法
粒子群算法(PSO)简介粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由Eberhart 博士和kennedy 博士提出,源于对鸟群捕食的行为研究 。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序原创 2015-05-27 21:17:36 · 3908 阅读 · 0 评论 -
贝叶斯学派与频率学派
频率学派对于频率学派,其认为我们所观察到的某些现象其背后的分布是确定的,是一直不变的,我们所需要的就是不断的去接近他。就好像西方人认为上帝是存在的,我们可以通过修行的方式来不断的接近上帝,看清上帝的真面目。因此对于频率学派来说,其通过大量的独立重复实验,观察某种事件出现的频率来预估其出现的概率。针对模型P(x;θ)P(x;\theta)来说,该学派认为模型的参数是存在且固定的,我们要做的就是求出让P原创 2016-07-19 17:47:07 · 2031 阅读 · 0 评论 -
集成学习学习笔记(1)
集成学习集成学习,顾名思义就是将多个学习器集成在一起来完成某个任务。其一般结构为:先产生一组个体学习器;然后再用某种策略将这些个体学习器结合起来。但是并不是说把任何的个体学习器结合起来都可以有效果的提升,其对于学习器的准确率和多样性是有一定要求的,如下例所示:我们可以看到,对于第二种学习器集成方式,由于其三个学习器对于测试集的预测结果都是一样的,虽然每个学习器的准确率比较高,但是集合在一起并没原创 2016-07-29 22:33:14 · 1273 阅读 · 0 评论 -
机器学习中常用的导数公式和迹公式
常用导数公式:δωTxδω=x\frac{\delta \omega^Tx}{\delta \omega} = xδxωδω=xT\frac{\delta x\omega}{\delta \omega} = x^TδxTωδω=x\frac{\delta x^T\omega}{\delta \omega} = xδωTxTδω=xT\frac{\delta \omega^Tx^T}{\del原创 2016-07-20 15:38:41 · 1806 阅读 · 0 评论 -
梯度下降法学习笔记
我们都知道梯度下降法是求解无约束最优化问题的最常用方法,可是为什么梯度下降可以用来求解最优化问题呢?梯度到底是什么?这里假设我们要解决一个最小值问题minf(x)minf(x),当我们所研究的对象并不是一个凸函数或者即使是一个凸函数,但是计算量会非常的大,此时我们就会想能否有一种迭代的方法,当我们随机的选取一个点,我们以该点位为起点,然后沿着某个方向能够以最快的速度走到最小值点呢?基于这样的思路,我原创 2016-07-20 23:11:15 · 1394 阅读 · 0 评论 -
集成学习学习笔记(2)
Bagging通过集成学习笔记1中对Boosting算法的描述我们知道对于Boosting算法,其各个基学习器之间是强相关的,即下一个学习器的学习偏好受之前学习器的影响很大,因为之前的基学习器的学习情况会通过权值来影响下一次训练样本的分布情况。这种强相关性决定了AdaBoost只能进行串行运算,而且通过AdaBoost算法的推导可以知道该算法只能用于二分类任务。 如何能够设计一种算法既可以执行并行原创 2016-08-01 00:44:12 · 7630 阅读 · 0 评论 -
牛顿法与拟牛顿法
牛顿法求函数的根牛顿法的最初提出是用来求解方程的根的。我们假设点x∗x^*为函数f(x)f(x)的根,那么有f(x∗)=0f(x^*) = 0。现在我们把函数f(x)f(x)在点xkx_k处一阶泰勒展开有:f(x)=f(xk)+f′(xk)(x−xk)f(x) = f(x_k) + f'(x_k)(x-x_k)那么假设点xk+1x_{k+1}为该方程的根,则有f(xk+1)=f(xk)+f′(xk)原创 2016-07-21 11:49:43 · 18028 阅读 · 2 评论 -
svm常用核函数
SVM核函数的选择对于其性能的表现有至关重要的作用,尤其是针对那些线性不可分的数据,因此核函数的选择在SVM算法中就显得至关重要。对于核技巧我们知道,其目的是希望通过将输入空间内线性不可分的数据映射到一个高纬的特征空间内使得数据在特征空间内是可分的,我们定义这种映射为ϕ(x)\phi(x),那么我们就可以把求解约束最优化问题变为minαs.t.αi≥0,12∑i=1N∑j=1Nαiαjyiyj(ϕi原创 2016-08-29 19:34:27 · 80486 阅读 · 4 评论 -
beam search算法
在看论文Sequence to Sequence Learning with neural networks时看到了beam search算法,特此记录一下该算法的基本思想在CS领域,beam search是一种启发式搜索,在优化领域,其属于一种最佳优先算法,最佳优先算法是一种图搜索算法,其会将所有可能的解依据启发式规则进行排序,该规则用来衡量得到的解与目标解到底有多接近。但是对于beam sear原创 2017-03-20 22:09:43 · 16090 阅读 · 1 评论 -
linux下构建虚拟环境(virtualenv )安装tensorflow
首先要安装virtualenv $ sudo apt-get install python-pip python-dev python-virtualenv 创建虚拟环境(如果使用默认的python版本则无需-p命令,如果要用指定的python版本,则使用-p命令来指定;我们假定创建的虚拟环境为tensorflow,即targetDirectory为tensorflow)$ virtualen原创 2017-03-23 16:43:53 · 6830 阅读 · 4 评论 -
贝叶斯分类器学习笔记
我们知道,对于人类来说学习通常是指通过经验获得知识从而导致可度量的行为变化。也就是说我们通过经验获得了知识,然后这些知识又对我们未来的行为产生了影响。而机器学习则是让机器来进行学习,因此我们也可以认为机器学习同样是让机器通过经验(在计算机中表现为数据)获得知识(知识即为我们的模型),然后基于这些知识(模型)来对我们未来的行为产生影响(即不同的模型在接收到未来的新数据可能会得到不同的label)。对于原创 2016-07-15 14:51:38 · 9074 阅读 · 0 评论 -
线性判别分析(LDA)学习笔记
线性判别分析线性判别分析又称为Fisher判别分析,因为其最早是由Fisher提出来处理二分类问题。线性判别分析的思想非常的简单,其就是要确定一条直线,当所有样本点投影到该条直线上的时候,能够保证同类样本的投影点尽可能集中,而不同类的样本的投影点则相聚较远。当有一个新样本来的时候,可以将该样本投影到这条直线上并归类到最近的类别中心所在类。 假设我们现在样本点归属于两个类A和B,这两类样本的均值向量原创 2016-07-25 21:48:16 · 1807 阅读 · 0 评论 -
线性回归学习笔记
线性回归线性回归线性模型就是通过属性的线性组合来进行预测的函数:f(x)=ω1x1+ω2x2+...+ωdxd+bf(x) = \omega_1x_1+\omega_2x_2+...+\omega_dx_d+b用向量形式可以写成:f(x)=ωTx+bf(x) = \omega^Tx+b当我们学到参数ω,b\omega,b就可以确定模型。 因此对于线性回归方法,其目的就是要在一组带标记的数据中学得一原创 2016-07-25 11:31:46 · 2526 阅读 · 1 评论 -
约束极值问题/非线性规划问题
预备知识1.假设aa,bb为两个向量,则a∙b=|a|∗|b|∗cosθa\bullet b=|a|*|b|*cos\theta,其中θ\theta为向量a、ba、b的夹角。因此,当向量a,ba,b的点乘为正数时,其几何意义是这两向量的夹角小于90度,为负数,夹角大于90度,为0,夹角等于90度; 2.某条曲线在某点的梯度方向与该点的切线方向垂直; 3.原创 2015-05-30 15:23:13 · 4658 阅读 · 0 评论 -
凸优化问题
基本概念1.凸集假设我们拥有一个集合CC,从中任取两个元素x,y∈Cx,y \in C,并有一个实数θ∈R,0≤θ≤1\theta\in R, 0\le \theta\le 1,如果θx+(1−θ)y∈C\theta x+(1-\theta)y\in C那么我们称集合CC为一个凸集,θx+(1−θ)y\theta x+(1-\theta)y被称作点x,yx,y之间的凸连接 。原创 2015-06-19 15:59:53 · 7960 阅读 · 0 评论 -
机器学习总结(1)
机器学习总结(1)Supervised LearningLinear Regressiongradient decent(梯度下降)Least Mean Square(最小二乘法)Locally weighted linear regression(局部权值线性回归)线性回归在线性回归中,我们都将要研究的系统的函数表达式假设为线性的,即hθ(x)=θ0+θ1原创 2015-05-24 09:25:18 · 1032 阅读 · 0 评论 -
数据标准化的几种方法
数据标准化的几种方法(转)原文地址 数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。 其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上,常见的数据归一化的方法有:min-max标准化(Min-max norm转载 2015-12-21 17:57:58 · 1364 阅读 · 0 评论 -
矩阵求导
矩阵求导求导运算向量函数对实值求导定义向量函数y=⎡⎣⎢⎢⎢⎢⎢y1y2⋮ym⎤⎦⎥⎥⎥⎥⎥\mathbf y = \begin{bmatrix}y_1 \\y_2 \\\vdots\\y_m\end{bmatrix} 那么我们有向量函数y\mathbf y对实值xx求导得:δyδx=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢δy1δxδy2δx⋮δymδx⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥\frac{\delta原创 2016-03-01 20:41:39 · 745 阅读 · 0 评论 -
决策树算法学习笔记
决策树算法决策树的基本思想与人自身的决策机制很相似,都是基于树结构进行决策,即对于任何问题,我们都先抽出其中的几个主要特征,然后对这些特征一个一个的去考察,从而决定这个问题应该属于的类别。例如我们要去商场买电脑,我们一般要通过考察电脑的CPU,内存,硬盘,显存等这些特征来判断这台电脑是好电脑还是一般电脑,当我们做判断的时候,我们都是首先看这个电脑的CPU怎么样,是i3?i5?还是i7?如果是i7我们原创 2016-04-12 15:40:26 · 3611 阅读 · 0 评论 -
神经网络学习笔记
神经网络sigmoid函数sigmoid函数是一种常见的挤压函数,其将较大范围的输入挤压到(0,1)(0,1)区间内,其函数的表达式与形状如下图所示:该函数常被用于分类模型,因为其具有很好的一个特性f′(x)=f(x)(1−f(x))f'(x) = f(x)(1-f(x))。这个函数也会被用于下面的神经网络模型中做激活函数。M-P神经元模型生物的神经网络系统中,最简单最基本的结构是神经元。每个神经元原创 2016-04-14 22:41:51 · 13932 阅读 · 0 评论 -
机器学习模型性能评估方法笔记
模型性能评估综述对于模型性能的评估,我们通常分为一下三步: 1. 对数据集进行划分,分为训练集和测试集两部分; 2. 对模型在测试集上面的泛化性能进行度量; 3. 基于测试集上面的泛化性能,依据假设检验来推广到全部数据集上面的泛化性能数据集的划分对于模型来说,其在训练集上面的误差我们称之为“训练误差”或者“经验误差”,而在测试集上的误差称之为“测试误差”。因为测试集是用来测试学习期对于新样本的原创 2016-07-12 17:27:02 · 26470 阅读 · 5 评论 -
偏差与方差学习笔记
偏差与方差我们都知道,泛化误差可以分解为噪声,偏差和方差,即泛化误差是由噪声,偏差和方差共同决定的,但是为什么是由他们三个决定的,这里做一个比较详细的说明。 首先,我们先做几个符号的说明: yD:y_D:测试样本xx在数据集中的标记; y:y:测试样本xx的真实标记; f(x;D):f(x;D):训练集D上学得模型ff在xx上的预测输出; 那么我们可以知道模型的期望预测值为f¯(x)=ED原创 2016-07-12 21:21:58 · 2766 阅读 · 0 评论 -
基于tensorflow的keras中GPU的使用
在基于tensorflow的keras中,其会自动检测运行的机器中是否有gpu,如果有的话,其会自动在gpu上执行运算。但是keras并没有提供像基于theano如下所示的接口来对要运行的gpu进行选择# the name 'gpu' might have to be changed depending on your device's identifier (e.g. gpu0, gpu1, et原创 2017-03-15 10:53:37 · 18898 阅读 · 0 评论