bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

罰函數(shù)凸優(yōu)化Python 最優(yōu)化 凸函數(shù)

python非線性規(guī)劃用什么模塊

python非線性規(guī)劃用什么模塊本文使用SciPy的optimize模塊來求解非線性規(guī)劃問題,結(jié)合實(shí)際例子,引入非線性規(guī)劃問題的求解算法及相應(yīng)函數(shù)的調(diào)用。

創(chuàng)新互聯(lián)是一家集成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)站頁面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)的建站公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。

本文提綱一維搜索/單變量優(yōu)化問題

無約束多元優(yōu)化問題

非線性最小二乘問題

約束優(yōu)化問題

非線性規(guī)劃問題的目標(biāo)函數(shù)或約束條件是非線性的。本文使用SciPy的optimize模塊來求解非線性規(guī)劃問題。

目標(biāo)函數(shù)和約束條件是否連續(xù)光滑是非常重要的性質(zhì),這是因?yàn)槿绻饣瑒t所有決策變量可微,多變量函數(shù)的偏導(dǎo)數(shù)組成的向量為梯度,梯度是指向目標(biāo)函數(shù)增長最快的方向。將目標(biāo)函數(shù)梯度作為搜索方向,對非線性規(guī)劃問題的求解具有重要的意義。這些函數(shù)或其導(dǎo)數(shù)\梯度的不連續(xù)性給許多現(xiàn)有的非線性優(yōu)化問題的求解帶來了困難。在下文中,我們假設(shè)這些函數(shù)是連續(xù)且光滑的。

# Importing Modules

from scipy import optimize

import matplotlib.pyplot as plt

import numpy as np

import sympy

1、一維搜索/單變量優(yōu)化問題(Univariate Optimization)

無約束非線性規(guī)劃最簡單的形式是一維搜索。一維搜索通常作為多維優(yōu)化問題中的一部分出現(xiàn),比如梯度下降法中每次最優(yōu)迭代步長的估計(jì)。求解一維搜索常用的兩類方法是函數(shù)逼近法和區(qū)間收縮法。其中函數(shù)逼近法是指用較簡單的函數(shù)近似代替原來的函數(shù),用近似函數(shù)的極小點(diǎn)來估計(jì)原函數(shù)的極小點(diǎn),比如牛頓法;區(qū)間收縮法對于一個(gè)單谷函數(shù)通過迭代以不斷縮小該區(qū)間的長度,當(dāng)區(qū)間長度足夠小時(shí),可將該區(qū)間中的一點(diǎn)作為函數(shù)的極小點(diǎn),比如黃金分割法。

e.g. 最小化一個(gè)單位體積的圓柱體的表面積。

r, h = sympy.symbols("r, h")

Area = 2 * sympy.pi * r**2 + 2 * sympy.pi * r * h

Volume = sympy.pi * r**2 * h

凸優(yōu)化(四)——問題求解

凸優(yōu)化主要學(xué)習(xí)《凸優(yōu)化》(Stephen Boyd等著,王書寧等譯)[1]這本書。學(xué)習(xí)過程中,對其內(nèi)容的理解時(shí)有困惑,也參考一些其他書籍資料。筆者盡量將這部分知識整理地簡潔明了,成此系列筆記。

凸優(yōu)化之所以如此重要,是因?yàn)橥箖?yōu)化的重要特性: 凸優(yōu)化的任意局部最優(yōu)解也是全局最優(yōu)解 。

對于少數(shù)一些簡單的凸優(yōu)化問題,可以利用最優(yōu)性準(zhǔn)則通過解析來求解。但對于大多數(shù)凸優(yōu)化問題來講,是沒有辦法通過解析來求解的。

下降方法中,有兩個(gè)問題需要解決:確定搜索步長和確定搜索方向。確定搜索步長的方法和算法有: 固定步長搜索 、 精確直線搜索 和 回溯直線搜索 。確定搜索方向的方法和算法有: 梯度下降方法 、 最速下降方法 和 牛頓法。

步長值根據(jù)經(jīng)驗(yàn)設(shè)定,為了防止算法震蕩,值應(yīng)當(dāng)較小。優(yōu)點(diǎn):直觀、簡單;缺點(diǎn):收斂速度慢。

比較常用的是回溯直線搜索,大概思路是,用迭代方法求得的步長只要能使目標(biāo)函數(shù)有足夠的減少即可。詳見《 凸優(yōu)化(五)——回溯直線搜索 》。

