響應(yīng)式網(wǎng)站怎么寫怎么用we做網(wǎng)站
鶴壁市浩天電氣有限公司
2026/01/22 09:07:58
響應(yīng)式網(wǎng)站怎么寫,怎么用we做網(wǎng)站,ui設(shè)計(jì)是什么東西,wordpress多層選項(xiàng)卡人工智能之?dāng)?shù)學(xué)基礎(chǔ) 優(yōu)化理論
第四章 凸函數(shù)與非凸函數(shù)----公式關(guān)注公眾號(hào) 文章目錄人工智能之?dāng)?shù)學(xué)基礎(chǔ) 優(yōu)化理論前言一、凸函數(shù)的數(shù)學(xué)定義1. 凸集#xff08;Convex Set#xff09;2. 凸函數(shù)#xff08;Convex Function#xff09;3. 嚴(yán)格凸 強(qiáng)凸二、凸函數(shù)的判別方…人工智能之?dāng)?shù)學(xué)基礎(chǔ) 優(yōu)化理論第四章 凸函數(shù)與非凸函數(shù)----公式關(guān)注公眾號(hào)文章目錄人工智能之?dāng)?shù)學(xué)基礎(chǔ) 優(yōu)化理論前言一、凸函數(shù)的數(shù)學(xué)定義1. 凸集Convex Set2. 凸函數(shù)Convex Function3. 嚴(yán)格凸 強(qiáng)凸二、凸函數(shù)的判別方法1. 一階條件可微函數(shù)2. 二階條件二階可微三、常見凸函數(shù) vs 非凸函數(shù)四、AI 中的非凸優(yōu)化挑戰(zhàn)與應(yīng)對(duì)1. 為什么 AI 問題是非凸的2. 非凸優(yōu)化的典型地貌3. AI 中處理非凸優(yōu)化的策略五、Python 代碼實(shí)現(xiàn)1. 導(dǎo)入庫2. 凸性判別符號(hào)計(jì)算SymPy3. 可視化凸 vs 非凸函數(shù)(a) 一維函數(shù)(b) 二維函數(shù)Rosenbrock非凸 vs 二次型凸4. 優(yōu)化行為對(duì)比凸 vs 非凸5. 神經(jīng)網(wǎng)絡(luò)非凸損失的優(yōu)化PyTorch 簡(jiǎn)例6. 鞍點(diǎn)檢測(cè)Hessian 特征值分析六、總結(jié)凸性在 AI 中的意義補(bǔ)充后續(xù)資料關(guān)注前言在優(yōu)化理論中凸性Convexity是決定問題“難易程度”的核心屬性。凸優(yōu)化問題具有全局最優(yōu)解可高效求解的優(yōu)良性質(zhì)而非凸問題則充滿局部極小值、鞍點(diǎn)等挑戰(zhàn)。本文系統(tǒng)講解凸函數(shù)的定義與判別方法、常見凸/非凸函數(shù)示例、AI 中非凸優(yōu)化的典型場(chǎng)景與應(yīng)對(duì)策略并提供完整的PythonNumPy / Matplotlib / SciPy / SymPy代碼實(shí)現(xiàn)與可視化。一、凸函數(shù)的數(shù)學(xué)定義1. 凸集Convex Set集合 $ mathcal{C} subseteq mathbb{R}^n $ 是凸集若對(duì)任意 $ mathbf{x}, mathbf{y} in mathcal{C} $ 和 $ heta in [0,1] $有θ x ( 1 ? θ ) y ∈ C heta mathbf{x} (1 - heta) mathbf{y} in mathcal{C}θx(1?θ)y∈C? 直觀集合內(nèi)任意兩點(diǎn)連線仍在集合內(nèi)如球、多面體非凸如月牙形2. 凸函數(shù)Convex Function函數(shù) $ f: mathbb{R}^n o mathbb{R} $ 是凸函數(shù)若其定義域?yàn)橥辜覍?duì)任意 $ mathbf{x}, mathbf{y} in ext{dom}(f) $ 和 $ heta in [0,1] $有f ( θ x ( 1 ? θ ) y ) ≤ θ f ( x ) ( 1 ? θ ) f ( y ) f( heta mathbf{x} (1 - heta) mathbf{y}) leq heta f(mathbf{x}) (1 - heta) f(mathbf{y})f(θx(1?θ)y)≤θf(x)(1?θ)f(y)幾何意義函數(shù)圖像上任意兩點(diǎn)連線位于圖像上方3. 嚴(yán)格凸 強(qiáng)凸嚴(yán)格凸不等式嚴(yán)格成立$ $當(dāng) $ mathbf{x}
e mathbf{y}, heta in (0,1) $強(qiáng)凸存在 $ mu 0 $ 使得f ( y ) ≥ f ( x ) ? f ( x ) ? ( y ? x ) μ 2 ∥ y ? x ∥ 2 → 保證唯一全局最小值加速收斂 f(mathbf{y}) geq f(mathbf{x})
abla f(mathbf{x})^ op (mathbf{y} - mathbf{x}) frac{mu}{2} |mathbf{y} - mathbf{x}|^2 → 保證唯一全局最小值加速收斂f(y)≥f(x)?f(x)?(y?x)2μ?∥y?x∥2→保證唯一全局最小值加速收斂二、凸函數(shù)的判別方法1. 一階條件可微函數(shù)$ f $ 是凸函數(shù) ? 對(duì)所有 $ mathbf{x}, mathbf{y} in ext{dom}(f) $f ( y ) ≥ f ( x ) ? f ( x ) ? ( y ? x ) f(mathbf{y}) geq f(mathbf{x})
abla f(mathbf{x})^ op (mathbf{y} - mathbf{x})f(y)≥f(x)?f(x)?(y?x)? 即函數(shù)始終在其切平面之上2. 二階條件二階可微$ f $ 是凸函數(shù) ?Hessian 矩陣半正定$
abla^2 f(mathbf{x}) succeq 0 $對(duì)所有 $ mathbf{x} in ext{dom}(f) $半正定所有特征值 $ lambda_i geq 0 $正定強(qiáng)凸所有 $lambda_i 0 $ 對(duì)標(biāo)量函數(shù) $ f: mathbb{R} o mathbb{R} $即 $ f’(x) geq 0 $三、常見凸函數(shù) vs 非凸函數(shù)函數(shù)類型表達(dá)式凸性說明二次函數(shù)$ f(x) ax^2 bx c $$ a geq 0 $ 時(shí)凸$ a 0 $強(qiáng)凸指數(shù)函數(shù)$ f(x) e^{ax} $凸任意 $ a $Hessian $ a^2 e^{ax} geq 0 $負(fù)熵$ f(x) x log x $$( x 0 $凸信息論基礎(chǔ)范數(shù)$ f(mathbf{x}) |mathbf{x}|_p $凸$ p geq 1 $$ p1,2 $ 常用最大值函數(shù)$ f(mathbf{x}) max_i x_i $凸分段線性Log-sum-exp$ f(mathbf{x}) log sum_i e^{x_i} $凸softmax 的平滑近似ReLU$ f(x) max(0, x) $凸神經(jīng)網(wǎng)絡(luò)激活函數(shù)正弦函數(shù)$ f(x) sin x $非凸振蕩多極值Rosenbrock 函數(shù)$f(x,y) (a-x)^2 b(y-x2)2 $非凸經(jīng)典測(cè)試函數(shù)神經(jīng)網(wǎng)絡(luò)損失$ mathcal{L}(mathbf{W}) $非凸參數(shù)耦合導(dǎo)致四、AI 中的非凸優(yōu)化挑戰(zhàn)與應(yīng)對(duì)1. 為什么 AI 問題是非凸的神經(jīng)網(wǎng)絡(luò)多層非線性變換 → 損失函數(shù)高度非凸矩陣分解如推薦系統(tǒng)中的 $ min_{U,V} |X - UV op|_F2 $ → 雙線性項(xiàng)非凸聚類K-means 目標(biāo)函數(shù)非凸2. 非凸優(yōu)化的典型地貌局部極小值Local Minima鄰域內(nèi)最小但非全局鞍點(diǎn)Saddle Points某些方向上升某些下降高維中更常見平坦區(qū)域Plateaus梯度接近零優(yōu)化停滯關(guān)鍵發(fā)現(xiàn)深度學(xué)習(xí)大多數(shù)“壞”臨界點(diǎn)是鞍點(diǎn)而非局部極小隨機(jī)梯度噪聲有助于逃離3. AI 中處理非凸優(yōu)化的策略策略原理工具/算法隨機(jī)初始化從不同起點(diǎn)開始增加找到好解概率多次訓(xùn)練取 best動(dòng)量 自適應(yīng)學(xué)習(xí)率加速穿越平坦區(qū)逃離鞍點(diǎn)Adam, RMSProp批量歸一化BN平滑損失景觀減少內(nèi)部協(xié)變量偏移torch.nn.BatchNorm殘差連接緩解梯度消失改善優(yōu)化地形ResNet課程學(xué)習(xí)從簡(jiǎn)單樣本開始逐步增加難度Curriculum Learning二階方法近似利用曲率信息計(jì)算昂貴K-FAC, Shampoo全局優(yōu)化啟發(fā)式探索整個(gè)空間遺傳算法、貝葉斯優(yōu)化超參調(diào)優(yōu)?實(shí)踐共識(shí)盡管非凸現(xiàn)代深度學(xué)習(xí)優(yōu)化器如 Adam在實(shí)踐中表現(xiàn)驚人地好——“優(yōu)化容易泛化難”五、Python 代碼實(shí)現(xiàn)1. 導(dǎo)入庫importnumpyasnpimportmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Dimportsympyasspfromscipy.optimizeimportminimize np.random.seed(42)2. 凸性判別符號(hào)計(jì)算SymPy# 定義符號(hào)變量x,ysp.symbols(x y)# 示例1凸函數(shù) f(x) x^2f1x**2f1_hessiansp.diff(f1,x,2)print(ff1(x) x2, f(x) {f1_hessian}→ 凸≥0)# 示例2非凸函數(shù) f(x) sin(x)f2sp.sin(x)f2_hessiansp.diff(f2,x,2)print(ff2(x) sin(x), f(x) {f2_hessian}→ 非凸符號(hào)不定)# 示例3二元函數(shù) f(x,y) x^2 y^2凸f3x**2y**2hess_f3sp.hessian(f3,(x,y))eigvals_f3hess_f3.eigenvals()print(ff3(x,y) x2y2, Hessian 特征值:{list(eigvals_f3.keys())}→ 正定 ? 強(qiáng)凸)# 示例4Rosenbrock 函數(shù)非凸a,b1,100f4(a-x)**2b*(y-x**2)**2hess_f4sp.hessian(f4,(x,y))# 在 (0,0) 處計(jì)算 Hessianhess_at_0hess_f4.subs({x:0,y:0})eigvals_f4[ev.evalf()forevinhess_at_0.eigenvals().keys()]print(fRosenbrock 在 (0,0) 處 Hessian 特征值:{eigvals_f4}→ 一正一負(fù) ? 鞍點(diǎn))3. 可視化凸 vs 非凸函數(shù)(a) 一維函數(shù)xnp.linspace(-2,2,400)plt.figure(figsize(12,4))# 凸函數(shù)x2plt.subplot(1,3,1)plt.plot(x,x**2,b-,labelr$f(x)x^2$)plt.title(凸函數(shù)開口向上)plt.grid(True);plt.legend()# 非凸函數(shù)sin(x)plt.subplot(1,3,2)plt.plot(x,np.sin(x),r-,labelr$f(x)sin x$)plt.title(非凸函數(shù)振蕩)plt.grid(True);plt.legend()# 非凸函數(shù)x^4 - x^2plt.subplot(1,3,3)plt.plot(x,x**4-x**2,g-,labelr$f(x)x^4 - x^2$)plt.title(非凸函數(shù)多極值)plt.grid(True);plt.legend()plt.tight_layout()plt.show()(b) 二維函數(shù)Rosenbrock非凸 vs 二次型凸# 定義函數(shù)defrosenbrock(xy,a1,b100):x,yxyreturn(a-x)**2b*(y-x**2)**2defquadratic(xy):x,yxyreturnx**22*y**2# 凸橢圓等高線# 網(wǎng)格xnp.linspace(-2,2,200)ynp.linspace(-1,3,200)X,Ynp.meshgrid(x,y)Z_rosennp.array([rosenbrock([xi,yi])forxi,yiinzip(X.ravel(),Y.ravel())]).reshape(X.shape)Z_quadnp.array([quadratic([xi,yi])forxi,yiinzip(X.ravel(),Y.ravel())]).reshape(X.shape)plt.figure(figsize(12,5))# Rosenbrock非凸plt.subplot(1,2,1)contour1plt.contour(X,Y,Z_rosen,levelsnp.logspace(-0.5,3.5,20),cmapviridis)plt.clabel(contour1,inlineTrue,fontsize8)plt.plot(1,1,r*,markersize15,label全局最小 (1,1))plt.title(Rosenbrock 函數(shù)非凸峽谷地形)plt.xlabel(x);plt.ylabel(y)plt.legend();plt.grid(True)# 二次型凸plt.subplot(1,2,2)contour2plt.contour(X,Y,Z_quad,levels20,cmapplasma)plt.clabel(contour2,inlineTrue,fontsize8)plt.plot(0,0,r*,markersize15,label全局最小 (0,0))plt.title(二次型函數(shù)凸橢圓等高線)plt.xlabel(x);plt.ylabel(y)plt.legend();plt.grid(True)plt.tight_layout()plt.show()4. 優(yōu)化行為對(duì)比凸 vs 非凸# 使用不同初值優(yōu)化 Rosenbrockinitial_points[[-1,1],[0,0],[2,2]]results[]forx0ininitial_points:resminimize(rosenbrock,x0,methodBFGS)results.append((x0,res.x,res.fun,res.success))print(Rosenbrock 優(yōu)化結(jié)果非凸:)forx0,x_opt,f_opt,successinresults:print(f初值{x0}→ 解{x_opt}, f{f_opt:.6f}, 成功?{success})# 優(yōu)化凸函數(shù)應(yīng)總成功res_convexminimize(quadratic,x0[2,-1],methodBFGS)print(f
凸函數(shù)優(yōu)化: 解{res_convex.x}, f{res_convex.fun:.6f}) 輸出顯示非凸問題對(duì)初值敏感可能失敗或陷入局部最優(yōu)凸問題穩(wěn)定收斂。5. 神經(jīng)網(wǎng)絡(luò)非凸損失的優(yōu)化PyTorch 簡(jiǎn)例importtorchimporttorch.nnasnnimporttorch.optimasoptim# 構(gòu)造簡(jiǎn)單非線性回歸np.random.seed(0)Xnp.random.randn(100,1).astype(np.float32)y(X.squeeze()**30.5*X.squeeze()).astype(np.float32)# 兩層神經(jīng)網(wǎng)絡(luò)非凸modelnn.Sequential(nn.Linear(1,10),nn.ReLU(),nn.Linear(10,1))criterionnn.MSELoss()optimizeroptim.Adam(model.parameters(),lr0.01)losses[]forepochinrange(200):optimizer.zero_grad()outputsmodel(torch.tensor(X))losscriterion(outputs.squeeze(),torch.tensor(y))loss.backward()optimizer.step()losses.append(loss.item())# 繪制損失曲線plt.figure(figsize(8,4))plt.plot(losses,b-)plt.title(神經(jīng)網(wǎng)絡(luò)訓(xùn)練損失非凸優(yōu)化)plt.xlabel(Epoch);plt.ylabel(Loss)plt.grid(True)plt.show()print(f最終損失:{losses[-1]:.6f})? 盡管損失函數(shù)非凸Adam 仍能有效降低損失。6. 鞍點(diǎn)檢測(cè)Hessian 特征值分析# 在 Rosenbrock 的 (0,0) 處計(jì)算數(shù)值 Hessiandefnumerical_hessian(func,x,eps1e-5):nlen(x)hessnp.zeros((n,n))foriinrange(n):forjinrange(n):dxnp.zeros(n);dx[i]eps dynp.zeros(n);dy[j]eps hess[i,j](func(xdxdy)-func(xdx)-func(xdy)func(x))/(eps**2)returnhess x_saddlenp.array([0.0,0.0])hess_numnumerical_hessian(rosenbrock,x_saddle)eigvals_numnp.linalg.eigvals(hess_num)print(fRosenbrock 在 (0,0) 處數(shù)值 Hessian 特征值:{eigvals_num})print(→ 一正一負(fù) ? 鞍點(diǎn))六、總結(jié)凸性在 AI 中的意義屬性凸優(yōu)化非凸優(yōu)化如深度學(xué)習(xí)全局最優(yōu)可保證通常不能算法收斂理論保證實(shí)踐有效理論有限初值敏感否是典型問題SVM、Lasso、LP/QPDNN、GAN、強(qiáng)化學(xué)習(xí)求解工具CVXPY、MOSEKPyTorch、TensorFlow關(guān)鍵洞見凸性是“好問題”的標(biāo)志但現(xiàn)實(shí)世界多是非凸的深度學(xué)習(xí)的成功部分源于其損失景觀的“良性”非凸性鞍點(diǎn)多局部極小少理解凸性有助于設(shè)計(jì)更好的模型和正則化如使用凸代理損失非凸 ≠ 不可解現(xiàn)代優(yōu)化器 良好實(shí)踐 實(shí)用解。補(bǔ)充沒有其他機(jī)器學(xué)習(xí)相關(guān)基礎(chǔ)的只需要理解理論部分內(nèi)容知道其含義是什么就足夠了后續(xù)會(huì)逐漸補(bǔ)充機(jī)器學(xué)習(xí)到大模型的整個(gè)過程從理論部分到整體的實(shí)現(xiàn)理論部分相當(dāng)于理解其原理過程其數(shù)學(xué)為解決更多的問題提供解決問題的基礎(chǔ)以及模型的構(gòu)建基礎(chǔ)。后續(xù)python過渡項(xiàng)目部分代碼已經(jīng)上傳至gitee后續(xù)會(huì)逐步更新。資料關(guān)注公眾號(hào)咚咚王giteehttps://gitee.com/wy18585051844/ai_learning《Python編程從入門到實(shí)踐》《利用Python進(jìn)行數(shù)據(jù)分析》《算法導(dǎo)論中文第三版》《概率論與數(shù)理統(tǒng)計(jì)第四版 (盛驟) 》《程序員的數(shù)學(xué)》《線性代數(shù)應(yīng)該這樣學(xué)第3版》《微積分和數(shù)學(xué)分析引論》《西瓜書周志華-機(jī)器學(xué)習(xí)》《TensorFlow機(jī)器學(xué)習(xí)實(shí)戰(zhàn)指南》《Sklearn與TensorFlow機(jī)器學(xué)習(xí)實(shí)用指南》《模式識(shí)別第四版》《深度學(xué)習(xí) deep learning》伊恩·古德費(fèi)洛著 花書《Python深度學(xué)習(xí)第二版(中文版)【純文本】 (登封大數(shù)據(jù) (Francois Choliet)) (Z-Library)》《深入淺出神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)(邁克爾·尼爾森MichaelNielsen》《自然語言處理綜論 第2版》《Natural-Language-Processing-with-PyTorch》《計(jì)算機(jī)視覺-算法與應(yīng)用(中文版)》《Learning OpenCV 4》《AIGC智能創(chuàng)作時(shí)代》杜雨張孜銘《AIGC原理與實(shí)踐零基礎(chǔ)學(xué)大語言模型、擴(kuò)散模型和多模態(tài)模型》《從零構(gòu)建大語言模型中文版》《實(shí)戰(zhàn)AI大模型》《AI 3.0》