精华内容
下载资源
问答
  • 梯度下降法(gradient descent)是求解无约束优化问题一种常用方法,实现简单优点。梯度下降法是迭代算法,每一步需要求解目标函数梯度向量。 二.应用场景 1.给定许多组数据(xi, yi),xi (向量)...

    在学习机器学习的过程中梯度下降这个词出现的频率很高,在运用的过程中不能很好的理解算法的意思,于是从网路上查找了一些资料。
    一.介绍
    梯度下降法(gradient descent)是求解无约束最优化问题的一种常用方法,有实现简单的优点。梯度下降法是迭代算法,每一步需要求解目标函数的梯度向量。

    二.应用场景
    1.给定许多组数据(xi, yi),xi (向量)为输入,yi为输出。设计一个线性函数y=h(x)去拟合这些数据。
    2.感知机:感知机(perceptron)为二类分类的线性分类模型。 输入为实例的特征向量,输出为实例的类别, 取+1 和 -1 二值。 下面分别对这两种应用场景进行分析。

    1.对于第一种场景:

    既然是线性函数,在此不妨设为 h(x) = w0x0 + w1x1。此时我们遇到的问题就是如何确定w0和w1这两个参数,即w=(w0,w1)这个向量。
    既然是拟合,则拟合效果可以用平方损失函数:E(w)=∑ [ h(x)- y ] ^2 / 2 来衡量。

    其中w是权重二维向量,x是输入二维向量,x和y都是训练集的数据,即已知。至于后面除于2只是为了之后的推导过程中对E求导时候可以消除系数,暂时可以不管。
    因此该问题变成了求E(w)最小值的无约束最优化问题

    下面分别对这两种应用场景进行分析。

    1).对于第一种场景:

    既然是线性函数,在此不妨设为 h(x) = w0x0 + w1x1。

    此时我们遇到的问题就是如何确定w0和w1这两个参数,即w=(w0,w1)这个向量。

    既然是拟合,则拟合效果可以用平方损失函数:E(w)=∑ [ h(x)- y ] ^2 / 2 来衡量。

    其中w是权重二维向量,x是输入二维向量,x和y都是训练集的数据,即已知。

    至于后面除于2只是为了之后的推导过程中对E求导时候可以消除系数,暂时可以不管。

    因此该问题变成了求E(w)最小值的无约束最优化问题

    2).对于第二种场景:

    假设输入空间(特征向量)为x,输出空间为y = {+1, -1},由输入空间到输出空间的如下函数

    f(x) = sign(w · x + b) w∈Rn 其中 w 叫做权值或者权值向量, b叫做偏振。w · x 表示向量w和x的点积

    感知机sign(w · x + b)的损失函数为 L(w, b) = -∑yi(w · xi + b) x ∈M, M为误分类点集合。

    因此该问题变成了求L(w, b)最小值的无约束最优化问题

    三.梯度下降方法

    梯度其实就是高数求导方法,对E这个公式针对每个维数(w0,w1)求偏导后的向量▽E(w)=(∂E/∂w0,∂E/∂w1)

    1. 对于第一种场景

      对E这个公式针对每个维数(w0,w1)求偏导后的向量▽E(w)=(∂E/∂w0,∂E/∂w1)

      梯度为最陡峭上升的方向,对应的梯度下降的训练法则为: w=w-η▽E(w) 这里的η代表学习速率,决定梯度下降搜索中的步长 。

      上式的w是向量,即可用将该式写成分量形式为:wi=wi-η*∂E/∂wi

      现在关键就使计算∂E/∂wi:

      推导过程很简单,书上写的很详细,这里只记录结论(其实就是对目标函数求导):

      ∂E/∂wi=∑(h(x)-y)*(xi)

      这里的∑是对样本空间,即训练集进行一次遍历,耗费时间较大,可以使用梯度下降的随机近似:

      1. 对于第二种场景

        感知机学习算法是误分类驱动的,具体采用随机梯度下降方法

        ▽wL(w, b) = -∑yixi

        ▽bL(w, b) = -∑yi

        随机选取一个误分类点(xi, yi), 对w, b进行更新:

        w <—— w - η * (-yixi)

        b <—— b - η * (-yi) 式中η(0 < η <= 1)是步长,在统计学习中又称为学习率(learning rate)

    四.随机梯度下降的随机近似:

    既然是随机近似,则顾名思义,肯定是用近似方法来改善梯度下降时候的时间复杂度问题。

    正如上所说,在∂E/∂wi=∑(h(x)-y)(xi) 的时候∑耗费了大量的时间,特别是在训练集庞大的时候。
    所以肯定有人会猜想,如果把求和去掉如何,即变为∂E/∂wi=(h(x)-y)
    (xi)。
    幸运的是,猜想成立了。

    只是要注意一下标准的梯度下降和随机梯度下降的区别:
       1.标准下降时在权值更新前汇总所有样例得到的标准梯度,随机下降则是通过考察每次训练实例来更新。

    2.对于步长 η的取值,标准梯度下降的η比随机梯度下降的大。

    因为标准梯度下降的是使用准确的梯度,理直气壮地走,随机梯度下降使用的是近似的梯度,就得小心翼翼地走,怕一不小心误入歧途南辕北辙了。

    3.当E(w)有多个局部极小值时,随机梯度反而更可能避免进入局部极小值中。

    四.代码及实例:

    1. 对于第一种场景
    
    
    
         
     1 /*
     2  * 随机梯度下降实验:
     3  * 训练集输入为矩阵:
     4  * 1,`4
     5  * 2,5
     6  * 5,1
     7  * 4,2
     8  * 输出结果为:
     9  * 19
    10  * 26
    11  * 19
    12  * 20
    13  * 需要参数为 w:
    14  * ?
    15  * ?
    16  *
    17  * 目标函数:y=w0*x0+w1*x1;
    18  *
    19  * */
    20 #include<stdio.h>
    21 #include <stdlib.h>
    22 int main()
    23 {
    24     double matrix[4][2]={{1,4},{2,5},{5,1},{4,2}};
    25     double result[4]={19,26,19,20};
    26     double w[2]={0,0};//初始为零向量
    27     double loss=10.0;
    28     const double n = 0.01;        //步长 
    29     for(int i=0;i<100&&loss>0.001;i++)
    30     {
    31         double error_sum=0;
    32         int j=i%4;
    33         { 
    34             double h=0;
    35             for(int k=0;k<2;k++)
    36             {
    37                 h+=matrix[j][k]*w[k];
    38             }
    39             error_sum = h - result[j];
    40             for(int k=0;k<2;k++)
    41             {
    42                 w[k]-= n * (error_sum) * matrix[j][k];//这里是关键
    43             }
    44          }
    45         printf("%lf,%lf\n",w[0],w[1]);
    46         double loss=0;
    47         for(int j=0;j<4;j++)
    48         {
    49             double sum=0;
    50             for(int k=0;k<2;k++)
    51             {
    52                 sum += matrix[j][k] * w[k];
    53         }
    54         loss += (sum - result[j]) * (sum-result[j]);
    55      }
    56         printf("%lf\n",loss);
    57     }
    58 
    59     system("pause");
    60     return 0;
    61 }
    

    结果可以得出 w0=3,w1=4。

    1. 对于第二种场景
     1 /*
     2  * 基于感知机的随机梯度下降实验:  《统计学习方法》- p29-例2.1 
     3  * 训练集输入为矩阵:
     4  * 3,3
     5  * 4,3
     6  * 1,1
     7  * 输出结果为(表示实例的分类):
     8  * 1 
     9  * 1
    10  * -1 
    11  * 需要参数为 w:
    12  * ?
    13  * ?
    14  *
    15  * 目标函数:y = w0 * x0 + w1 * x1 + b; 
    16  *
    17  * */
    18 #include<stdio.h>
    19 #include <stdlib.h>
    20 int main()
    21 {
    22     double x[3][2]={{3,3},{4,3},{1,1}};
    23     double y[4]={1, 1, -1};
    24     double w[2]={0,0};//初始为零向量
    25     double b = 0;
    26     int j;
    27     const double n = 1;        //步长 
    28  
    29     while(1)
    30     {
    31         for(j=0;j<3;j++)
    32         {
    33             if(y[j] * (w[0] * x[j][0] + w[1] * x[j][1] + b) <= 0)
    34                 break; 
    35         }
    36         if(j < 3)
    37         {
    38             for(int k=0;k<2;k++)
    39                 w[k] += n * y[j] * x[j][k];//这里是关键
    40             b += n * y[j];
    41          }
    42          else
    43             break;
    44         printf("%d :%lf,%lf %lf\n", j, w[0], w[1], b);
    45         
    46     }
    47 
    48     system("pause");
    49     return 0;
    50 }
    
    
    
    

    结果可以得出 w0=1,w1=1, b = -3 。

    展开全文
  • 粒子群优化算法源码下载

    热门讨论 2012-12-30 13:16:22
    对于无约束优化问题,本文直接用目标函数作为适应度函数,采用实数编码。对于约束优化问题,本文采用一种惩罚函数作为粒子群优化算法适应度函数。 对两种问题分别应用了不同测试函数对其进行了测试,结果表明了...
  •  梯度下降法(gradient descent)是求解无约束优化问题一种常用方法,实现简单优点。梯度下降法是迭代算法,每一步需要求解目标函数梯度向量。    二.应用场景  1.给定许多

    这几天在看《统计学习方法》这本书,发现 梯度下降法 在 感知机 等机器学习算法中有很重要的应用,所以就特别查了些资料。   

     

       一.介绍

          梯度下降法(gradient descent)是求解无约束最优化问题的一种常用方法,有实现简单的优点。梯度下降法是迭代算法,每一步需要求解目标函数的梯度向量。

     

       二.应用场景

         1.给定许多组数据(xi, yi),x(向量)为输入,yi为输出。设计一个线性函数y=h(x)去拟合这些数据。

         2.感知机:感知机(perceptron)为二类分类的线性分类模型。 输入为实例的特征向量,输出为实例的类别, 取+1 和 -1 二值。

     

         下面分别对这两种应用场景进行分析。

         1.对于第一种场景:

            既然是线性函数,在此不妨设为 h(x) = w0*x0 + w1*x1。

            此时我们遇到的问题就是如何确定w0和w1这两个参数,即w=(w0,w1)这个向量。

            既然是拟合,则拟合效果可以用平方损失函数:E(w)=∑ [ h(x)- y ] ^2 / 2 来衡量。

            其中w是权重二维向量,x是输入二维向量,x和y都是训练集的数据,即已知。

            至于后面除于2只是为了之后的推导过程中对E求导时候可以消除系数,暂时可以不管。

            因此该问题变成了求E(w)最小值的无约束最优化问题

          2.对于第二种场景:

            假设输入空间(特征向量)为x,输出空间为y = {+1, -1},由输入空间到输出空间的如下函数

                            f(x) = sign(w · x + b)       w∈Rn     其中 w 叫做权值或者权值向量, b叫做偏振。w · x 表示向量w和x的点积

             感知机sign(w · x + b)的损失函数为  L(w, b) = -∑yi(w · xi + b)              x ∈M, M为误分类点集合。

            因此该问题变成了求L(w, b)最小值的无约束最优化问题

     

       三.梯度下降方法

           梯度其实就是高数求导方法,对E这个公式针对每个维数(w0,w1)求偏导后的向量▽E(w)=(∂E/∂w0,∂E/∂w1)

           1. 对于第一种场景

              对E这个公式针对每个维数(w0,w1)求偏导后的向量▽E(w)=(∂E/∂w0,∂E/∂w1)

              梯度为最陡峭上升的方向,对应的梯度下降的训练法则为: w=w-η▽E(w)     这里的η代表学习速率,决定梯度下降搜索中的步长 。

              上式的w是向量,即可用将该式写成分量形式为:wi=wi-η*∂E/∂wi

              现在关键就使计算∂E/∂wi:

              推导过程很简单,书上写的很详细,这里只记录结论(其实就是对目标函数求导):

              ∂E/∂wi=∑(h(x)-y)*(xi)

              这里的∑是对样本空间,即训练集进行一次遍历,耗费时间较大,可以使用梯度下降的随机近似:

           2. 对于第二种场景

               感知机学习算法是误分类驱动的,具体采用随机梯度下降方法

               ▽wL(w, b) =   -∑yixi       

               ▽bL(w, b) =   -∑yi

               随机选取一个误分类点(xi,   yi), 对w, b进行更新:

                w  <——   w - η * (-yixi)

                b  <——    b - η * (-yi)                 式中η(0 < η <= 1)是步长,在统计学习中又称为学习率(learning rate)

      

       四.随机梯度下降的随机近似:

          既然是随机近似,则顾名思义,肯定是用近似方法来改善梯度下降时候的时间复杂度问题。

          正如上所说,在∂E/∂wi=∑(h(x)-y)*(xi) 的时候∑耗费了大量的时间,特别是在训练集庞大的时候。

          所以肯定有人会猜想,如果把求和去掉如何,即变为∂E/∂wi=(h(x)-y)*(xi)。

          幸运的是,猜想成立了。

          只是要注意一下标准的梯度下降和随机梯度下降的区别:

        1.标准下降时在权值更新前汇总所有样例得到的标准梯度,随机下降则是通过考察每次训练实例来更新。

        2.对于步长 η的取值,标准梯度下降的η比随机梯度下降的大。

        因为标准梯度下降的是使用准确的梯度,理直气壮地走,随机梯度下降使用的是近似的梯度,就得小心翼翼地走,怕一不小心误入歧途南辕北辙了。

        3.当E(w)有多个局部极小值时,随机梯度反而更可能避免进入局部极小值中。

     四.代码及实例:

      1. 对于第一种场景

             

    复制代码
    复制代码
     1 /*
     2  * 随机梯度下降实验:
     3  * 训练集输入为矩阵:
     4  * 1,4
     5  * 2,5
     6  * 5,1
     7  * 4,2
     8  * 输出结果为:
     9  * 19
    10  * 26
    11  * 19
    12  * 20
    13  * 需要参数为 w:
    14  * ?
    15  * ?
    16  *
    17  * 目标函数:y=w0*x0+w1*x1;
    18  *
    19  * */
    20 #include<stdio.h>
    21 #include <stdlib.h>
    22 int main()
    23 {
    24     double matrix[4][2]={{1,4},{2,5},{5,1},{4,2}};
    25     double result[4]={19,26,19,20};
    26     double w[2]={0,0};//初始为零向量
    27     double loss=10.0;
    28     const double n = 0.01;        //步长 
    29     for(int i=0;i<100&&loss>0.001;i++)
    30     {
    31         double error_sum=0;
    32         int j=i%4;
    33         { 
    34             double h=0;
    35             for(int k=0;k<2;k++)
    36             {
    37                 h+=matrix[j][k]*w[k];
    38             }
    39             error_sum = h - result[j];
    40             for(int k=0;k<2;k++)
    41             {
    42                 w[k]-= n * (error_sum) * matrix[j][k];//这里是关键
    43             }
    44          }
    45         printf("%lf,%lf\n",w[0],w[1]);
    46         double loss=0;
    47         for(int j=0;j<4;j++)
    48         {
    49             double sum=0;
    50             for(int k=0;k<2;k++)
    51             {
    52                 sum += matrix[j][k] * w[k];
    53         }
    54         loss += (sum - result[j]) * (sum-result[j]);
    55      }
    56         printf("%lf\n",loss);
    57     }
    58 
    59     system("pause");
    60     return 0;
    61 }
    复制代码
    复制代码

     结果可以得出  w0=3,w1=4。

     1. 对于第二种场景
    复制代码
    复制代码
     1 /*
     2  * 基于感知机的随机梯度下降实验:  《统计学习方法》- p29-例2.1 
     3  * 训练集输入为矩阵:
     4  * 3,3
     5  * 4,3
     6  * 1,1
     7  * 输出结果为(表示实例的分类):
     8  * 1 
     9  * 1
    10  * -1 
    11  * 需要参数为 w:
    12  * ?
    13  * ?
    14  *
    15  * 目标函数:y = w0 * x0 + w1 * x1 + b; 
    16  *
    17  * */
    18 #include<stdio.h>
    19 #include <stdlib.h>
    20 int main()
    21 {
    22     double x[3][2]={{3,3},{4,3},{1,1}};
    23     double y[4]={1, 1, -1};
    24     double w[2]={0,0};//初始为零向量
    25     double b = 0;
    26     int j;
    27     const double n = 1;        //步长 
    28  
    29     while(1)
    30     {
    31         for(j=0;j<3;j++)
    32         {
    33             if(y[j] * (w[0] * x[j][0] + w[1] * x[j][1] + b) <= 0)
    34                 break; 
    35         }
    36         if(j < 3)
    37         {
    38             for(int k=0;k<2;k++)
    39                 w[k] += n * y[j] * x[j][k];//这里是关键
    40             b += n * y[j];
    41          }
    42          else
    43             break;
    44         printf("%d :%lf,%lf %lf\n", j, w[0], w[1], b);
    45         
    46     }
    47 
    48     system("pause");
    49     return 0;
    50 }
    复制代码
    复制代码

     结果可以得出  w0=1,w1=1, b = -3 。

    展开全文
  • 机器学习优化算法总结

    千次阅读 2015-11-15 21:48:07
    很多机器学习应用问题都可以转化为一个无约束优化问题。针对此最优化问题,解决这个问题通用做法是随机给定一个初始,通过迭代,在每次迭代中计算目标函数下降方向并更新,直到目标函数稳定在最小点。 不同...

    很多机器学习应用问题都可以转化为一个无约束优化问题。针对此最优化问题,解决这个问题的通用做法是随机给定一个初始的,通过迭代,在每次迭代中计算目标函数的下降方向并更新,直到目标函数稳定在最小的点。

    不同的优化算法的区别就在于目标函数下降方向的计算。下降方向是通过对目标函数在当前的下求一阶倒数(梯度,Gradient)和求二阶导数(海森矩阵,Hessian Matrix)得到。常见的算法有梯度下降法、牛顿法、拟牛顿法。

    (1)梯度下降法(Gradient Descent)

    梯度下降法直接采用目标函数在当前的梯度的反方向作为下降方向:,其中为目标函数的梯度。

    (2)牛顿法(Newton Methods)

    牛顿法是在当前下,利用二次泰勒展开近似目标函数,然后利用该近似函数来求解目标函数的下降方向:

    其中为目标函数处的海森矩阵。这个搜索方向也称作牛顿方向。

    (3)拟牛顿法(Quasi-Newton Methods)

    l拟牛顿法只要求每一步迭代中计算目标函数的梯度,通过拟合的方式找到一个近似的海森矩阵用于计算牛顿方向。最早的拟牛顿法是DFP(1959年由W. C. Davidon提出,并由R. Fletcher和M. J. D. Powell进行完善)。DFP继承了牛顿法收敛速度快的优点,并且避免了牛顿法中每次迭代都需要重新计算海森矩阵的问题,只需要利用梯度更新上一次迭代得到的海森矩阵,但缺点是每次迭代中都需要计算海森矩阵的逆,才能得到牛顿方向。

    BFGS是由C. G. Broyden, R. Fletcher, D. Goldfarb和D. F. Shanno各自独立发明的一种方法,只需要增量计算海森矩阵的逆,避免了每次迭代中的矩阵求逆运算。BFGS中牛顿方向表示为:

    L-BFGS(Limited-memory BFGS)则是解决了BFGS中每次迭代后都需要保存N*N阶海森逆矩阵的问题,只需要保存每次迭代的两组向量和一组标量即可。

    展开全文
  • 往往是带多约束优化问题,针对约束优化问题提出了基于双群体差分进化 算法,并将一种多目标进化算法用于灰度图像彩色图像色调处理之中;最后, 给出了一种用来搜寻多峰函数所有峰值点有效算法及评价多峰...
  •  笔者在写这本书的时候,翻看了很多当前国内数据库方面的书籍,发现写性能优化的书并不多,特别是从工作经验思路上来讨论性能方面的书,更是少之又少,这些因素让笔者思考要写这样一本书,这也算是这本书的一个...
  • 我用julia JUMP求解微电网中机组组合问题(本质上是一个混合整数线性规划问题),调用CPLEX解法器,优化结果(储能功率)时候会出现意义锯齿波,分析目标函数和约束条件,这样结果是不应该出现。...
  • 机器学习中数学

    2018-06-04 18:00:31
    无约束优化问题一般常用迭代算法,常用的迭代算法梯度下降法,牛顿法拟牛顿法。迭代公式为: 其中称为搜索方向,称为步长,为第k次迭代后x的值。不同的迭代算法的区别主要在搜索方向的确定上,而如何确定步长...
  •  比较用户对象——对表格定义、视图、程序单元等作出修改后,将这些修改传递给其他数据库用户或检查修改前后的区别将是非常有用的。这也许是一个其他的开发环境,如测试环境或制作环境等。而比较用户对象功能则允许...
  •  比较用户对象——对表格定义、视图、程序单元等作出修改后,将这些修改传递给其他数据库用户或检查修改前后的区别将是非常有用的。这也许是一个其他的开发环境,如测试环境或制作环境等。而比较用户对象功能则允许...
  • 感谢内容提供者:吴迪网络工作室 文章目录一、管理经济学研究对象1....有约束的优化三、市场经济条件下企业1.企业概念与特征a.企业概念b.企业特征2.企业理论a.交易成本3.企业利润与决策a..

    感谢内容提供者:吴迪网络工作室

    一、管理经济学的研究对象

    1.管理经济学的定义

    a.定义

    在这里插入图片描述

    b.定义的俩个要点

    在这里插入图片描述

    2.决策的基本过程

    a.决策的基本过程

    在这里插入图片描述

    b.正确决策的条件

    在这里插入图片描述

    3.管理经济学与微观经济学的关系

    a.微观经济学

    在这里插入图片描述
    在这里插入图片描述

    b.管理经济学与微观经济学的区别

    在这里插入图片描述

    4.管理经济学的主要内容

    a.管理经济学的主要内容

    在这里插入图片描述

    二、管理经济学的基本分析方法

    在这里插入图片描述

    1.无约束的最优化

    在这里插入图片描述

    a.边际与边际分析

    在这里插入图片描述
    在这里插入图片描述

    b.最大值和最小值

    在这里插入图片描述
    在这里插入图片描述

    2.有约束的最优化

    在这里插入图片描述

    三、市场经济条件下的企业

    在这里插入图片描述

    1.企业的概念与特征

    a.企业的概念

    在这里插入图片描述

    b.企业的特征

    在这里插入图片描述

    2.企业理论

    在这里插入图片描述

    a.交易成本

    在这里插入图片描述

    3.企业利润与决策

    a.企业利润

    在这里插入图片描述
    在这里插入图片描述

    b.机会成本

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    下一篇:管理经济学【二】之 供求分析

    展开全文
  • 前 言本书讲述了在互联网上传送数据“盒子”内部是如何工作,这些“盒子”不同名称:网桥、路由器、交换机集线器。本书也讲述了连接到网络上设备。在这个领域不少混乱。大多数术语定义不准确,...
  • LINGO11破解版

    2013-04-16 19:09:34
    教学版发行版主要区别在于对优化问题规模(变量和约束的个数)不同限制。LINGO软件包多种版本,但其软件内核使用方法类似。详细情况可上网访问LINGO 软件网站:LINDO LINDOLINGO是美国LINDO系统...
  •  比较用户对象——对表格定义、视图、程序单元等作出修改后,将这些修改传递给其他数据库用户或检查修改前后的区别将是非常有用的。这也许是一个其他的开发环境,如测试环境或制作环境等。而比较用户对象功能则允许...
  • 梯度下降

    2020-09-27 21:03:12
    梯度下降法(gradient descent),又名最速下降法(steepest descent)是求解无约束优化问题最常用方法,它是一种迭代方法,每一步主要操作是求解目标函数梯度向量,将当前位置负梯度方向作为搜索方向...
  • 遗传退火进化算法

    热门讨论 2008-06-19 01:37:36
    可用于一般优化问题,求解无约束的或带线性约束连续函数全局最小值。 <br>首先对传统遗传算法模拟退火算法进行改进,然后将模拟退火算法引入了遗传算法,结合两种算法优点,得到一种新遗传退火...
  • 可按节点分块对称性反映功互等关系,奇异性说明单元在无约束情况下可以发生刚体位移。由于每个节点具有相同自由度,因此单元矩阵可按节点分成若干个相似子块。 功互等定理:对于线弹性体,作用在同一构件上...
  • PLSQL Developer 8.0.3.1510 简体中文绿色破解版

    万次下载 热门讨论 2010-07-15 16:36:07
     比较用户对象——对表格定义、视图、程序单元等作出修改后,将这些修改传递给其他数据库用户或检查修改前后的区别将是非常有用的。这也许是一个其他的开发环境,如测试环境或制作环境等。而比较用户对象功能则允许...
  • [Oracle.11g权威指南(第2版)].谷长勇.扫描版.pdf

    千次下载 热门讨论 2013-06-23 21:16:09
    8.2.1 SQL语句、PL/SQL块与SQL*Plus命令的区别 199 8.2.2 编辑命令 200 8.2.3 保存命令 202 8.2.4 加入注释 203 8.2.5 运行命令 205 8.2.6 编写交互命令 206 8.2.7 使用绑定变量 213 8.2.8 跟踪语句 216 8.3 使用SQL...
  • ACM算法模版大集合

    2009-10-15 23:18:39
    动态规划记忆化搜索在思考方式上的区别 最长子序列系列问题 最长不下降子序列 最长公共子序列 一类NP问题的动态规划解法 树型动态规划 背包问题 动态规划的优化 四边形不等式 函数的凸凹性 状态...
  • CruiseYoung提供详细书签电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐) 基本信息 原书名: Pro Oracle SQL 原出版社: ...
  • CruiseYoung提供详细书签电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《Oracle SQL高级编程》源代码 对应书籍资料见: Oracle SQL高级编程(资深Oracle专家力作,...
  • 除本书外,还著广受好评《Oracle专家高级编程》《Oracle高效设计》。 作者: Thomas Kyte  Thomas Kyte是Oracle公司核心技术集团副总裁,从Oracle 7.0.9版本开始就一直任职于Oracle公司,不过,其实他从...
  • <p>YUIjQuery的最大区别就是体系的区别,对于庞大的淘系业务,只有体系化的技术方案才能保证研发效率工作流的稳定,保证线上质量用户体验。YUI体系在传统库的基础上,涵盖了...
  • PL/SQL Developer v8.0.zip

    2019-07-17 17:29:59
    比较用户对象——对表格定义、视图、程序单元等作出修改后,将这些修改传递给其他数据库用户或检查修改前后的区别将是非常有用的。这也许是一个其他的开发环境,如测试环境或制作环境等。而比较用户对象功能则允许您...

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

有约束优化和无约束优化的区别