利用目標(biāo)函數(shù)的一階泰勒展開近似優(yōu)化過程,進(jìn)而確定學(xué)習(xí)方向。詳見《 凸優(yōu)化(六)——最速下降法 》。

利用目標(biāo)函數(shù)的二階泰勒展開近似表示目標(biāo)函數(shù),通過求解這個(gè)二次函數(shù)的極小值來確定搜索方向。詳見《 凸優(yōu)化(七)——牛頓法 》。

任何等式約束優(yōu)化問題都可以通過消除等式約束轉(zhuǎn)化為等價(jià)的無約束優(yōu)化問題,然后利用無約束的方法求解。

利用無約束優(yōu)化問題求解對偶問題,然后從對偶解中復(fù)原等式約束問題的解。詳見《 凸優(yōu)化(八)——Lagrange對偶問題 》。

詳見《凸優(yōu)化(七)——牛頓法》。

利用無約束優(yōu)化問題求解對偶問題,然后從對偶解中復(fù)原不等式約束問題的解。《 凸優(yōu)化(八)——Lagrange對偶問題 》。

主要思路:引進(jìn)的懲罰函數(shù)的在可行域的邊界上設(shè)置障礙,使求解的迭代過程始終在可行域內(nèi)部進(jìn)行。[2]

這里暫不詳述,待有時(shí)間再學(xué)習(xí)整理。

[1]、《凸優(yōu)化》,Stephen Boyd等著,王書寧等譯

[2]、 《什么是內(nèi)點(diǎn)法》

凸優(yōu)化(一)——概述

凸優(yōu)化(二)——凸集

凸優(yōu)化(三)——凸函數(shù)

凸優(yōu)化(四)——問題求解

凸優(yōu)化(五)——回溯直線搜索

凸優(yōu)化(六)——最速下降法

凸優(yōu)化(七)——牛頓法

凸優(yōu)化(八)——Lagrange對偶問題

2016-02-29 第一次發(fā)布

2016-08-07 修改文章名,重新整理完善

凸,凹函數(shù)在求解非線性優(yōu)化問題中有什么特殊作用

有區(qū)別的。非線性規(guī)劃grg又稱罰函數(shù)法,是求解約束極小化問題的較好的算法,其基本原理是在原目標(biāo)函數(shù)中加上一個(gè)罰函數(shù),而得到一個(gè)增廣目標(biāo)函數(shù);非線性規(guī)劃內(nèi)點(diǎn)法又稱障礙函數(shù)法,是一種求解線性規(guī)劃或非線性凸優(yōu)化問題的算法;它們都是將原問題轉(zhuǎn)化為一系列無約束問題來求解;這兩種構(gòu)造方法各有其優(yōu)缺點(diǎn);相對而言,非線性規(guī)劃grg式結(jié)構(gòu)較簡單,但其導(dǎo)數(shù)(如果可導(dǎo)的話)復(fù)雜,更適用于不利用導(dǎo)數(shù)的無約束極小化算法;而非線性規(guī)劃內(nèi)點(diǎn)法式雖然較復(fù)雜,但是導(dǎo)函數(shù)卻相對較簡單,因而更適用于利用導(dǎo)數(shù)的無約束極小化算法。

如何利用 Python 實(shí)現(xiàn) SVM 模型

我先直觀地闡述我對SVM的理解,這其中不會(huì)涉及數(shù)學(xué)公式,然后給出Python代碼。

SVM是一種二分類模型,處理的數(shù)據(jù)可以分為三類:

線性可分,通過硬間隔最大化,學(xué)習(xí)線性分類器

近似線性可分,通過軟間隔最大化,學(xué)習(xí)線性分類器

線性不可分,通過核函數(shù)以及軟間隔最大化,學(xué)習(xí)非線性分類器

線性分類器,在平面上對應(yīng)直線;非線性分類器,在平面上對應(yīng)曲線。

硬間隔對應(yīng)于線性可分?jǐn)?shù)據(jù)集,可以將所有樣本正確分類,也正因?yàn)槿绱耍茉肼晿颖居绊懞艽螅煌扑]。

軟間隔對應(yīng)于通常情況下的數(shù)據(jù)集(近似線性可分或線性不可分),允許一些超平面附近的樣本被錯(cuò)誤分類,從而提升了泛化性能。

如下圖:

實(shí)線是由硬間隔最大化得到的,預(yù)測能力顯然不及由軟間隔最大化得到的虛線。

