作者chemmachine (chemmachine)
看板Math
標題Re: [分析] Lagrange乘數法是否saddle (500p)
時間Fri Dec 29 12:11:20 2017
剛剛想到一件事,在wiki的Hessian matrix 的broaden matrix有一句話
x_1+...x_n=1可以代入f(x_1,x_2,...x_n)變為
f(x_1,x_2,.....,1-x_1-x_2-...x_n-1)這樣你的f就沒有restrian了。
這樣二維的鞍點可以說明為何變為極大值。
f變為4x_1^2*(1-x_1)^2
f'=8(x_1-x_1^2)(1-2x_1)
0,1,1/2是critical point
代入f"=8-48x_1+48x_1^2
可得f"(1/2)=-4故1/2變為極大值。
如果我f(1/6,1/6,1/6,1/6,1/6,1/6)<f(1/6,1/6,1/6,1/6,1/12,1/4)沒算錯
,6維時它不是極大值。然後我的圖片文章那裏高維度h(f)算錯,因為它沒算
broaden matrix。真的要算就要算broaden hesssian或是將x_n=1-x_1-x_2-...x_(n-1)
代入算。
流程圖:
restrain是等式
檢查邊界值代入,檢查拉格朗日方程組,盡量用方程組的單調性或只有一實數解
讓方程組只有對稱解。檢查不可微分點。你的原函數0.5微分後會跑到分母,所以也會有不可
可微分點,但剛好它是邊界點0,1。找出所有臨界點後,用broaden hessian或消去
restrain的hessian觀察是極大,極小或鞍點。這個方法在觀察hessain會遇到瓶頸,因為
正定,負定很難判斷,大部分用z^tHz>0或z^tHz<0或找出所有的lammda的正負,只要
lammda有正有負就很難判斷。高維度時手算不太可能算出所有lammda值。三次微分以上
的判別我不會,wiki說有。但是計算應該更複雜。(最主要缺點是海森很難判斷正負定)
restrain是不等式
網路上線代啟示錄或k-k-t條件或一些網路文章有例題,你這題0,1我就直接用邊界點
代入,不用不等式做。不等式它列式會有不等式的拉格朗日方程組。通常也會有對稱
解,但第一個困難是你很難說明它只有對稱解,比restrain是等式的情形更複雜。
解出三種臨界點(邊界點、微分0、不可微分)後一樣代入hessian matrix或broaden
matrix(這個broaden matrix是不等式restrian的broaden,我沒看過不知道有沒有)
第二個困難一樣是很難判斷正負定。
也許這題可以用不等式去算出來,不過我沒想到。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.61.7
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1514520683.A.367.html
→ chemmachine : 還請各位高手、博士、教授補充。 12/29 12:13
推 znmkhxrw : 你的第一段就是我所謂的硬爆QQ 12/29 12:20
推 znmkhxrw : 6維如果不是最大值 paper就囧了QQQQ 12/29 12:30
推 znmkhxrw : 剛剛用電腦算 還真的n=6就掛了靠杯XDD 12/29 13:33
→ chemmachine : 恩恩幫你發現PAPER可能的疑點XD 12/29 14:30