2017-08-23 18:16:30 u014675538 阅读数 5654
  • Python机器学习与数据挖掘day4

    尹成老师带你步入Python语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以Python语言为核心,完整精彩的演练了线性回归处理销售与广告关系数据提取数据规律、岭回归与拉格朗日回归处理销售与广告关系提取数据规律、逻辑回归进行数据分类、人脸数据进行预处理、回归算法预测人脸以及各种精彩的小项目等,非常适合大家学习!

    217 人正在学习 去看看 尹成

1.引言

本篇博客主要总结了拉格朗日乘子和KTT条件在机器学习中求解最优值的原理,博主尽量举点小例子帮助大家一起共同学习。

2.拉格朗日和KKT作用

我们在求解问题时,经常会遇到一些在约束条件下求解函数的。
在有等式约束条件下,我们选用拉格朗日乘子;
在有不等式约束条件下,选用KKT方法求解最优解。
因此我们可以将KKT条件看成是拉格朗日乘子的泛化。

3.求解最优问题的集中形式

通常我们需要求解的最优化问题有如下几类:

  • 无约束条件下求最优值
    minf(x,y)
  • 在等式条件下求解最优值
    minf(x,y)
    s.t...g(x,y)=c
  • 在不等式条件下求解最优值
    minf(x,y)
    s.tg(x)<=0,h(x)<=0

4.求解不同最优问题方法

4.1无约束条件下的最优值求解

无约束条件下的函数f(x,y)求解最大或者最小值,一般求该函数对各个参数的偏导数,令偏导数为0,求解得到的x0,y0即为在该条件下可以使函数f(x,y)最优。

αf(x,y)/αx=0

αf(x,y)/αy=0

这样求解的首先需要保证函数f(x,y)为凸函数。

4.2 等式条件下的最优值求解(拉格朗日乘子)

假设我们需要求解的函数为f(x,y)的最优值,同时需要满足条件 g(x,y)=c,因此问题就转化为,在 g(x,y)=c条件下,求解函数f(x,y)的最优值。函数f(x,y)=d在x,y平面上面具有一些等高线,如下图所示
这里写图片描述
g(x,y)=c是一条红色的曲线,那么我们在什么样的情况下可以求出他的最优值呢,我们发现函数g(x,y)=c会与f(x,y)=d相交,那么交点是不是最优值呢,我们以前知识学过,两个函数的交点说明,是两个函数共同的可行解。那最优点怎样求取呢,我们可以更改d的大小,我们得到一系列的等高线。红色曲线与函数f(x,y)=d的交点就是最优解。
而拉格朗日乘子就是解决这样问题的,通过引入一个λ约束条件g(x,y)=c组合得到一个新的函数,这个新函数与目标函数f(x,y),得到最终需要优化函数。

L(x,y,λ)=f(x,y)+λ[g(x,y)c]

接下来就是求解函数L(x,y,λ)对各个参数的偏导数,并令各个偏导数为0,联立可以求出三个参数x,y,λ,代入原式,可以求解最优解。
αL(x,y,λ)/αx=0

αL(x,y,λ)/αy=0

αL(x,y,λ)/αλ=0

接下来举一个小例子
f(x,y)=x2y,g(x,y)=x2+y21
则可以得到

L(x,y,λ)=f(x,y)+λg(x,y)=x2y+λ(x2+y21)

对各个参数求解偏导数得到
2xy+2λx=0
x2+2λy=0
x2+y21=0

4.3不等式条件下求解最优解(KKT条件)

对KTT条件的讲解主要采用作者(xianlingmao),对作者表示感谢
对于含有不等式约束的优化问题,如何求取最优值呢?常用的方法是KKT条件,同样地,把所有的不等式约束、等式约束和目标函数全部写为一个式子L(a,b,x)=f(x)+ag(x)+bh(x),KKT条件是说最优值必须满足以下条件:

  • L(a, b, x)对x求导为零;
  • h(x) =0;
  • a*g(x) = 0;

