最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談SciPy中的optimize.minimize實現(xiàn)受限優(yōu)化問題

 更新時間:2020年02月29日 12:55:40   作者:lmb633  
今天小編就為大家分享一篇淺談SciPy中的optimize.minimize實現(xiàn)受限優(yōu)化問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

問題描述:有一批樣本x,每個樣本都有幾個固定的標簽,如(男,24歲,上海),需要從中抽取一批樣本,使樣本總的標簽比例滿足分布P(x),如(男:女=49%:51%、20歲:30歲=9%:11%、..........)

采用KL-散度作為優(yōu)化目標函數(shù)。

KL-散度又叫相對熵

KL-散度在機器學習中,P用來表示樣本的真實分布,比如[1,0,0]表示當前樣本屬于第一類。Q用來表示模型所預測的分布,比如[0.7,0.2,0.1]

KL-散度直觀的理解就是如果用P來描述樣本,那么就非常完美。而用Q來描述樣本,雖然可以大致描述,但是不是那么的完美,信息量不足,需要額外的一些“信息增量”才能達到和P一樣完美的描述。如果我們的Q通過反復訓練,也能完美的描述樣本,那么就不再需要額外的“信息增量”,Q等價于P。

公式:

使用SciPy中的optimize.minimize來進行優(yōu)化。

def minimize(fun, x0, args=(), method=None, jac=None, hess=None,
    hessp=None, bounds=None, constraints=(), tol=None,
    callback=None, options=None):

幾個重要的參數(shù):

fun:目標函數(shù)(he objective function to be minimized);

x0:參數(shù)初始值(Initial guess. Array of real elements of size (n,));

bounds:參數(shù)取值范圍限制(Bounds on variables for L-BFGS-B, TNC, SLSQP and trust-constr methods.)

constraints:約束函數(shù)(Constraints definition (only for COBYLA, SLSQP and trust-constr)

Constraints for COBYLA, SLSQP are defined as a list of dictionaries.
Each dictionary with fields:
 
 type : str
  Constraint type: 'eq' for equality, 'ineq' for inequality.
 fun : callable
  The function defining the constraint.
 jac : callable, optional
  The Jacobian of `fun` (only for SLSQP).
 args : sequence, optional
  Extra arguments to be passed to the function and Jacobian.
)

tol : 目標函數(shù)誤差范圍,控制迭代結(jié)束(optional Tolerance for termination. For detailed control, use solver-specific options.) options : 其他一些可選參數(shù)(dict, optional A dictionary of solver options. All methods accept the following generic options:)

求解過程:

定義優(yōu)化函數(shù):

def obj_function(x): 其中x為要優(yōu)化的變量,在本問題中有480類的樣本(如:男,24歲,上海),每類樣本10-1000個不等,x為每類抽取的比例。要從中抽取50000個樣本,滿足22個約束條件(男:女=50%:50%、20歲:30歲=9%:11%等等)。

例如:男性要占總樣本的50%,則

選擇優(yōu)化函數(shù)。SciPy中可以使用bounds參數(shù)的算法有:L-BFGS-B, TNC, SLSQP and trust-constr,可以使用constraints 參數(shù)的算法有: COBYLA, SLSQP and trust-constr

調(diào)參:optimize.minimize有統(tǒng)一的參數(shù),但每個優(yōu)化算法都有自己特有的參數(shù),可以看源碼中的參數(shù)列表。

運行:res = optimize.minimize(sample_fun, np.array(x0), bounds=bound, method='L-BFGS-B', tol=1e-11, options={'disp': True, 'maxiter': 300, 'maxfun': 1500000}),最終的結(jié)果保存在res.x中

如果程序沒達到指定的迭代次數(shù)就停止,可能有兩種原因:

STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT 增大參數(shù)maxfun;

CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH 調(diào)小參數(shù)tol

以上這篇淺談SciPy中的optimize.minimize實現(xiàn)受限優(yōu)化問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 對TensorFlow中的variables_to_restore函數(shù)詳解

    對TensorFlow中的variables_to_restore函數(shù)詳解

    今天小編就為大家分享一篇對TensorFlow中的variables_to_restore函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python實現(xiàn)感知器算法詳解

    python實現(xiàn)感知器算法詳解

    這篇文章主要為大家詳細介紹了python實現(xiàn)感知器算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python向Excel中插入圖片的簡單實現(xiàn)方法

    Python向Excel中插入圖片的簡單實現(xiàn)方法

    這篇文章主要介紹了Python向Excel中插入圖片的簡單實現(xiàn)方法,結(jié)合實例形式分析了Python使用XlsxWriter模塊操作Excel單元格插入jpg格式圖片的相關(guān)操作技巧,非常簡單實用,需要的朋友可以參考下
    2018-04-04
  • 一文詳解如何使用Python批量拼接圖片

    一文詳解如何使用Python批量拼接圖片

    這篇文章主要給大家介紹了關(guān)于如何使用Python批量拼接圖片的相關(guān)資料,文中主要用的是PIL庫,PIL庫是一個具有強大圖像處理能力的第三方庫,不僅包含了豐富的像素、色彩操作功能,還可以用于圖像歸檔和批量處理,需要的朋友可以參考下
    2023-05-05
  • Python圖片處理模塊PIL操作方法(pillow)

    Python圖片處理模塊PIL操作方法(pillow)

    這篇文章主要介紹了Python圖片處理模塊PIL操作方法(pillow),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python入門篇之字符串

    Python入門篇之字符串

    可能大多數(shù)人在學習C語言的時候,最先接觸的數(shù)據(jù)類型就是字符串,因為大多教程都是以"Hello world"這個程序作為入門程序,這個程序中要打印的"Hello world"就是字符串。今天我們來了解一下Python中的字符串,看看它的用法。
    2014-10-10
  • Python腳本去除文件的只讀性操作

    Python腳本去除文件的只讀性操作

    這篇文章主要介紹了Python腳本去除文件的只讀性操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 在cmd中查看python的安裝路徑方法

    在cmd中查看python的安裝路徑方法

    在本篇文章里小編給大家整理的是關(guān)于怎樣在cmd中查看python的安裝路徑的相關(guān)內(nèi)容,有興趣的朋友們學習參考下。
    2019-07-07
  • 使用C#配合ArcGIS Engine進行地理信息系統(tǒng)開發(fā)

    使用C#配合ArcGIS Engine進行地理信息系統(tǒng)開發(fā)

    這篇文章主要介紹了使用C#配合ArcGIS Engine進行地理信息系統(tǒng)開發(fā),ArcGIS Engine是Windows系統(tǒng)上可以讓程序員創(chuàng)建自定義的GIS桌面程序,需要的朋友可以參考下
    2016-02-02
  • Python調(diào)用C語言的實現(xiàn)

    Python調(diào)用C語言的實現(xiàn)

    這篇文章主要介紹了Python調(diào)用C語言的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07

最新評論

敖汉旗| 晋州市| 莫力| 杂多县| 全州县| 横峰县| 门头沟区| 罗平县| 巴中市| 彰化市| 巴里| 余干县| 菏泽市| 丰城市| 资中县| 邻水| 沙雅县| 麦盖提县| 东乌珠穆沁旗| 巴中市| 临海市| 大安市| 博野县| 常山县| 武定县| 花垣县| 宿松县| 沙雅县| 兴化市| 房产| 潼关县| 河源市| 康平县| 平顶山市| 清徐县| 壤塘县| 建阳市| 韩城市| 隆德县| 东山县| 泾川县|