HOME 首頁
SERVICE 服務產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務案例
NEWS 熱點資訊
ABOUT 關于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    優(yōu)化算法分類(優(yōu)化算法分類有哪些)

    發(fā)布時間:2023-03-19 18:56:10     稿源: 創(chuàng)意嶺    閱讀: 364        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于優(yōu)化算法分類的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀企業(yè),服務客戶遍布全國,網(wǎng)絡營銷相關業(yè)務請撥打175-8598-2043,或微信:1454722008

    本文目錄:

    優(yōu)化算法分類(優(yōu)化算法分類有哪些)

    一、組合優(yōu)化問題

    從廣義上講,組合優(yōu)化問題是涉及從有限的一組對象中找到"最佳"對象的問題 ?!白罴选笔峭ㄟ^給定的評估函數(shù)來測量的,該函數(shù)將對象映射到某個分數(shù)或者成本,目標是找到最高評估分數(shù)和最低成本的對象。組合優(yōu)化往往涉及排序、分類、篩選等問題。以離散的COP問題來講,目標就是從所有可行解中尋找一個集合、一個排列或者一個圖。

    旅行商問題 (Traveling Salesman Problem - TSP)

    加工調(diào)度問題 (Scheduling Problem,如Flow-Shop,Job-Shop)

    0-1背包問題 (Knapsack Problem)

    裝箱問題 (Bin Packing Problem)

    圖著色問題 (Graph Coloring Problem)

    聚類問題 (Clustering Problem)

    著名的旅行商問題(TSP):假設有一個旅行商人要拜訪n個城市,他必須選擇所要走的路徑,路徑的限制是每個城市只能拜訪一次,而且最后要回到原來出發(fā)的城市。路徑的選擇目標是要求得的路徑長度為所有路徑之中的最小值。TSP是一個典型的組合優(yōu)化問題,且是一個NP完全難題,關于NP的這個概念本文就不做詳細介紹了,但簡單的說就是:TSP問題目前尚不能找到一個多項式時間復雜度的算法來求解。例如,下圖顯示了美國所有州所在城市的最佳旅游:

    對項目的想法 :

    BIOS配置尋優(yōu)也可以理解為組合優(yōu)化問題,是一個NP-hard問題,具有高維的離散動作空間。

    參考 組合優(yōu)化問題求解算法思路的整理

    貪婪算法、局部搜索算法、松弛算法、動態(tài)規(guī)劃法 等都可用于構建近似算法求解。

    啟發(fā)式算法可分為傳統(tǒng)啟發(fā)式算法和元啟發(fā)式算法,傳統(tǒng)啟發(fā)式算法包括 構造性方法、局部搜索算法、松弛方法、解空間縮減算法等

    元啟發(fā)式算法包括 禁忌搜索算法、模擬退火算法、遺傳算法、蟻群算法、粒子群算 法、人工神經(jīng)網(wǎng)絡等 。

    參考 相關資料匯總與點評部分

    二、K-means原理、優(yōu)化、應用

     K-Means算法是無監(jiān)督的聚類算法,它實現(xiàn)起來比較簡單,聚類效果也不錯,因此應用很廣泛。K-Means算法有大量的變體,本文就從最傳統(tǒng)的K-Means算法講起,在其基礎上講述K-Means的優(yōu)化變體方法。包括初始化優(yōu)化K-Means++, 距離計算優(yōu)化elkan K-Means算法和大數(shù)據(jù)情況下的優(yōu)化Mini Batch K-Means算法。

        K-Means算法的思想很簡單,對于給定的樣本集,按照樣本之間的距離大小,將樣本集劃分為K個簇。讓簇內(nèi)的點盡量緊密的連在一起,而讓簇間的距離盡量的大。

    1、隨機選擇K個聚類的初始中心。

    2、對任意一個樣本點,求其到K個聚類中心的距離,將樣本點歸類到距離最小的中心的聚類。

    3、每次迭代過程中,利用均值等方法更新各個聚類的中心點(質(zhì)心)。

    4、對K個聚類中心,利用2、3步迭代更新后,如果位置點變化很小(可以設置閾值),則認為達到穩(wěn)定狀態(tài),迭代結束。(畫圖時,可以對不同的聚類塊和聚類中心可選擇不同的顏色標注)

    1、原理比較簡單,實現(xiàn)也是很容易,收斂速度快。 

    2、聚類效果較優(yōu)。 

    3、算法的可解釋度比較強。 

    4、主要需要調(diào)參的參數(shù)僅僅是簇數(shù)k。

    1、K值的選取不好把握 

    2、對于不是凸的數(shù)據(jù)集比較難收斂 

    3、如果各隱含類別的數(shù)據(jù)不平衡,比如各隱含類別的數(shù)據(jù)量嚴重失衡,或者各隱含類別的方差不同,則聚類效果不佳。 

    4、 最終結果和初始點的選擇有關,容易陷入局部最優(yōu)。

    5、對噪音和異常點比較的敏感。

        解決K-Means算法對 初始簇心 比較敏感的問題,二分K-Means算法是一種弱化初始質(zhì)心的一種算法。

    1、將所有樣本數(shù)據(jù)作為一個簇放到一個隊列中。

    2、從隊列中選擇一個簇進行K-Means算法劃分,劃分為兩個子簇,并將子簇添加到隊列中。

    3、循環(huán)迭代步驟2操作,直到中止條件達到(聚簇數(shù)量、最小平方誤差、迭代次數(shù)等)。

    4、隊列中的簇就是最終的分類簇集合。

    從隊列中選擇劃分聚簇的規(guī)則一般有兩種方式;分別如下:

    1、對所有簇計算誤差和SSE(SSE也可以認為是距離函數(shù)的一種變種),選擇SSE最大的聚簇進行劃分操作(優(yōu)選這種策略)。

    2、選擇樣本數(shù)據(jù)量最多的簇進行劃分操作:

        由于 K-means 算法的分類結果會受到初始點的選取而有所區(qū)別,因此有提出這種算法的改進: K-means++ 。

        其實這個算法也只是對初始點的選擇有改進而已,其他步驟都一樣。初始質(zhì)心選取的基本思路就是, 初始的聚類中心之間的相互距離要盡可能的遠 。

    1、隨機選取一個樣本作為第一個聚類中心 c1;

    2、計算每個樣本與當前已有類聚中心最短距離(即與最近一個聚類中心的距離),用 D(x)表示;這個值越大,表示被選取作為聚類中心的概率較大;最后,用輪盤法選出下一個聚類中心。

    3、重復步驟2,知道選出 k 個聚類中心。

    4、選出初始點(聚類中心),就繼續(xù)使用標準的 k-means 算法了。

    盡管K-Means++在聚類中心的計算上浪費了很多時間,但是在迭代過程中,k-mean 本身能快速收斂,因此算法實際上降低了計算時間。

          解決K-Means++算法缺點而產(chǎn)生的一種算法;主要思路是改變每次遍歷時候的取樣規(guī)則,并非按照K-Means++算法每次遍歷只獲取一個樣本,而是每次獲取K個樣本,重復該取樣操作O(logn)次 (n是樣本的個數(shù)) ,然后再將這些抽樣出來的樣本聚類出K個點,最后使用這K個點作為K-Means算法的初始聚簇中心點。實踐證明:一般5次重復采用就可以保證一個比較好的聚簇中心點。

    1、在N個樣本中抽K個樣本,一共抽logn次,形成一個新的樣本集,一共有Klogn個數(shù)據(jù)。

    2、在新數(shù)據(jù)集中使用K-Means算法,找到K個聚簇中心。

    3、把這K個聚簇中心放到最初的樣本集中,作為初始聚簇中心。

    4、原數(shù)據(jù)集根據(jù)上述初始聚簇中心,再用K-Means算法計算出最終的聚簇。

            Canopy屬于一種‘粗’聚類算法,即使用一種簡單、快捷的距離計算方法將數(shù)據(jù)集分為若干可重疊的子集canopy,這種算法不需要指定k值、但精度較低,可以結合K-means算法一起使用:先由Canopy算法進行粗聚類得到k個質(zhì)心,再使用K-means算法進行聚類。

     1、將原始樣本集隨機排列成樣本列表L=[x1,x2,...,xm](排列好后不再更改),根據(jù)先驗知識或交叉驗證調(diào)參設定初始距離閾值T1、T2,且T1>T2 。

    2、從列表L中隨機選取一個樣本P作為第一個canopy的質(zhì)心,并將P從列表中刪除。

    3、從列表L中隨機選取一個樣本Q,計算Q到所有質(zhì)心的距離,考察其中最小的距離D:

    如果D≤T1,則給Q一個弱標記,表示Q屬于該canopy,并將Q加入其中;

    如果D≤T2,則給Q一個強標記,表示Q屬于該canopy,且和質(zhì)心非常接近,所以將該canopy的質(zhì)心設為所有強標記樣本的中心位置,并將Q從列表L中刪除;

     如果D>T1,則Q形成一個新的聚簇,并將Q從列表L中刪除。

    4、重復第三步直到列表L中元素個數(shù)為零。

    1、‘粗’距離計算的選擇對canopy的分布非常重要,如選擇其中某個屬性、其他外部屬性、歐式距離等。

    2、當T2<D≤T1時,樣本不會從列表中被刪除,而是繼續(xù)參與下一輪迭代,直到成為新的質(zhì)心或者某個canopy的強標記成員。

    3、T1、T2的取值影響canopy的重疊率及粒度:當T1過大時,會使樣本屬于多個canopy,各個canopy間區(qū)別不明顯;當T2過大時,會減少canopy個數(shù),而當T2過小時,會增加canopy個數(shù),同時增加計算時間。

    4、canopy之間可能存在重疊的情況,但是不會存在某個樣本不屬于任何canopy的情況。

    5、Canopy算法可以消除孤立點,即刪除包含樣本數(shù)目較少的canopy,往往這些canopy包含的是孤立點或噪音點。

        由于K-Means算法存在初始聚簇中心點敏感的問題,常用使用Canopy+K-Means算法混合形式進行模型構建。

    1、先使用canopy算法進行“粗”聚類得到K個聚類中心點。

    2、K-Means算法使用Canopy算法得到的K個聚類中心點作為初始中心點,進行“細”聚類。

    1、執(zhí)行速度快(先進行了一次聚簇中心點選擇的預處理);

    2、不需要給定K值,應用場景多。

    3、能夠緩解K-Means算法對于初始聚類中心點敏感的問題。

        Mini Batch K-Means算法是K-Means算法的一種優(yōu)化變種,采用 小規(guī)模的數(shù)據(jù)子集 (每次訓練使用的數(shù)據(jù)集是在訓練算法的時候隨機抽取的數(shù)據(jù)子集) 減少計算時間 ,同時試圖優(yōu)化目標函數(shù);Mini Batch K-Means算法可以減少K-Means算法的收斂時間,而且產(chǎn)生的結果效果只是略差于標準K-Means算法。

    1、首先抽取部分數(shù)據(jù)集,使用K-Means算法構建出K個聚簇點的模型。

    2、繼續(xù)抽取訓練數(shù)據(jù)集中的部分數(shù)據(jù)集樣本數(shù)據(jù),并將其添加到模型中,分配給距離最近的聚簇中心點。

    3、更新聚簇的中心點值。

    4、循環(huán)迭代第二步和第三步操作,直到中心點穩(wěn)定或者達到迭代次數(shù),停止計算操作。

    https://www.jianshu.com/p/f0727880c9c0

    三、數(shù)學建模分類模型有哪些

    數(shù)學建模常用模型有哪些?

    1、蒙特卡羅算法(該算法又稱隨機性模擬算法,是通過計算機仿真來解決問題的算

    法,同時可以通過模擬可以來檢驗自己模型的正確性,是比賽時必用的方法)

    2、數(shù)據(jù)擬合、參數(shù)估計、插值等數(shù)據(jù)處理算法(比賽中通常會遇到大量的數(shù)據(jù)需要

    處理,而處理數(shù)據(jù)的關鍵就在于這些算法,通常使用Matlab作為工具)

    3、線性規(guī)劃、整數(shù)規(guī)劃、多元規(guī)劃、二次規(guī)劃等規(guī)劃類問題(建模競賽大多數(shù)問題

    屬于最優(yōu)化問題,很多時候這些問題可以用數(shù)學規(guī)劃算法來描述,通常使用Lindo、

    Lingo軟件實現(xiàn))

    4、圖論算法(這類算法可以分為很多種,包括最短路、網(wǎng)絡流、二分圖等算法,涉

    及到圖論的問題可以用這些方法解決,需要認真準備)

    5、動態(tài)規(guī)劃、回溯搜索、分治算法、分支定界等計算機算法(這些算法是算法設計

    中比較常用的方法,很多場合可以用到競賽中)

    6、最優(yōu)化理論的三大非經(jīng)典算法:模擬退火法、神經(jīng)網(wǎng)絡、遺傳算法(這些問題是

    用來解決一些較困難的最優(yōu)化問題的算法,對于有些問題非常有幫助,但是算法的實

    現(xiàn)比較困難,需慎重使用)

    7、網(wǎng)格算法和窮舉法(網(wǎng)格算法和窮舉法都是暴力搜索最優(yōu)點的算法,在很多競賽

    題中有應用,當重點討論模型本身而輕視算法的時候,可以使用這種暴力方案,最好

    使用一些高級語言作為編程工具)

    8、一些連續(xù)離散化方法(很多問題都是實際來的,數(shù)據(jù)可以是連續(xù)的,而計算機只

    認的是離散的數(shù)據(jù),因此將其離散化后進行差分代替微分、求和代替積分等思想是非

    常重要的)

    9、數(shù)值分析算法(如果在比賽中采用高級語言進行編程的話,那一些數(shù)值分析中常

    用的算法比如方程組求解、矩陣運算、函數(shù)積分等算法就需要額外編寫庫函數(shù)進行調(diào)

    用)

    10、圖象處理算法(賽題中有一類問題與圖形有關,即使與圖形無關,論文中也應該

    要不乏圖片的,這些圖形如何展示以及如何處理就是需要解決的問題,通常使用Matlab

    四、什么是網(wǎng)格搜索法?如何用它來優(yōu)化學習算法

    網(wǎng)格搜索法是指定參數(shù)值的一種窮舉搜索方法,通過將估計函數(shù)的參數(shù)通過交叉驗證的方法進行優(yōu)化來得到最優(yōu)的學習算法。

    即,將各個參數(shù)可能的取值進行排列組合,列出所有可能的組合結果生成“網(wǎng)格”。然后將各組合用于SVM訓練,并使用交叉驗證對表現(xiàn)進行評估。在擬合函數(shù)嘗試了所有的參數(shù)組合后,返回一個合適的分類器,自動調(diào)整至最佳參數(shù)組合,可以通過clf.best_params_獲得參數(shù)值

    以上就是關于優(yōu)化算法分類相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    網(wǎng)站seo整站優(yōu)化(網(wǎng)站seo整站優(yōu)化工具)

    網(wǎng)站關鍵詞提升(網(wǎng)站關鍵詞怎樣優(yōu)化)

    寧波關鍵詞優(yōu)化首選(寧波關鍵詞優(yōu)化軟件)

    物業(yè)春節(jié)社區(qū)文化活動方案(小區(qū)物業(yè)春節(jié)活動策劃書)

    網(wǎng)站模版