求取这三个等式之后就能得到候选最优值。其中第三个式子非常有趣,因为g(x)<=0,如果要满足这个等式,必须a=0或者g(x)=0.
KTT满足的强对偶条件可以这样理解,我们要求minf(x), L(a,b,x)=f(x)+ag(x)+bh(x)a>=0,我们可以把f(x)写为:maxa,bL(a,b,x),为什么呢?因为h(x)=0,g(x)<=0,现在是取L(a,b,x)的最大值,a*g(x)是<=0,所以L(a,b,x)只有在a*g(x) = 0的情况下才能取得最大值,否则,就不满足约束条件,因此max_{a,b} L(a,b,x)在满足约束条件的情况下就是f(x),因此我们的目标函数可以写为 min_x max_{a,b} L(a,b,x)。如果用对偶表达式: max_{a,b} min_x L(a,b,x),由于我们的优化是满足强对偶的(强对偶就是说对偶式子的最优值是等于原问题的最优值的),所以在取得最优值x0的条件下,它满足 f(x0) = max_{a,b} min_x L(a,b,x) = min_x max_{a,b} L(a,b,x) =f(x0),我们来看看中间两个式子发生了什么事情:
f(x0) = max_{a,b} min_x L(a,b,x) = max_{a,b} min_x f(x) + a*g(x) + b*h(x) = max_{a,b} f(x0)+a*g(x0)+b*h(x0) = f(x0)

可以看到上述加黑的地方本质上是说 min_x f(x) + a*g(x) + b*h(x) 在x0取得了最小值,用fermat定理,即是说对于函数 f(x) + a*g(x) + b*h(x),求取导数要等于零,即

f(x)的梯度+a*g(x)的梯度+ b*h(x)的梯度 = 0

这就是kkt条件中第一个条件:L(a, b, x)对x求导为零。

而之前说明过,a*g(x) = 0,这时kkt条件的第3个条件,当然已知的条件h(x)=0必须被满足,所有上述说明,满足强对偶条件的优化问题的最优值都必须满足KKT条件,即上述说明的三个条件。可以把KKT条件视为是拉格朗日乘子法的泛化。

