精华内容
下载资源
问答
  • 一维搜索方法分几类
    千次阅读
    2018-11-10 17:43:41

    一维搜索算法介绍及其实现

    当进行优化算法实现时、一般都要进行一系列如下格式的迭代运算

    x(k+1) = x(k) + a(k) *s(k),其中s(k)是变量变化的方向,而a(k)可以确定变量变化的大小,即我们平时所说的步长,a(k)被称为学习率。求最佳步长即求一元函数:

    的极值问题,这一过程被称为一维搜索。一维搜索也是解多维最优化问题的重要支柱。

    一维搜索一般有如下方法,解析法和数值解法。解析法即是按照数学公式求导数求极值。但是一般实际问题中,往往不知道损失函数的数学表达式、或者导数比较难求,这种方法一般应用于科学计算。数值类方法有分为两类,试探法和插值法。

    二、确定初始单谷区间的进退法

    为了进行一维搜索,我们首先需要缩小变量所在的变化范围,然后再用其他方法去求极值。

    如图所示,对于单谷函数而言,有如下结论

    ,则极小点位于点x2的右边区间。

    ,则极小点位于点x2的左边区间。

    ,则极小点位于点x1和点x2之间的区间。

    x1和x3就是包含一个极小点的区间。

    这几个结论告诉我们,只有我们能够找到三点x1,x2,x3使得三点满足条件

    x1<x2<x3,f(x1)<f(x2)>f(x3)那么极小值点就肯定在区间[x1,x3]中。

    进退法的步骤

    1、选定初始点x1,初始步长h,x2 = x1 + h,计算y1 = f(x1),y2 = f(x2)

    2、比较y1 和y2

    (a)y1 > y2,那么我们已经找到了符合条件的x1和x2,可以继续下一步.

    (b)y1 < y2,那么我们找错了方向,应该反向搜搜,将x1 与x2互换,并将h= -h

    (c)y1 = y2 ,终止程序,极小值点在区间[x1,x2]之间。

    3、产生新的探测点x3 = x2 +h ,y3 = f(x3)

    4、比较y2和y3

    (a)y2 > y3 ,那么赋值x1 = x2, x2 = x3,转步骤3 继续进行探测。

    (b)y2< y3,那么我们已经找到三个符合条件的点了。

    极小值所在的区间为[min(x1,x3), max(x1,x3)]

     

    三、区间消退法

    搜索区间确定后,在搜索区间[a,b]内任取两点a1 b1

    若f(a1) < f(b1),则取[a, b1]为缩短后的搜索区间,反之则取[a1, b]为搜索后的区间,如此迭代下去,当精度满足时,则停止迭代。

     

    四、黄金分割法

    黄金分割法也是逐步缩小区间,不过它是按照一定比例进行缩小,步骤如下。

    在搜索区间[a,b],若精度不满足要求,则下次的搜索区间为

    a1 = a + 0.382(b-a)

    b1 = a + 0.618(b-a)

    当精度满足时,则停止迭代。

    代码参考地址https://github.com/delltower/machine_learn

    更多相关内容
  • 【工程优化】一维搜索方法

    千次阅读 2015-02-04 17:14:04
    一维搜索方法的分类如下: 这篇文章主要讲解黄金分割法、二分法、牛顿法这三种一维搜索方法。黄金分割法只用到原函数,二分法用到函数的一阶导,牛顿法用到函数的二阶导。由于本文主要对研一上学期的课程中的部分...

    一维搜索方法的分类如下:

            这篇文章主要讲解 黄金分割法、二分法、牛顿法这三种一维搜索方法。黄金分割法只用到原函数,二分法用到函数的一阶导,牛顿法用到函数的二阶导。由于本文主要对研一上学期的课程中的部分算法进行程序实现, 理论部分大多参考上课的课件

    黄金分割法

        基本概念:




    算法思想:




    算法流程图及优缺点如下:



    二分法

     基本思想:



    牛顿法

    基本思想:





    算法流程图:


    具体实现:

    下面我们通过程序具体实现, 在程序中,我们设置原函数都是f(x)=sinx/x,搜索区间都是[0,1],牛顿法中假设初始值设为1,具体程序如下所示
    #include<stdio.h>
    #include<math.h>
    /********************函数的定义、一阶导、二阶导的模块 BEGIN*************************/
    /*****************************\
    输入:x为自变量
    输出:x自变量对应的函数值
    \*****************************/
    double Function(double x)
    {
        return (x-0.5)*(x-0.5);//这里填写函数式f(x),根据自己的函数修改
    }
    /*****************************\
    输入:x为自变量
    输出:x自变量对应的一阶导数值
    \*****************************/
    double Derivative(double x)//求函数的一阶导数
    {
        double eps=0.0000001;//精度控制
        double dx=0.5;//设置初始的间隔,太大需要迭代多次,太小缺乏精度
        double dy=Function(x+dx)-Function(x);//函数值的增量
        double dd1=dy/dx;//导数
        double dd2=0;//dx变化时的导数
        dx=dx/2;//不断地减少x的增量
        dy=Function(x)-Function(x+dx);
        dd2=dy/dx;//计算新的导数值
        while(abs(dd1-dd2)>eps)//当相邻两次的导数值小于精度时终止迭代,得到导数
        {
            dd1=dd2;
            dx=dx/2.0;
            dy=Function(x+dx)-Function(x);
            dd2=dy/dx;
        }
        return dd2;
    }
    //求函数的2阶导数,与求一阶导数的原理一样,只需要把求函数值的函数Function换成求一阶导数的函数Derivative
    /*****************************\
    输入:x为自变量
    输出:x自变量对应的二阶导数值
    \*****************************/
    double Derivative2(double x)
    {
        double eps=0.00000001;
        double dx=0.5;
        double dy=Derivative(x+dx)-Derivative(x);
        double dd1=dy/dx;
        double dd2=0;
        dx=dx/2;
        dy=Derivative(x)-Derivative(x+dx);
        dd2=dy/dx;
        while(abs(dd1-dd2)>eps)
        {
            dd1=dd2;
            dx=dx/2.0;
            dy=Derivative(x+dx)-Derivative(x);
            dd2=dy/dx;
        }
        return dd2;
    }
    /********************函数的定义、一阶导、二阶导的模块  END*************************/
    /******************************************\
    输入:a,b为区间的上下限,n为最大的迭代次数
    输出:打印函数最小值及对应的自变量x
    \******************************************/
    void GoldenSection(double a,double b,int n)//黄金分割法
    {
        double l=a+0.382*(b-a);
        double h=a+0.618*(b-a);
        double region=b-a;
        
        double fl;
        double fh;
        int num=1;//迭代次数
        
        while(region>0.0000000001&&num<n)
        {
            fl=Function(l);
            fh=Function(h);
            if(fl>fh)
            {
                a=l;
                l=h;
                h=a+0.618*(b-a);
            }
            else
            {
                b=h;
                h=l;
                l=a+0.382*(b-a);
            }
            num++;
            region=abs(b-a);
        }
        if(num==n)
            printf("找不到最小值");
        else
        {
            printf("黄金分割法:x=%f时,最小值f(x)=%f",(a+b)/2,Function((a+b)/2));
            
        }
    }
    /******************************************\
    输入:a,b为区间的上下限
    输出:打印函数最小值及对应的自变量x
    \******************************************/
    void Dichotomy(double a,double b)//二分法
    {
        double eps=0.0000001;
        double x=(a+b)/2;
        double region=b-a;
        double fxDerivative= Derivative(x);
        while(region>0.0000001&&abs(fxDerivative)>eps)
        {
            fxDerivative= Derivative(x);
            if(fxDerivative>eps)
                b=x;
            if(fxDerivative<-eps)
                a=x;
            x=(a+b)/2;
            region=abs(b-a);
        }
        printf("\n\n二分法:x=%f时,f(x)=%f\n",x,Function(x));
    }
    /******************************************\
    输入:a,b为区间的上下限,x1是初始值
    输出:打印函数最小值及对应的自变量x
    \******************************************/
    void Newton(double a,double b,double x1)
    {
        double eps=0.0000001;
        double x=x1;
        double d1=Derivative(x1);//一阶导
        double d2;//二阶导
        while(abs(d1)>eps)
        {
            d2=Derivative2(x);
            if(d2<0)
                printf("二阶导小于0,无法求解");
            else
            {
                x=x-d1/d2;//x迭代公式
                d1=Derivative(x);
            }
        }
        printf("\n牛顿法:x=%f时,f(x)=%f\n\n",x,Function(x));
    }
    void main()
    {
        GoldenSection(0,1,100000);//黄金分割法
        
        Dichotomy(0,1);//二分法
        Newton(0,1,1);//牛顿法
    }

    运行结果如下图:



    原文:http://blog.csdn.net/tengweitw/article/details/43488767

    作者:nineheadedbird


    展开全文
  • 二、个不精确一维搜索方法的准则 引用地址 line search(一维搜索,或线搜索)是最优化(Optimization)算法中的一个基础步骤/算法。它可以分为精确的一维搜索以及不精确的一维搜索两大。 在本文...

    一、什么是不精确一维搜索方法

    一维搜索方法是 求函数\varphi \left(\lambda \right )=f\left ( x_{k}+\lambda_{k}d_{k} \right )的最小值,来得到最优步长\lambda_{k},不精确一维搜索方法,即保证目标函数在每次迭代有满意的下降量的方法。f(x_{k})-f(x_{k}+ \lambda_{k}d_{k})到一次满意的水平,\lambda_{k}就是可接受步长。

    二、几个不精确一维搜索方法的准则  引用地址

    line search(一维搜索,或线搜索)是最优化(Optimization)算法中的一个基础步骤/算法。它可以分为精确的一维搜索以及不精确的一维搜索两大类。
    在本文中,我想用“人话”解释一下不精确的一维搜索的两大准则:Armijo-Goldstein准则 & Wolfe-Powell准则。
    之所以这样说,是因为我读到的所有最优化的书或资料,从来没有一个可以用初学者都能理解的方式来解释这两个准则,它们要么是长篇大论、把一堆数学公式丢给你去琢磨;要么是简短省略、直接略过了解释的步骤就一句话跨越千山万水得出了结论。
    每当看到这些书的时候,我脑子里就一个反应:你们就不能写人话吗?

    我下面就尝试用通俗的语言来描述一下这两个准则。

    【1】为什么要遵循这些准则

    由于采用了不精确的一维搜索,所以,为了能让算法收敛(即:求得极小值),人们逐渐发现、证明了一些规律,当你遵循这些规律的时候,算法就很有可能收敛。因此,为了达到让算法收敛的目的,我们就要遵循这些准则。如果你不愿意遵循这些已经公认有效的准则,而是要按自己的准则来设计算法,那么恭喜你,如果你能证明你的做法是有效的,未来若干年后,书本里可能也会出现你的名字。

    【2】Armijo-Goldstein准则

    此准则是在196X年的时候由Armijo和Goldstein提出的,当然我没有具体去搜过这俩人是谁。在有的资料里,你可能会看到“Armijo rule”(Armijo准则)的说法,可能是同一回事,不过,任何一个对此作出重要贡献的人都是不可抹杀的,不是么?

    Armijo-Goldstein准则的核心思想有两个:①目标函数值应该有足够的下降;②一维搜索的步长α不应该太小。

    这两个思想的意图非常明显。由于最优化问题的目的就是寻找极小值,因此,让目标函数函数值“下降”是我们努力的方向,所以①正是想要保证这一点。

    同理,②也类似:如果一维搜索的步长α太小了,那么我们的搜索类似于在原地打转,可能也是在浪费时间和精力。

    文章来源:http://www.codelast.com/
    有了这两个指导思想,我们来看看Armijo-Goldstein准则的数学表达式:

    其中, 0<ρ<12 

    (1)为什么要规定 ρ∈(0,12) 这个条件?其实可以证明:如果没有这个条件的话,将影响算法的超线性收敛性(定义看这个链接,第4条)。在这个速度至关重要的时代,没有超线性收敛怎么活啊!(开个玩笑)
    具体的证明过程,大家可以参考袁亚湘写的《最优化理论与方法》一书,我没有仔细看,我觉得对初学者,不用去管它。
    (2)第1个不等式的左边式子的泰勒展开式为:
    f(xk+αkdk)=f(xk)+αkgkTdk+o(αk) 
    去掉高阶无穷小,剩下的部分为: f(xk)+αkgkTdk 
    而第一个不等式右边与之只差一个系数 ρ 
    我们已知了 gkTdk<0 (这是 dk 为下降方向的充要条件),并且 ρ∈(0,12) ,因此,1式右边仍然是一个比 f(xk) 小的数,即:
    f(xk)+αkρgkTdk<f(xk) 
    也就是说函数值是下降的(下降是最优化的目标)。

    (3)由于 ρ∈(0,12) 且 gkTdk<0 ( dk 是一个下降方向的充要条件),故第2个式子右边比第1个式子右边要小,即:
    αk(1−ρ)gkTdk<αkρgkTdk<0 
    如果步长 α 太小的话,会导致这个不等式接近于不成立的边缘。因此,式2就保证了 α 不能太小。
    (4)我还要把很多书中都用来描述Armijo-Goldstein准则的一幅图搬出来说明一下(亲自手绘):


    横坐标是 α ,纵坐标是 f ,表示在 xk,dk 均为常量、 α 为自变量变化的情况下,目标函数值随之变化的情况。
    之所以说 xk,dk 均为常量,是因为在一维搜索中,在某一个确定的点 xk 上,搜索方向 dk 确定后,我们只需要找到一个合适的步长 α 就可以了。
    当 x 为常量, α 为自变量时, f(x+αd) 可能是非线性函数(例如目标函数为 y=x2 时)。因此图中是一条曲线。
    右上角的 f(xk+αdk) 并不是表示一个特定点的值,而是表示这条曲线是以 α 为自变量、 xk,dk 为常量的函数图形。
    当 α=0 时,函数值为 f(xk) ,如图中左上方所示。水平的那条虚线是函数值为 f(xk) 的基线,用于与其他函数值对比。
    f(xk)+αkρgkTdk 那条线在 f(xk) 下方(前面已经分析过了,因为 gkTdk<0 ), f(xk)+αk(1−ρ)gkTdk 又在 f(xk)+αkρgkTdk 的下方(前面也已经分析过了),所以Armijo-Goldstein准则可能会把极小值点(可接受的区间)判断在区间bc内。显而易见,区间bc是有可能把极小值排除在外的(极小值在区间ed内)。
    所以,为了解决这个问题,Wolfe-Powell准则应运而生。

    【3】Wolfe-Powell准则
    在某些书中,你会看到“Wolfe conditions”的说法,应该和Wolfe-Powell准则是一回事——可怜的Powell大神又被无情地忽略了...
    Wolfe-Powell准则也有两个数学表达式,其中,第一个表达式与Armijo-Goldstein准则的第1个式子相同,第二个表达式为:

    这个式子已经不是关于函数值的了,而是关于梯度的。
    此式的几何解释为:可接受点处的切线斜率≥初始斜率的 σ 倍。
    上面的图已经标出了 σgTkdk 那条线(即 e 点处的切线),而初始点( α=0 的点)处的切线是比 e 点处的切线要“斜”的,由于 σ∈(ρ,1) ,使得 e 点处的切线变得“不那么斜”了——不知道这种极为通俗而不够严谨的说法,是否有助于你理解。
    这样做的结果就是,我们将极小值包含在了可接受的区间内( e 点右边的区间)。

    Wolfe-Powell准则到这里还没有结束!在某些书中,你会看到用另一个所谓的“更强的条件”来代替(3)式,即:

    这个式子和(3)式相比,就是左边加了一个绝对值符号,右边换了一下正负号(因为 gTkdk<0 ,所以 −σgTkdk>0 )。
    这样做的结果就是:可接受的区间被限制在了 [b,d] 内,如图:

    图中红线即为极小值被“夹击”的生动演示。

    展开全文
  • 它可以分为精确的一维搜索以及不精确的一维搜索两大。在本文中,我想用“人话”解释一下不精确的一维搜索的两大准则:Armijo-Goldstein准则 & Wolfe-Powell准则。之所以这样说,是因为我读到的所有最优化的书或.....

    转载请注明出处:http://www.codelast.com/

    line search(一维搜索,或线搜索)是最优化(Optimization)算法中的一个基础步骤/算法。它可以分为精确的一维搜索以及不精确的一维搜索两大类。
    在本文中,我想用“人话”解释一下不精确的一维搜索的两大准则:Armijo-Goldstein准则 & Wolfe-Powell准则。
    之所以这样说,是因为我读到的所有最优化的书或资料,从来没有一个可以用初学者都能理解的方式来解释这两个准则,它们要么是长篇大论、把一堆数学公式丢给你去琢磨;要么是简短省略、直接略过了解释的步骤就一句话跨越千山万水得出了结论。
    每当看到这些书的时候,我脑子里就一个反应:你们就不能写人话吗?

    我下面就尝试用通俗的语言来描述一下这两个准则。

    【1】为什么要遵循这些准则
    由于采用了不精确的一维搜索,所以,为了能让算法收敛(即:求得极小值),人们逐渐发现、证明了一些规律,当你遵循这些规律的时候,算法就很有可能收敛。因此,为了达到让算法收敛的目的,我们就要遵循这些准则。如果你不愿意遵循这些已经公认有效的准则,而是要按自己的准则来设计算法,那么恭喜你,如果你能证明你的做法是有效的,未来若干年后,书本里可能也会出现你的名字。

    文章来源:http://www.codelast.com/

    【2】Armijo-Goldstein准则
    此准则是在196X年的时候由Armijo和Goldstein提出的,当然我没有具体去搜过这俩人是谁。在有的资料里,你可能会看到“Armijo rule”(Armijo准则)的说法,可能是同一回事,不过,任何一个对此作出重要贡献的人都是不可抹杀的,不是么?

    Armijo-Goldstein准则的核心思想有两个:①目标函数值应该有足够的下降;②一维搜索的步长α不应该太小。

    这两个思想的意图非常明显。由于最优化问题的目的就是寻找极小值,因此,让目标函数函数值“下降”是我们努力的方向,所以①正是想要保证这一点。
    同理,②也类似:如果一维搜索的步长α太小了,那么我们的搜索类似于在原地打转,可能也是在浪费时间和精力。

    文章来源:http://www.codelast.com/
    有了这两个指导思想,我们来看看Armijo-Goldstein准则的数学表达式:

    其中, 0<ρ<12 
    文章来源:http://www.codelast.com/
    (1)为什么要规定 ρ(0,12) 这个条件?其实可以证明:如果没有这个条件的话,将影响算法的超线性收敛性(定义看这个链接,第4条)。在这个速度至关重要的时代,没有超线性收敛怎么活啊!(开个玩笑)
    具体的证明过程,大家可以参考袁亚湘写的《最优化理论与方法》一书,我没有仔细看,我觉得对初学者,不用去管它。
    (2)第1个不等式的左边式子的泰勒展开式为:
    f(xk+αkdk)=f(xk)+αkgkTdk+o(αk) 
    去掉高阶无穷小,剩下的部分为: f(xk)+αkgkTdk 
    而第一个不等式右边与之只差一个系数 ρ 
    我们已知了 gkTdk<0 (这是 dk 为下降方向的充要条件),并且 ρ(0,12) ,因此,1式右边仍然是一个比 f(xk) 小的数,即:
    f(xk)+αkρgkTdk<f(xk) 
    也就是说函数值是下降的(下降是最优化的目标)。
    文章来源:http://www.codelast.com/
    (3)由于 ρ(0,12) 且 gkTdk<0 ( dk 是一个下降方向的充要条件),故第2个式子右边比第1个式子右边要小,即:
    αk(1ρ)gkTdk<αkρgkTdk<0 
    如果步长 α 太小的话,会导致这个不等式接近于不成立的边缘。因此,式2就保证了 α 不能太小。
    (4)我还要把很多书中都用来描述Armijo-Goldstein准则的一幅图搬出来说明一下(亲自手绘):

    文章来源:http://www.codelast.com/
    横坐标是 α ,纵坐标是 f ,表示在 xk,dk 均为常量、 α 为自变量变化的情况下,目标函数值随之变化的情况。
    之所以说 xk,dk 均为常量,是因为在一维搜索中,在某一个确定的点 xk 上,搜索方向 dk 确定后,我们只需要找到一个合适的步长 α 就可以了。
    当 x 为常量, α 为自变量时, f(x+αd) 可能是非线性函数(例如目标函数为 y=x2 时)。因此图中是一条曲线。
    右上角的 f(xk+αdk) 并不是表示一个特定点的值,而是表示这条曲线是以 α 为自变量、 xk,dk 为常量的函数图形。
    当 α=0 时,函数值为 f(xk) ,如图中左上方所示。水平的那条虚线是函数值为 f(xk) 的基线,用于与其他函数值对比。
    f(xk)+αkρgkTdk 那条线在 f(xk) 下方(前面已经分析过了,因为 gkTdk<0 ), f(xk)+αk(1ρ)gkTdk 又在 f(xk)+αkρgkTdk 的下方(前面也已经分析过了),所以Armijo-Goldstein准则可能会把极小值点(可接受的区间)判断在区间bc内。显而易见,区间bc是有可能把极小值排除在外的(极小值在区间ed内)。
    所以,为了解决这个问题,Wolfe-Powell准则应运而生。
    文章来源:http://www.codelast.com/
    【3】Wolfe-Powell准则
    在某些书中,你会看到“Wolfe conditions”的说法,应该和Wolfe-Powell准则是一回事——可怜的Powell大神又被无情地忽略了...
    Wolfe-Powell准则也有两个数学表达式,其中,第一个表达式与Armijo-Goldstein准则的第1个式子相同,第二个表达式为:

    这个式子已经不是关于函数值的了,而是关于梯度的。
    此式的几何解释为:可接受点处的切线斜率≥初始斜率的 σ 倍
    上面的图已经标出了 σgTkdk 那条线(即 e 点处的切线),而初始点( α=0 的点)处的切线是比 e 点处的切线要“斜”的,由于 σ(ρ,1) ,使得 e 点处的切线变得“不那么斜”了——不知道这种极为通俗而不够严谨的说法,是否有助于你理解。
    这样做的结果就是,我们将极小值包含在了可接受的区间内( e 点右边的区间)。
    文章来源:http://www.codelast.com/
    Wolfe-Powell准则到这里还没有结束!在某些书中,你会看到用另一个所谓的“更强的条件”来代替(3)式,即:

    这个式子和(3)式相比,就是左边加了一个绝对值符号,右边换了一下正负号(因为 gTkdk<0 ,所以 σgTkdk>0 )。
    这样做的结果就是:可接受的区间被限制在了 [b,d] 内,如图:

    图中红线即为极小值被“夹击”的生动演示。

    展开全文
  • 基于深度学习时间序列分类研究综述[论文阅读]

    万次阅读 多人点赞 2019-03-15 10:22:22
    时间序列分类研究简介核心论文写在前面的话原文概述摘要1引言2背景2.1时间序列分类2.2基于深度学习的时间序列分类2.3生成性或判别性方法生成模型判别模型3方法3.1为什么判别的端到端方法?3.2方法比较完全卷积神经...
  • 多线阵列激光三扫描系统及多线阵列激光三扫描方法
  • 大家在进行商品编码选择时,...、税收分类编码简介1税收分类编码是什么?商品和服务税收分类与编码是指在增值税发票升级版中,纳税人开具发票时票面上的商品应与税务总局核定的税收编码进行关联,按分类编码上注明...
  • 通常,池化操作为1-max池函数(Boureau et al.,2010b),它从每个feature map生成一个一维特性。或者,可以将池化操作修改为在特征映射中在相同大小的区域内对每个区域对应的显著特征进行编码。每个滤波器映射生成的...
  • fastText原理和文本分类实战,看这篇就够了

    万次阅读 多人点赞 2019-03-19 11:19:48
    、fastText简介 fastText是个快速文本分类算法,与基于神经网络的分类算法相比有两大优点: 1、fastText在保持高精度的情况下加快了训练速度和测试速度 2、fastText不需要预训练好的词向量,fastText会自己训练...
  • 细粒度图像分类(FGVC)---综述

    万次阅读 多人点赞 2019-04-28 16:28:02
    、概述 什么是细粒度图像分类 细粒度图像分类问题是对大下的子类进行识别。细粒度图像分析任务相对通用图像(General/Generic Images)任务的区别和难点在于其图像所属类别的粒度更为精细。 以图1为例,通用图像...
  • 论文地址高光谱遥感影像分类研究进展南大、矿大、河海15年的文章比较老,科普文,但是理论总结和语言用词都比较扎实 在总结分类策略的基础上,重点从以核方法(SVM)为代表的新型分类器设计、特征挖掘、空间-光谱...
  • 分类:K最邻近分类

    千次阅读 2018-10-24 16:03:27
    最邻近分类是分类方法中比较简单的种,下面对其进行介绍 1.模型结构说明 最邻近分类模型属于“基于记忆”的非参数局部模型,这种模型并不是立即利用训练数据建立模型,数据也不再被函数和参数所替代。在对测试...
  • python 中文文本分类

    万次阅读 多人点赞 2017-02-06 11:31:21
    哪怕只捐1毛钱,也是种心意。通过这样的方式,也可以培养整个行业的知识产权意识。我可以和您建立更多的联系,并且在相关领域提供给您更多的资料和技术支持。 赏金将用于拉萨儿童图书公益募捐 手机扫扫,即可...
  • 神经网络架构搜索(Neural Architecture Search)杂谈

    万次阅读 多人点赞 2018-12-02 13:24:26
    超参数的自动搜索优化是个古老的话题了。深度学习前它主要针对传统机器学习算法的参数,比较经典的方法有random search, grid search,Bayesian optimization,Reinforcement learning, Evolutionar...
  • 自然语言处理——文本分类概述

    万次阅读 多人点赞 2018-11-05 19:50:59
    但是要依据一些规则手工地对互联网上的每个页面进行分类,是不可能的。因此,基于计算机的高效自动分类技术成为人们解决互联网应用难题的迫切需求。与分类技术类似的是聚类,聚类不是将数据匹配到预先定...
  • 文本数据的机器学习自动分类方法

    万次阅读 2017-10-08 21:45:00
    ...本文为第部分,着重介绍文本预处理以及特征抽取的方法。...随着互联网技术的迅速发展与普及,如何对...而在这些数据中,文本数据又是数量最大的一类。“文本分类是指在给定分类体系下,根据文本内容自动确
  • 在本节中,我们将三单人姿势估计方法分为无模型和基于模型两。 3.1.1. 无模型方法 无模型方法不使用人体模型作为预测目标或中间线索。它们大致可分为两:1)直接将图像映射到三姿态;2)根据二姿态估计...
  • 物体形状识别方法(二)

    千次阅读 2016-11-30 09:07:05
    摘 要 针对模式识别中二物体的形状识别问题,以二值图像中的物体形状为主要研究对象,依次从特征提取、分类器设计两个主要层面对形状识别方法进行了全面综述,并分析了国内外研究现状,特别是近年来所取得的最新...
  • 近来在同时做个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类领域特别是应用深度学习解决文本分类的相关的思路、做法和部分实践的经验。...
  • 重建(知识点详细解读、主要流程)

    万次阅读 多人点赞 2021-12-15 13:36:37
    根据采集设备是否主动发射测量信号,分为两:基于主动视觉理论和基于被动视觉的三重建方法。 主动视觉三重建方法:主要包括结构光法和激光扫描法。 被动视觉三重建方法:被动视觉只使用摄像机采集三场景...
  • Python中取整的方法小结

    千次阅读 2021-04-27 03:42:49
    Python中取整的方法小结前言对每位程序员来说,在编程过程中数据处理是不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理。取整的方式则包括向下取整、四舍五入、向上取整...
  • 目前,计算机视觉是深度学习领域最热门的研究领域之。计算机视觉实际上是个跨领域的交叉学科,包括计算机科学(图形、算法、理论、系统、体系结构),数学(信息检索、机器... 这里给出了个比较严谨的定义:...
  • 近日,Shiyu Mou 在 Medium 上发表了篇文章,对五种用于图像分类的方法(KNN、SVM、BP 神经网络、CNN 和迁移学习)进行了实验比较,该研究的相关数据集和代码也已经被发布在了 GitHub 上。项目地址:...
  • 条码技术——从一维到二维 从条形码到二维码 生活中,我们经常能够看到二维码,到处充斥着“扫一扫”,但是,你是否想过,小小的二维码里面藏着哪些信息?二维码又是如何被创造出的? 条码技术的诞生从...
  • 智慧警务三PGIS及标三实采集、展示平台 智慧警务标三实及三PGIS采集、展示平台是由公安部门主导,规范标准地址、将人口、房屋、单位的详细情况录入信息系统,实现信息共享互通,为施政提供信息支撑。标...
  • 数灾难问题及数据分析中的降维方法一数灾难(curse of dimentionality)降维的主要方法1. 投影(Projection)2. 流形学习二、降维方法1. 什么是降维2. 为什么要降维3. PCA主成分分析(Principal components ...
  • 3D点云点云分割、目标检测、分类

    千次阅读 2020-06-03 07:02:17
    3D点云点云分割、目标检测、分类 原标题Deep Learning for 3D Point Clouds: A ...3D点云学习( Point Clouds)作为近年来的研究热点之,受到了广泛关注,每年在各大会议上都有大量的相关文章发表。当前,点云上的深
  • 图像分类

    万次阅读 多人点赞 2018-01-21 15:31:47
    Caltech-101是第个规模较大的一般物体识别标准数据库,除背景类别外,它一共包含了 101物体,共 9146 张图像,每中图像数目从 40 到800 不等,图像尺寸也达到 300 左右。Caltech-101是以物体为中心构建的...
  • 聚类及聚类算法的分类

    万次阅读 多人点赞 2018-08-29 23:08:39
    聚类就是按照某个特定标准(如距离准则)把个数据集分割成不同的或簇,使得同个簇内的数据对象的相似性尽可能大,同时不在同个簇中的数据对象的差异性也尽可能地大。即聚类后同一类的数据尽可能聚集到一起,...
  • 、CNN文本分类简介 文本分类是NLP领域的个重要子任务,文本分类的目标是自动的将文本打上已经定义好的标签,常见的文本分类任务有: 用户评论的情感识别 垃圾邮件过滤 用户查询意图识别 新闻分类 由此看出...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,008
精华内容 29,603
关键字:

一维搜索方法分几类

友情链接: VB6-example.rar