對于線性不可分的數(shù)據(jù)集,如下圖:

我們直觀上覺得這時(shí)線性分類器,也就是直線,不能很好的分開紅點(diǎn)和藍(lán)點(diǎn)。

但是可以用一個(gè)介于紅點(diǎn)與藍(lán)點(diǎn)之間的類似圓的曲線將二者分開,如下圖:

我們假設(shè)這個(gè)黃色的曲線就是圓,不妨設(shè)其方程為x^2+y^2=1,那么核函數(shù)是干什么的呢?

我們將x^2映射為X,y^2映射為Y,那么超平面變成了X+Y=1。

那么原空間的線性不可分問題,就變成了新空間的(近似)線性可分問題。

此時(shí)就可以運(yùn)用處理(近似)線性可分問題的方法去解決線性不可分?jǐn)?shù)據(jù)集的分類問題。

---------------------------------------------------------------------------------------------------------------------------

以上我用最簡單的語言粗略地解釋了SVM,沒有用到任何數(shù)學(xué)知識。但是沒有數(shù)學(xué),就體會(huì)不到SVM的精髓。因此接下來我會(huì)用盡量簡潔的語言敘述SVM的數(shù)學(xué)思想,如果沒有看過SVM推導(dǎo)過程的朋友完全可以跳過下面這段。

對于求解(近似)線性可分問題:

由最大間隔法,得到凸二次規(guī)劃問題,這類問題是有最優(yōu)解的(理論上可以直接調(diào)用二次規(guī)劃計(jì)算包,得出最優(yōu)解)

我們得到以上凸優(yōu)化問題的對偶問題,一是因?yàn)閷ε紗栴}更容易求解,二是引入核函數(shù),推廣到非線性問題。

求解對偶問題得到原始問題的解,進(jìn)而確定分離超平面和分類決策函數(shù)。由于對偶問題里目標(biāo)函數(shù)和分類決策函數(shù)只涉及實(shí)例與實(shí)例之間的內(nèi)積,即xi,xj。我們引入核函數(shù)的概念。

拓展到求解線性不可分問題:

如之前的例子,對于線性不可分的數(shù)據(jù)集的任意兩個(gè)實(shí)例:xi,xj。當(dāng)我們?nèi)∧硞€(gè)特定映射f之后,f(xi)與f(xj)在高維空間中線性可分,運(yùn)用上述的求解(近似)線性可分問題的方法,我們看到目標(biāo)函數(shù)和分類決策函數(shù)只涉及內(nèi)積f(xi),f(xj)。由于高維空間中的內(nèi)積計(jì)算非常復(fù)雜,我們可以引入核函數(shù)K(xi,xj)=f(xi),f(xj),因此內(nèi)積問題變成了求函數(shù)值問題。最有趣的是,我們根本不需要知道映射f。精彩!

我不準(zhǔn)備在這里放推導(dǎo)過程,因?yàn)橐呀?jīng)有很多非常好的學(xué)習(xí)資料,如果有興趣,可以看:CS229 Lecture notes

最后就是SMO算法求解SVM問題,有興趣的話直接看作者論文:Sequential Minimal Optimization:A Fast Algorithm for Training Support Vector Machines

我直接給出代碼:SMO+SVM

在線性可分?jǐn)?shù)據(jù)集上運(yùn)行結(jié)果:

圖中標(biāo)出了支持向量這個(gè)非常完美,支持向量都在超平面附近。

在線性不可分?jǐn)?shù)據(jù)集上運(yùn)行結(jié)果(200個(gè)樣本):

核函數(shù)用了高斯核,取了不同的sigma

sigma=1,有189個(gè)支持向量,相當(dāng)于用整個(gè)數(shù)據(jù)集進(jìn)行分類。

sigma=10,有20個(gè)支持向量,邊界曲線能較好的擬合數(shù)據(jù)集特點(diǎn)。

我們可以看到,當(dāng)支持向量太少,可能會(huì)得到很差的決策邊界。如果支持向量太多,就相當(dāng)于每次都利用整個(gè)數(shù)據(jù)集進(jìn)行分類,類似KNN。

分享文章:罰函數(shù)凸優(yōu)化Python 最優(yōu)化 凸函數(shù)
標(biāo)題路徑:http://vcdvsql.cn/article4/doiegie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站企業(yè)網(wǎng)站制作網(wǎng)站設(shè)計(jì)公司App開發(fā)軟件開發(fā)App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作