看板 Math 關於我們 聯絡資訊
※ 引述《chemmachine (chemmachine)》之銘言: : 剛剛想到一件事,在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,我沒看過不知道有沒有) : 第二個困難一樣是很難判斷正負定。 : 也許這題可以用不等式去算出來,不過我沒想到。 其實這問題很簡單 就是判斷最佳化問題的convexity 至於什麼是convex function 這部分讓原po去了解一下 所以每遇到一個optimization問題 首先要檢查的部分有兩個 1. objective function 檢查是否為convrx function 2. feasible domain S 檢查是否為convex set 如果兩個都是convex 那就代表這問題是convex 所求的的解就保證是global optimal 但如果其中一個不是 那你找到的解就只能說是local optimal 即便你真的找到global解 在最佳化領域還是會稱之為local (在小問題可以這樣 但我們討論general problem) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.9.73 ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1514522212.A.5EA.html
znmkhxrw : L大你的convex function on convex set 12/29 13:14
znmkhxrw : 有定理完整敘述可以參考嗎 12/29 13:15
znmkhxrw : 至於你說的要檢查f是否在限制條件下是convex函數 12/29 13:17
znmkhxrw : 照定義很難做吧... 12/29 13:18
LiamIssac : 不會 分開判斷就好 objective function就看2階微分 12/29 13:56
LiamIssac : 的hessian matrix是否為正定postivie definite 12/29 13:56
LiamIssac : 而你的domain是否為convex set 就是看這個集合內任 12/29 13:57
LiamIssac : 兩點的連線是不是全部都在這個集合裡面 最簡單的例 12/29 13:57
LiamIssac : 子就是正圓 12/29 13:57
LiamIssac : 你畫一個圓 在圓裡面隨便找兩個點 然後畫一條直線連 12/29 13:59
LiamIssac : 起來 這條線上的點如果都在這個圓內 那就是convex s 12/29 13:59
LiamIssac : et 12/29 13:59
LiamIssac : 假設你今天畫的是個凹的圖形 你會發現你一定可以找 12/29 14:01
LiamIssac : 到兩個點的連線 會超出這個圖形外面 那我們統稱nonc 12/29 14:01
LiamIssac : onvex set 這種問題就是Np hard 只能求近似解 12/29 14:01
LiamIssac : 而你的問題中的S在2維 就是個單位為1的正方形 落在 12/29 14:02
LiamIssac : 第一象限 你就按照上面的方法去check就知道是不是co 12/29 14:02
LiamIssac : nvex 12/29 14:02