2018-12-01 20:54:47 weixin_37352167 阅读数 1011
  • Python机器学习与数据挖掘day4

    尹成老师带你步入Python语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以Python语言为核心,完整精彩的演练了线性回归处理销售与广告关系数据提取数据规律、岭回归与拉格朗日回归处理销售与广告关系提取数据规律、逻辑回归进行数据分类、人脸数据进行预处理、回归算法预测人脸以及各种精彩的小项目等,非常适合大家学习!

    217 人正在学习 去看看 尹成

  • 凸集

    如果从一个点集中任取不同的两个点 x1 和 x2 ,它们之间的线段(包括端点)上的点都属于这个点集,则称这个点集为凸集。

    比如下图中左边的是凸集,而右边不是。
    凸集

    数学定义:

    给定集合 Cx1,x2C0&lt;θ&lt;1C,x_1,x_2 ∈ C;0&lt;θ&lt;1

    如果有:θx+(1θ)yCθx+(1-θ)y∈C

    则称 CC 为凸集,θx1+(1θ)x2θx_1+(1-θ)x_2 为点 x1,x2x_1,x_2 的凸组合。

  • 凸函数

    设一函数 f:RnRf:\mathbb{R}^n→\mathbb{R},记其定义域为 D(f)D(f),如果 D(f)D(f) 是凸集,且在其中任取两个点x1,x2x_1,x_2,满足以下性质:

    f(θx1+(1θx2))θf(x1)+(1θ)f(x2)f(θx_1+(1−θx_2))≤θf(x_1)+(1−θ)f(x_2)

    那么就称 ff 为凸函数。

    几何上看:
    凸函数

    注意:这里所说的凸函数对应于考研数学中的凹函数(实际上加一个 “-” 就可以)。

  • 凸优化

    凸优化的结果一定是全局最优解。

    1. 水平子集

      假定 f(x)f(x) 是一个凸函数, 给定一个实数 αRα∈R,我们把集合 {xD(f)f(x)αx∈D(f)|f(x)≤α} 叫做αα 水平子集。

      αα 水平子集是所有满足 f(x)αf(x)≤α 的点构成的集合,且水平子集也是凸集。

      水平子集告诉我们,给凸函数添加一个上限,定义域内剩下的点构成的点集仍然是一个凸集。

    2. 仿射函数

      把形如: h(x)=Ax+bh(x)=Ax+b 的函数叫做仿射函数。

      其中,AmnA_{m*n},向量 bRmb∈Rm。直观上理解,仿射函数将一个n维空间的向量通过线性变换 AA 映射到 m 维空间,并在其基础上加上向量 bb,进行了平移。

      {xD(h)h(x)=0x∈D(h)|h(x)=0} 也是凸集。

    3. 优化

      优化,是求近似解的过程。例如:

      {x1+x2=02x1+x2=13x2+2x2=1\begin{cases} x_1 + x_2 = 0\\ 2x_1 + x_2 = 1 →此方程组无解\\ 3x_2 + 2x_2 = 1\\ \end{cases}

      但是我们可以得到一个使相差最小的解,即:

      minx1,x2(x1+x20)2+(2x1+x21)2+(3x2+2x21)2min_{x_1,x_2} (x_1 + x_2 - 0)^2 + (2x_1 + x_2 - 1)^2 + (3x_2 + 2x_2 - 1)^2

      求得和能使最小的解,即可达到三个方程同时近似。

      为了能得到近似解,我们可以使用上一篇文章介绍的:求正规方程的最小二乘解。

      而我们也可以使用约束优化方法。

    4. 约束优化

      例:
      minminf(x)=(x12)2+x2f(x) = (x_1-2)^2 + x_2
      s.ts.tc1(x)=x12x2+60,c_1(x) = x_1 - 2x_2 + 6 \geqslant 0,
         c2(x)=x1+30c_2(x)=x_1 + 3 \geqslant 0

      此时的优化,相当于在由 3 个函数 f(x)c1(x)c2(x)f(x),c_1(x),c_2(x) 共同围城的可行域中,求 f(x)f(x) 的最小值(而且一定是在 f(x)f(x) 与某一或某几个约束函数的边界上取到,即约束被激活)。

  • 拉格朗日对偶性

    根据拉格朗日对偶性,即将原始问题转化成对偶问题,从而更容易地进行函数优化。

    1. 原始问题

      假设 f(x),ci(x),hj(x)f(x),c_i(x),h_j(x)是定义在 Rn\mathbb{R}^n 上的连续可微函数,考虑约束优化问题:

      minxmin_xf(x)f(x)
      s.ts.t     ci(x)0i=1,2,,kc_i(x)\leqslant{0},i=1,2,…,k
              hj(x)=0j=1,2,,lh_j(x)=0,j=1,2,…,l

      为要求解地原始问题。

    2. 原始问题的拉格朗日函数

      L(x,α,β)==f(x)+i=1kαici(x)+j=1lβihj(x)L(x,α,β)==f(x) + \sum_{i=1}^{k}α_ic_i(x) +\sum_{j=1}^{l}β_ih_j(x)

      目标 为:最大化 L(x,α,β)L(x,α,β) ,因为在满足约束的条件下 L(x,α,β)L(x,α,β) 最大化时, L(x,α,β)L(x,α,β) 才等价于原函数 f(x)f(x)(下面将证明)。

      考虑:

      Θp(x)=α,β;αi0MaxL(x,α,β)Θ_p(x)=\mathop{}_{α,β;α_i\geqslant{0}}^{Max}L(x,α,β)

      Θp(x)Θ_p(x) 此时一定是凹函数(对应于考研数学中的凸函数)。


      倘若某 xx 违反原始问题地约束条件时:

      ① 违反约束条件,即某个 ci(x)&gt;0c_i(x)&gt;0
      · 欲使 L(x,α,β)L(x,α,β) 值最大,可令对应的乘子 αi+α_i → +\infty ,则此时 Θp(x)+Θ_p(x) → +\infty

      ② 违反约束条件,即某个 hj(x)0h_j(x)\neq0
      · 欲使 L(x,α,β)L(x,α,β) 值最大,可令某 βihj(x)+β_ih_j(x) → +\infty,其余的 αi,βjα_i,β_j 都取 00,则此时 Θp(x)+Θ_p(x) → +\infty


      \bigstar 以上,即:

      Θp(x)=Θ_p(x)= {f(x)x+x\begin{cases} f(x),x满足约束条件\\ +\infty,x不满足约束条件\\ \end{cases}

      xx 满足约束条件,为使 L(x,α,β)L(x,α,β) 取最大值,

      应:i=1kαici(x)=0j=1lβihj(x)=0\sum_{i=1}^{k}α_ic_i(x)=0,\sum_{j=1}^{l}β_ih_j(x)=0

      此时,Θp(x)α,β;αi0MaxL(x,α,β)f(x)Θ_p(x) \leftrightharpoons \mathop{}_{α,β;α_i\geqslant{0}}^{Max} L(x,α,β) \leftrightharpoons f(x)


      优化问题下,目标为:xMinΘp(x)\mathop{}_{x}^{Min} Θ_p(x)

      根据等价关系可得:xMinΘp(x)xMinα,β;αi0MaxL(x,α,β)xMinf(x)\mathop{}_{x}^{Min} Θ_p(x) \leftrightharpoons \mathop{}_{x}^{Min} \mathop{}_{α,β;α_i\geqslant{0}}^{Max} L(x,α,β) \leftrightharpoons \mathop{}_{x}^{Min} f(x)

      定义原始问题的最优值为 p=xMinΘp(x)p^*=\mathop{}_{x}^{Min}Θ_p(x)

    3. 原始问题的对偶问题

      定义: ΘD(α,β)=xMinL(x,α,β)Θ_D(α,β)=\mathop{}_{x}^{Min}L(x,α,β)

      考虑极大化:α,β;αi0MaxΘD(α,β)=α,β;αi0MaxxMinL(x,α,β)\mathop{}_{α,β;α_i\geqslant{0}}^{Max}Θ_D(α,β)= \mathop{}_{α,β;α_i\geqslant{0}}^{Max} \mathop{}_{x}^{Min}L(x,α,β)

      定义对偶问题的最优值为 d=α,β;αi0MaxΘD(α,β)d^*=\mathop{}_{α,β;α_i\geqslant{0}}^{Max}Θ_D(α,β)

      ΘD(α,β)Θ_D(α,β) 此时一定为凸函数(对应于考研数学中的凹函数)。

    4. 原始问题与对偶问题的关系

      d=α,β;αi0MaxxMinL(x,α,β)xMinα,β;αi0MaxL(x,α,β)=pd^*=\mathop{}_{α,β;α_i\geqslant{0}}^{Max}\mathop{}_{x}^{Min}L(x,α,β) \leqslant \mathop{}_{x}^{Min} \mathop{}_{α,β;α_i\geqslant{0}}^{Max} L(x,α,β)=p^*
      原始问题与对偶问题

      设 {x,α,β{x^*,α^*,β^*}} 为原始问题与对偶问题的可行解,并且 d=pd^* = p^*

      则 {x,α,β{x^*,α^*,β^*}} 就是原始问题与对偶问题两个问题的最优解。

      (最大值集合中的最小值 \geqslant 最小值集合中的最大值)

    5. KKT 条件

      KKK (Karush Kuhn Tucker) 条件:

      {xL(x,α,β)=0αL(x,α,β)=0βL(x,α,β)=0αici(x)=0,i=1,2,,kci(x)0,i=1,2,kαi0,i=1,2khj(x)=0,j=1,2,l\begin{cases} \nabla_x L(x^*,α^*,β^*)=0\\ \nabla_α L(x^*,α^*,β^*)=0\\ \nabla_β L(x^*,α^*,β^*)=0\\ α_i^*c_i(x^*)=0,i=1,2,…,k\\ c_i(x^*)\leqslant0,i=1,2…,k\\ α_i^*\geqslant0,i=1,2…k\\ h_j(x^*)=0,j=1,2…,l \end{cases}

      其中,αici(x)=0,i=1,2,,kα_i^*c_i(x^*)=0,i=1,2,…,k 为 KKT 条件的对偶互补条件:
      {α&gt;0ci(x)=0ci(x)&lt;0α=0\begin{cases} 若α^*&gt;0,则 c_i(x^*)=0\\ 若c_i(x^*)&lt;0,则α^*=0 \end{cases}

      x,α,βx^*,α^*,β^* 是原始问题与对偶问题的解 x,α,β\leftrightharpoons x^*,α^*,β^* 满足 KKT 条件。

2018-05-17 22:01:35 timso1997 阅读数 123
  • Python机器学习与数据挖掘day4

    尹成老师带你步入Python语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以Python语言为核心,完整精彩的演练了线性回归处理销售与广告关系数据提取数据规律、岭回归与拉格朗日回归处理销售与广告关系提取数据规律、逻辑回归进行数据分类、人脸数据进行预处理、回归算法预测人脸以及各种精彩的小项目等,非常适合大家学习!

    217 人正在学习 去看看 尹成

【机器学习】拉格朗日对偶性

@(Machine Learning)

学习SVM的时候,解决最优化问题需要应用到拉格朗日对偶性,现在总结下相关概念。

Reference:
《统计学习方法》 附录C_拉格朗日对偶性 李航
本文完全根据该附录总结,内容基本一致,有条件的请阅读该附录原版。

原始问题

1

引入广义拉格朗日函数:

2

考虑将之最大化:

3

如果给定x,x违反原始问题的约束条件:

4

有:

5

原因不难,如下:
如果x违反条件,
则存在某个ci(x)> 0,令ai->+∞,最大可得+∞;
或存在某个hj(x)!= 0,令βjhj(x)->+∞,最大可得+∞。

如果x满足条件,则

6

综上有:

7

为了使x满足条件,我们最小化该函数。

8

容易得到该函数和原始最优化问题是等价的。
我们称这个问题为广义拉格朗日函数的极小极大问题

对偶问题

定义:

9
10

上述问题称为广义拉格朗日函数的极大极小问题
表示为约束最优化问题:

11

该问题称为原始问题的对偶问题

原始问题与对偶问题的关系

定义原始问题的最优值:

12

定义对偶问题的最优值:

13

有如下定理:

14

意思是:对偶问题的最优值小于等于原始问题的最优值。

15

意思是:某些条件下,原始问题和对偶问题最优值相等,这时候可以用解对偶问题替代原始问题。
可得下面定理:

16

最后得出最重要的定理,证明不展开:

17

简单来说就是如果我们想要通过对偶问题得到原始问题的解,需要满足KKT条件

2016-11-19 18:39:08 sinat_35512245 阅读数 3231
  • Python机器学习与数据挖掘day4

    尹成老师带你步入Python语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以Python语言为核心,完整精彩的演练了线性回归处理销售与广告关系数据提取数据规律、岭回归与拉格朗日回归处理销售与广告关系提取数据规律、逻辑回归进行数据分类、人脸数据进行预处理、回归算法预测人脸以及各种精彩的小项目等,非常适合大家学习!

    217 人正在学习 去看看 尹成

   在数学最优问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n 个变量与k 个约束条件的最优化问题转换为一个有n + k个变量的方程组的极值问题,其变量不受任何约束。这种方法引入了一种新的标量未知数,即拉格朗日乘数:约束方程的梯度(gradient)的线性组合里每个向量的系数。此方法的证明牵涉到偏微分,全微分或链法,从而找到能让设出的隐函数的微分为零的未知数的值。


定义介绍
设给定二元函数z=ƒ(x,y)和附加条件φ(x,y)=0,为寻找z=ƒ(x,y)在附加条件下的极值点,先做拉格朗日函数


,其中λ为参数。
令F(x,y,λ)对x和y和λ的一阶偏导数等于零,,即
F'x=ƒ'x(x,y)+λφ'x(x,y)=0,
F'y=ƒ'y(x,y)+λφ'y(x,y)=0,
F'λ=φ(x,y)=0
由上述方程组解出x,y及λ,如此求得的(x,y),就是函数z=ƒ(x,y)在附加条件φ(x,y)=0下的可能极值点。
若这样的点唯一,由实际问题,可直接确定此即所求的点。

求极值
求函数f(x,y,z)在条件φ(x,y,z)=0下的极值
方法(步骤)是:
1.做拉格朗日函数L=f(x,y,z)+λφ(x,y,z),λ称拉格朗日乘数
2.求L分别对x,y,z,λ求偏导,得方程组,求出驻点P(x,y,z)
如果这个实际问题的最大或最小值存在,一般说来驻点唯一,于是最值 可求.
条件极值问题也可以化为无条件极值求解,但有些条件关系比较复杂,代换和运算很繁,而相对来说,“拉格朗日乘数法”不需代换,运算简单一点.这就是优势.
条件φ(x,y,z)一定是个等式,不妨设为φ(x,y,z)=m
则再建一个函数g(x,y,z)=φ(x,y,z)-m
g(x,y,z)=0,以g(x,y,z)代替φ(x,y,z)
在许多极值问题中,函数的自变量往往要受到一些条件的限制,比如,要设计一个容积为 V的长方体形开口水箱,确定长、宽和高, 使水箱的表面积最小. 设水箱的长、宽、高分别为 x,y,z, 则水箱容积V=xyz
焊制水箱用去的钢板面积为 S=2xz+2yz+xy
这实际上是求函数 S 在 V 限制下的最小值问题。
这类附有条件限制的极值问题称为条件极值问题,其一般形式是在条件
<!--EndFragment-->
限制下,求函数F的极值
条件极值与无条件极值的区别
条件极值是限制在一个子流形上的极值,条件极值存在时无条件极值不一定存在,即使存在二者也不一定相等。
例如,求马鞍面 z=x.^2-y.^2+1 被平面XOZ 平面所截的曲线上的最低点。
从其几何图形可以看出整个马鞍面没有极值点,但限制在马鞍面被平面 平面所截的曲线上,有极小值 1,这个极小值就称为条件极值。
必要条件
设在约束条件之下求函数的极值。满足约束条件的点 是函数的条件极值点, 且在该点函数满足隐函数存在条件时, 由方程定隐函数 , 于是点就是一元函数的极限点, 有
代入 , 就有
( 以下 均表示相应偏导数在点 的值 . )
Lagrange乘数法 :
由上述讨论可见 , 函数 在约束条件之下的条件极值点应是方程组
的解.
引进所谓Lagrange函数
( 称其中的实数 为Lagrange乘数 )
则上述方程组即为方程组
因此,解决条件极值通常有两种方法
1)直接的方法是从方程组(1)中解出 并将其表示为 代入 消去 成为变量为 的函数将问题化为函数无条件极值问题;
2)在一般情形下,要从方程组(1)中解出 来是困难的,甚至是不可能的,因此上面求解方法往往是行不通的。通常采用的拉格朗日乘数法,是免去解方程组(1)的困难,将求 的条件极值问题化为求下面拉格朗日函数的稳定点问题,然后根据所讨论的实际问题的特性判断出哪些稳定点是所求的极值的。
3)在给定的条件下,若是可以将未知数代换或是解出,则可以将条件极值转化为无条件极值,从而避免引入拉格朗日乘数的麻烦。
注意:▽φ(x,y,z)=0 且 φ(x,y,z)=0的点不会被该方法计算到,因此,若求最大值或最小值时,应把这些点列出来并单独计算。


例题一
抛物面被平面 截成一个椭圆. 求该椭圆到坐标
原点的最长和最短距离.
例3求函数 在条件
下的极小值. 并证明不等式 , 其中 为任意正常数 .
以上面水箱设计为例,看一看拉格朗日乘数法求解条件极值的过程
解: 这个问题的实质是求函数
在条件下的最小值问题, 应用拉格朗日乘法,令
L='2*(x*z+y*z)+x*y+v*(x*y*z-V)';
dLdx=diff(L,'x')
dLdy=diff(L,'y')
dLdz=diff(L,'z')
dLdv=diff(L,'v')
dLdx =2*z+y+v*y*z
dLdy =2*z+x+v*x*z
dLdz =2*x+2*y+v*x*y
dLdv =x*y*z-V
令 L 的各偏导等零,解方程组求稳定点
s1='2*z+y+v*y*z';
s2='2*z+x+v*x*z';
s3='2*x+2*y+v*x*y';
s4='x*y*z-V';
[v,x0,y0,z0]=solve(s1,s2,s3,s4)
v =
[ -2*2^(2/3)/V^(1/3)]
[ -8*(-1/4*2^(1/3)*V^(1/3)+1/4*i*3^(1/2)*2^(1/3)*V^(1/3))^2/V]
[ -8*(-1/4*2^(1/3)*V^(1/3)-1/4*i*3^(1/2)*2^(1/3)*V^(1/3))^2/V]
x0 =[ 2^(1/3)*V^(1/3)]
y0 =[ 2^(1/3)*V^(1/3)]
z0 =[ 1/2*2^(1/3)*V^(1/3)]
这里显然只有实数解才有意义,所以 L 的稳定点只有下面一个
又已知所求的问题确实存在最小值,从而解出的稳定点就是最小值点,即水箱长宽与为高的2倍时用钢板最省。

例题二
再看一个条件极值求解问题
抛物面 被平面 截成一个椭圆,求这个椭圆到坐标原点的最长最短距离。(x73)
解 这个问题的实质是求函数
在条件 与 下的最大、最小值问题,应用拉格朗日乘法,令
L='x^2+y^2+z^2+v*(x^2+y^2-z)+h*(x+y+z-1)';
dLdx=diff(L,'x')
dLdy=diff(L,'y')
dLdz=diff(L,'z')
dLdv=diff(L,'v')
dLdh=diff(L,'h')
dLdx =2*x+2*v*x+h
dLdy =2*y+2*v*y+h
dLdz =2*z-v+h
dLdv =x^2+y^2-z
dLdh =x+y+z-1
s1='2*x+2*v*x+h';
s2='2*y+2*v*y+h';
s3='2*z-v+h';
s4='x^2+y^2-z';
s5='x+y+z-1';
[h,v,x0,y0,z0]=solve(s1,s2,s3,s4,s5);
x0,y0,z0
x0 =
[ 3/4-1/4*i*13^(1/2)]
[ 3/4+1/4*i*13^(1/2)]
[ -1/2+1/2*3^(1/2)]
[ -1/2-1/2*3^(1/2)]
y0 =
[ 3/4+1/4*i*13^(1/2)]
[ 3/4-1/4*i*13^(1/2)]
[ -1/2+1/2*3^(1/2)]
[ -1/2-1/2*3^(1/2)]
z0 = -1/2, -1/2, 2-3^(1/2), 2+3^(1/2)
即 的稳定点有两个
因为函数 在有界闭集 上连续,必有最大值和最小值,而求得的稳定点又恰是两个,所以它们一个是最大点,另一个是最小,其最大
最小值为。(x73)
x1=-1/2+1/2*3^(1/2);
x2=-1/2-1/2*3^(1/2);
y1=-1/2+1/2*3^(1/2);
y2=-1/2-1/2*3^(1/2);
z1=2-3^(1/2);
z2=2+3^(1/2);
f1=(x1^2+y1^2+z1^2)^(1/2)
f2=(x2^2+y2^2+z2^2)^(1/2)
f1 = 0.5829 ; f2 = 4.2024


2017-08-14 15:14:38 xierhacker 阅读数 5354
  • Python机器学习与数据挖掘day4

    尹成老师带你步入Python语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以Python语言为核心,完整精彩的演练了线性回归处理销售与广告关系数据提取数据规律、岭回归与拉格朗日回归处理销售与广告关系提取数据规律、逻辑回归进行数据分类、人脸数据进行预处理、回归算法预测人脸以及各种精彩的小项目等,非常适合大家学习!

    217 人正在学习 去看看 尹成

参考:

李航 <统计学习方法>
维基百科:拉格朗日乘子法

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

没有更多推荐了,返回首页