導航:首頁 > 源碼編譯 > 一種基於智能提取演算法的韓國禮服

一種基於智能提取演算法的韓國禮服

發布時間:2023-07-10 10:09:10

1. 智能優化演算法:供需優化演算法

@[toc]
摘要:供需優化(supply-demand-based optimization,SDO)演算法是 Zhao 等於 2019 年受經濟學供需機制的啟發而提出的一種新型元啟發式優化演算法。該演算法在數學上模擬了消費者的需求關系和生產者的供給關系,通過將供求機制之穩定模式和非穩定模式引入到 SDO 演算法中,利用兩種模式在給定空間中進行局部搜索和全局搜索求解待優化問題。與傳統群智能演算法相比,SDO 演算法收斂速度快、尋優精度高、調節參數少,具有較好的探索和開發能力。

SDO 數學描述簡述如下:

(1) SDO 演算法初始化。假設有 個市場,每個市場有 種不同的商品,每種商品都有一定的數量和價格。市場中 種商品價格表示優化問題 維變數的一組候選解,同時將市場中 種商品數量作為一組可行解進行評估,如果可行解優於候選解,則可行解替換候選解。 個市場商品價格和商品數量分別用 、 兩個矩陣表示:

式中: 和 分別為第 個商品價格和數量; 和 分別為第 個商品在第 個市場中的價格和數量。

利用適應度函數分別對每個市場中的商品價格和數量進行評估,對於 個市場,商品價格和商品數量的適應度分別為:

(2)商品均衡數量與均衡價格。假設每種商品的均衡價格 和均衡數量 在每次迭代過程中都是可變的,從每個市場商品數量集合中選擇一種商品數量作為其數量均衡向量,其市場適應度值越大,表示每個市場所選商品數量的概率就越大。同時,每個市場也可以根據其概率從商品價格集合中選擇一種商品價格或以所有市場商品價格的平均值作為均衡價格。商品均衡數量 表示如下:

其中:

式中: 為商品數量 的適應度值; 為比選運算元(roulette wheel selection)。

商品均衡價格 表示如下:

其中:

式中: 為商品價格 的適應度值; 為[0,1]中的隨機數。

供給函數和需求函數。依據均衡數量 、均衡價格 分別給出供給函數和需求函數:

式中: 和 分別為第 次迭代第 個商品價格和數量; 和 分別為需求權重和供給權重,通過調整 對均衡價格和均衡數量進行更新。

將式(6)插入式(7)中,可以將需求算式重寫為:

供應權重 和需求權重 分別為:

式中: 為最大迭代次數。用變數 表示供應權重 和需求權重 的乘積,可以得到:

變數 有助於 SDO 演算法在勘探和開發之間平穩過渡。 屬穩定模式,通過調整供應權重 和需求權重 得到均衡價格 周圍不同的商品價格,這些商品價格可以通過隨機數 在當前價格和均衡價格之間隨機變化,穩定模式機制強調「開發」以改善SDO 演算法的局部勘探能力。 屬非穩定模式,它允許任何市場中的商品價格遠離均衡價格,非穩定模式機制迫使每個市場在搜索空間中加強「勘探」未知區域以提高 SDO 演算法的全局搜索能力。

演算法步驟:

step1:設置 SDO 演算法市場群體數 ,最大迭代次數 ,問題維度,搜索空間。隨機初始化商品價格 和商品數量 ,令當前迭代次數 t=0。

step2:計算商品價格 和商品數量 的適應度值 和 ,如果 優於 ,則用 代替 ,保存 為當前最優解。

step3確定供應權重 和需求權重

step4:對於每個市場,利用式(4)確定均衡數量 ;利用式(5)確定均衡價格 。

step5:利用式(6) 更新商品數量 ;利用式(7)更新商品價格 。基於式(14)計算商品價格 和商品數量 的適應度值 和 ,如果 優於 ,則用 代替 ,保存 為當前最優解。

step6:令 t=t+1。判斷演算法是否達到終止條件,若是,輸出最優解 x best ,演算法結束;否則重復step2~step6。

[1] Engineering; Hebei University of Engineering Details Findings in Engineering (Supply-demand-based Optimization: a Novel Economics-inspired Algorithm for Global Optimization)[J]. Journal of Engineering,2019,{4}{5}:

[1]崔東文,李代華.基坑變形預測的改進供需優化演算法-指數冪乘積模型[J].水利水電科技進展,2020,40(04):43-50.

2. 人工智慧演算法簡介

人工智慧的三大基石—演算法、數據和計算能力,演算法作為其中之一,是非常重要的,那麼人工智慧都會涉及哪些演算法呢?不同演算法適用於哪些場景呢?

一、按照模型訓練方式不同可以分為監督學習(Supervised Learning),無監督學習(Unsupervised Learning)、半監督學習(Semi-supervised Learning)和強化學習(Reinforcement Learning)四大類。

常見的監督學習演算法包含以下幾類:
(1)人工神經網路(Artificial Neural Network)類:反向傳播(Backpropagation)、波爾茲曼機(Boltzmann Machine)、卷積神經網路(Convolutional Neural Network)、Hopfield網路(hopfield Network)、多層感知器(Multilyer Perceptron)、徑向基函數網路(Radial Basis Function Network,RBFN)、受限波爾茲曼機(Restricted Boltzmann Machine)、回歸神經網路(Recurrent Neural Network,RNN)、自組織映射(Self-organizing Map,SOM)、尖峰神經網路(Spiking Neural Network)等。
(2)貝葉斯類(Bayesin):樸素貝葉斯(Naive Bayes)、高斯貝葉斯(Gaussian Naive Bayes)、多項樸素貝葉斯(Multinomial Naive Bayes)、平均-依賴性評估(Averaged One-Dependence Estimators,AODE)
貝葉斯信念網路(Bayesian Belief Network,BBN)、貝葉斯網路(Bayesian Network,BN)等。
(3)決策樹(Decision Tree)類:分類和回歸樹(Classification and Regression Tree,CART)、迭代Dichotomiser3(Iterative Dichotomiser 3, ID3),C4.5演算法(C4.5 Algorithm)、C5.0演算法(C5.0 Algorithm)、卡方自動交互檢測(Chi-squared Automatic Interaction Detection,CHAID)、決策殘端(Decision Stump)、ID3演算法(ID3 Algorithm)、隨機森林(Random Forest)、SLIQ(Supervised Learning in Quest)等。
(4)線性分類器(Linear Classifier)類:Fisher的線性判別(Fisher』s Linear Discriminant)
線性回歸(Linear Regression)、邏輯回歸(Logistic Regression)、多項邏輯回歸(Multionmial Logistic Regression)、樸素貝葉斯分類器(Naive Bayes Classifier)、感知(Perception)、支持向量機(Support Vector Machine)等。

常見的無監督學習類演算法包括:
(1) 人工神經網路(Artificial Neural Network)類:生成對抗網路(Generative Adversarial Networks,GAN),前饋神經網路(Feedforward Neural Network)、邏輯學習機(Logic Learning Machine)、自組織映射(Self-organizing Map)等。
(2) 關聯規則學習(Association Rule Learning)類:先驗演算法(Apriori Algorithm)、Eclat演算法(Eclat Algorithm)、FP-Growth演算法等。
(3)分層聚類演算法(Hierarchical Clustering):單連鎖聚類(Single-linkage Clustering),概念聚類(Conceptual Clustering)等。
(4)聚類分析(Cluster analysis):BIRCH演算法、DBSCAN演算法,期望最大化(Expectation-maximization,EM)、模糊聚類(Fuzzy Clustering)、K-means演算法、K均值聚類(K-means Clustering)、K-medians聚類、均值漂移演算法(Mean-shift)、OPTICS演算法等。
(5)異常檢測(Anomaly detection)類:K最鄰近(K-nearest Neighbor,KNN)演算法,局部異常因子演算法(Local Outlier Factor,LOF)等。

常見的半監督學習類演算法包含:生成模型(Generative Models)、低密度分離(Low-density Separation)、基於圖形的方法(Graph-based Methods)、聯合訓練(Co-training)等。

常見的強化學習類演算法包含:Q學習(Q-learning)、狀態-行動-獎勵-狀態-行動(State-Action-Reward-State-Action,SARSA)、DQN(Deep Q Network)、策略梯度演算法(Policy Gradients)、基於模型強化學習(Model Based RL)、時序差分學習(Temporal Different Learning)等。

常見的深度學習類演算法包含:深度信念網路(Deep Belief Machines)、深度卷積神經網路(Deep Convolutional Neural Networks)、深度遞歸神經網路(Deep Recurrent Neural Network)、分層時間記憶(Hierarchical Temporal Memory,HTM)、深度波爾茲曼機(Deep Boltzmann Machine,DBM)、棧式自動編碼器(Stacked Autoencoder)、生成對抗網路(Generative Adversarial Networks)等。

二、按照解決任務的不同來分類,粗略可以分為二分類演算法(Two-class Classification)、多分類演算法(Multi-class Classification)、回歸演算法(Regression)、聚類演算法(Clustering)和異常檢測(Anomaly Detection)五種。
1.二分類(Two-class Classification)
(1)二分類支持向量機(Two-class SVM):適用於數據特徵較多、線性模型的場景。
(2)二分類平均感知器(Two-class Average Perceptron):適用於訓練時間短、線性模型的場景。
(3)二分類邏輯回歸(Two-class Logistic Regression):適用於訓練時間短、線性模型的場景。
(4)二分類貝葉斯點機(Two-class Bayes Point Machine):適用於訓練時間短、線性模型的場景。(5)二分類決策森林(Two-class Decision Forest):適用於訓練時間短、精準的場景。
(6)二分類提升決策樹(Two-class Boosted Decision Tree):適用於訓練時間短、精準度高、內存佔用量大的場景
(7)二分類決策叢林(Two-class Decision Jungle):適用於訓練時間短、精確度高、內存佔用量小的場景。
(8)二分類局部深度支持向量機(Two-class Locally Deep SVM):適用於數據特徵較多的場景。
(9)二分類神經網路(Two-class Neural Network):適用於精準度高、訓練時間較長的場景。

解決多分類問題通常適用三種解決方案:第一種,從數據集和適用方法入手,利用二分類器解決多分類問題;第二種,直接使用具備多分類能力的多分類器;第三種,將二分類器改進成為多分類器今兒解決多分類問題。
常用的演算法:
(1)多分類邏輯回歸(Multiclass Logistic Regression):適用訓練時間短、線性模型的場景。
(2)多分類神經網路(Multiclass Neural Network):適用於精準度高、訓練時間較長的場景。
(3)多分類決策森林(Multiclass Decision Forest):適用於精準度高,訓練時間短的場景。
(4)多分類決策叢林(Multiclass Decision Jungle):適用於精準度高,內存佔用較小的場景。
(5)「一對多」多分類(One-vs-all Multiclass):取決於二分類器效果。

回歸
回歸問題通常被用來預測具體的數值而非分類。除了返回的結果不同,其他方法與分類問題類似。我們將定量輸出,或者連續變數預測稱為回歸;將定性輸出,或者離散變數預測稱為分類。長巾的演算法有:
(1)排序回歸(Ordinal Regression):適用於對數據進行分類排序的場景。
(2)泊松回歸(Poission Regression):適用於預測事件次數的場景。
(3)快速森林分位數回歸(Fast Forest Quantile Regression):適用於預測分布的場景。
(4)線性回歸(Linear Regression):適用於訓練時間短、線性模型的場景。
(5)貝葉斯線性回歸(Bayesian Linear Regression):適用於線性模型,訓練數據量較少的場景。
(6)神經網路回歸(Neural Network Regression):適用於精準度高、訓練時間較長的場景。
(7)決策森林回歸(Decision Forest Regression):適用於精準度高、訓練時間短的場景。
(8)提升決策樹回歸(Boosted Decision Tree Regression):適用於精確度高、訓練時間短、內存佔用較大的場景。

聚類
聚類的目標是發現數據的潛在規律和結構。聚類通常被用做描述和衡量不同數據源間的相似性,並把數據源分類到不同的簇中。
(1)層次聚類(Hierarchical Clustering):適用於訓練時間短、大數據量的場景。
(2)K-means演算法:適用於精準度高、訓練時間短的場景。
(3)模糊聚類FCM演算法(Fuzzy C-means,FCM):適用於精確度高、訓練時間短的場景。
(4)SOM神經網路(Self-organizing Feature Map,SOM):適用於運行時間較長的場景。
異常檢測
異常檢測是指對數據中存在的不正常或非典型的分體進行檢測和標志,有時也稱為偏差檢測。
異常檢測看起來和監督學習問題非常相似,都是分類問題。都是對樣本的標簽進行預測和判斷,但是實際上兩者的區別非常大,因為異常檢測中的正樣本(異常點)非常小。常用的演算法有:
(1)一分類支持向量機(One-class SVM):適用於數據特徵較多的場景。
(2)基於PCA的異常檢測(PCA-based Anomaly Detection):適用於訓練時間短的場景。

常見的遷移學習類演算法包含:歸納式遷移學習(Inctive Transfer Learning) 、直推式遷移學習(Transctive Transfer Learning)、無監督式遷移學習(Unsupervised Transfer Learning)、傳遞式遷移學習(Transitive Transfer Learning)等。

演算法的適用場景:
需要考慮的因素有:
(1)數據量的大小、數據質量和數據本身的特點
(2)機器學習要解決的具體業務場景中問題的本質是什麼?
(3)可以接受的計算時間是什麼?
(4)演算法精度要求有多高?
————————————————

原文鏈接: https://blog.csdn.net/nfzhlk/article/details/82725769

3. 人工智慧演算法有哪些

人工智慧演算法有:決策樹、隨機森林演算法、邏輯回歸、SVM、樸素貝葉斯、K最近鄰演算法、K均值演算法、Adaboost演算法、神經網路、馬爾可夫。

4. 人工智慧演算法是什麼

人工智慧演算法主要是機器學習的演算法
積極學習是一種通過數據來調優模型的方法論,模型的精度達到可以使用了,那麼他就能夠完成一些預判的任務,很多現實問題都可以轉化成一個一個的預判類型
人工智慧演算法,尤其是深度學習,需要大量的數據,演算法其實就是模型

5. 什麼是智能優化演算法

群體智能優化演算法是一類基於概率的隨機搜索進化演算法,各個演算法之間存在結構、研究內容、計算方法等具有較大的相似性。因此,群體智能優化演算法可以建立一個基本的理論框架模式:

Step1:設置參數,初始化種群;

Step2:生成一組解,計算其適應值;

Step3:由個體最有適應著,通過比較得到群體最優適應值;

Step4:判斷終止條件示否滿足?如果滿足,結束迭代;否則,轉向Step2;

各個群體智能演算法之間最大不同在於演算法更新規則上,有基於模擬群居生物運動步長更新的(如PSO,AFSA與SFLA),也有根據某種演算法機理設置更新規則(如ACO)。

(5)一種基於智能提取演算法的韓國禮服擴展閱讀

優化演算法有很多,經典演算法包括:有線性規劃,動態規劃等;改進型局部搜索演算法包括爬山法,最速下降法等,模擬退火、遺傳演算法以及禁忌搜索稱作指導性搜索法。而神經網路,混沌搜索則屬於系統動態演化方法。

優化思想裡面經常提到鄰域函數,它的作用是指出如何由當前解得到一個(組)新解。其具體實現方式要根據具體問題分析來定。

6. 智能演算法的演算法分類

模擬退火演算法的依據是固體物質退火過程和組合優化問題之間的相似性。物質在加熱的時候,粒子間的布朗運動增強,到達一定強度後,固體物質轉化為液態,這個時候再進行退火,粒子熱運動減弱,並逐漸趨於有序,最後達到穩定。
模擬退火的解不再像局部搜索那樣最後的結果依賴初始點。它引入了一個接受概率p。如果新的點(設為pn)的目標函數f(pn)更好,則p=1,表示選取新點;否則,接受概率p是當前點(設為pc)的目標函數f(pc),新點的目標函數f(pn)以及另一個控制參數「溫度」T的函數。也就是說,模擬退火沒有像局部搜索那樣每次都貪婪地尋找比現在好的點,目標函數差一點的點也有可能接受進來。隨著演算法的執行,系統溫度T逐漸降低,最後終止於某個低溫,在該溫度下,系統不再接受變化。
模擬退火的典型特徵是除了接受目標函數的改進外,還接受一個衰減極限,當T較大時,接受較大的衰減,當T逐漸變小時,接受較小的衰減,當T為0時,就不再接受衰減。這一特徵意味著模擬退火與局部搜索相反,它能避開局部極小,並且還保持了局部搜索的通用性和簡單性。
在物理上,先加熱,讓分子間互相碰撞,變成無序狀態,內能加大,然後降溫,最後的分子次序反而會更有序,內能比沒有加熱前更小。就像那隻兔子,它喝醉後,對比較近的山峰視而不見,迷迷糊糊地跳一大圈子,反而更有可能找到珠峰。
值得注意的是,當T為0時,模擬退火就成為局部搜索的一個特例。
模擬退火的偽碼表達:
procere simulated annealing
begin
t:=0;
initialize temperature T
select a current string vc at random;
evaluate vc;
repeat
repeat
select a new string vn in the neighborhood of vc; (1)
if f(vc)<f(vn)
then vc:=vn;
else if random [0,1] <exp ((f (vn)-f (vc))/T) (2)
then vc:=vn;
until (termination-condition) (3)
T:=g(T,t); (4)
T:=t+1;
until (stop-criterion) (5)
end;
上面的程序中,關鍵的是(1)新狀態產生函數,(2)新狀態接受函數,(3)抽樣穩定準則,(4)退溫函數,(5)退火結束准則(簡稱三函數兩准則)是直接影響優化結果的主要環節。雖然實驗結果證明初始值對於最後的結果沒有影響,但是初溫越高,得到高質量解的概率越大。所以,應該盡量選取比較高的初溫。
上面關鍵環節的選取策略:
(1)狀態產生函數:候選解由當前解的鄰域函數決定,可以取互換,插入,逆序等操作產生,然後根據概率分布方式選取新的解,概率可以取均勻分布、正態分布、高斯分布、柯西分布等。
(2)狀態接受函數:這個環節最關鍵,但是,實驗表明,何種接受函數對於最後結果影響不大。所以,一般選取min [1, exp ((f (vn)-f (vc))/T)]。
(3)抽樣穩定準則:一般常用的有:檢驗目標函數的均值是否穩定;連續若干步的目標值變化較小;規定一定的步數;
(4)退溫函數:如果要求溫度必須按照一定的比率下降,SA演算法可以採用,但是溫度下降很慢;快速SA中,一般採用 。目前,經常用的是 ,是一個不斷變化的值。
(5)退火結束准則:一般有:設置終止溫度;設置迭代次數;搜索到的最優值連續多次保持不變;檢驗系統熵是否穩定。
為了保證有比較優的解,演算法往往採取慢降溫、多抽樣、以及把「終止溫度」設的比較低等方式,導致演算法運行時間比較長,這也是模擬退火的最大缺點。人喝醉了酒辦起事來都不利索,何況兔子? 「物競天擇,適者生存」,是進化論的基本思想。遺傳演算法就是模擬自然界想做的事。遺傳演算法可以很好地用於優化問題,若把它看作對自然過程高度理想化的模擬,更能顯出它本身的優雅——雖然生存競爭是殘酷的。
遺傳演算法以一種群體中的所有個體為對象,並利用隨機化技術指導對一個被編碼的參數空間進行高效搜索。其中,選擇、交叉和變異構成了遺傳演算法的遺傳操作;參數編碼、初始群體的設定、適應度函數的設計、遺傳操作設計、控制參數設定五個要素組成了遺傳演算法的核心內容。作為一種新的全局優化搜索演算法,遺傳演算法以其簡單通用、健壯性強、適於並行處理以及高效、實用等顯著特點,在各個領域得到了廣泛應用,取得了良好效果,並逐漸成為重要的智能演算法之一。
遺傳演算法的偽碼:
procere genetic algorithm
begin
initialize a group and evaluate the fitness value ; (1)
while not convergent (2)
begin
select; (3)
if random[0,1]<pc then
crossover; (4)
if random (0,1)<pm then
mutation; (5)
end;
end
上述程序中有五個重要的環節:
(1)編碼和初始群體的生成:GA在進行搜索之前先將解空間的解數據表示成遺傳空間的基因型串結構數據,這些串結構數據的不同組合便構成了不同的點。然後隨機產生N個初始串結構數據,每個串結構數據稱為一個個體, N個體構成了一個群體。GA以這N個串結構數據作為初始點開始迭代。
比如,旅行商問題中,可以把商人走過的路徑進行編碼,也可以對整個圖矩陣進行編碼。編碼方式依賴於問題怎樣描述比較好解決。初始群體也應該選取適當,如果選取的過小則雜交優勢不明顯,演算法性能很差(數量上佔了優勢的老鼠進化能力比老虎強),群體選取太大則計算量太大。
(2)檢查演算法收斂准則是否滿足,控制演算法是否結束。可以採用判斷與最優解的適配度或者定一個迭代次數來達到。
(3)適應性值評估檢測和選擇:適應性函數表明個體或解的優劣性,在程序的開始也應該評價適應性,以便和以後的做比較。不同的問題,適應性函數的定義方式也不同。根據適應性的好壞,進行選擇。選擇的目的是為了從當前群體中選出優良的個體,使它們有機會作為父代為下一代繁殖子孫。遺傳演算法通過選擇過程體現這一思想,進行選擇的原則是適應性強的個體為下一代貢獻一個或多個後代的概率大。選擇實現了達爾文的適者生存原則。
(4)雜交:按照雜交概率(pc)進行雜交。雜交操作是遺傳演算法中最主要的遺傳操作。通過雜交操作可以得到新一代個體,新個體組合了其父輩個體的特性。雜交體現了信息交換的思想。
可以選定一個點對染色體串進行互換,插入,逆序等雜交,也可以隨機選取幾個點雜交。雜交概率如果太大,種群更新快,但是高適應性的個體很容易被淹沒,概率小了搜索會停滯。
(5)變異:按照變異概率(pm)進行變異。變異首先在群體中隨機選擇一個個體,對於選中的個體以一定的概率隨機地改變串結構數據中某個串的值。同生物界一樣,GA中變異發生的概率很低。變異為新個體的產生提供了機會。
變異可以防止有效基因的缺損造成的進化停滯。比較低的變異概率就已經可以讓基因不斷變更,太大了會陷入隨機搜索。想一下,生物界每一代都和上一代差距很大,會是怎樣的可怕情形。
就像自然界的變異適和任何物種一樣,對變數進行了編碼的遺傳演算法沒有考慮函數本身是否可導,是否連續等性質,所以適用性很強;並且,它開始就對一個種群進行操作,隱含了並行性,也容易找到「全局最優解」。 為了找到「全局最優解」,就不應該執著於某一個特定的區域。局部搜索的缺點就是太貪婪地對某一個局部區域以及其鄰域搜索,導致一葉障目,不見泰山。禁忌搜索就是對於找到的一部分局部最優解,有意識地避開它(但不是完全隔絕),從而獲得更多的搜索區間。兔子們找到了泰山,它們之中的一隻就會留守在這里,其他的再去別的地方尋找。就這樣,一大圈後,把找到的幾個山峰一比較,珠穆朗瑪峰脫穎而出。
當兔子們再尋找的時候,一般地會有意識地避開泰山,因為他們知道,這里已經找過,並且有一隻兔子在那裡看著了。這就是禁忌搜索中「禁忌表(tabu list)」的含義。那隻留在泰山的兔子一般不會就安家在那裡了,它會在一定時間後重新回到找最高峰的大軍,因為這個時候已經有了許多新的消息,泰山畢竟也有一個不錯的高度,需要重新考慮,這個歸隊時間,在禁忌搜索裡面叫做「禁忌長度(tabu length)」;如果在搜索的過程中,留守泰山的兔子還沒有歸隊,但是找到的地方全是華北平原等比較低的地方,兔子們就不得不再次考慮選中泰山,也就是說,當一個有兔子留守的地方優越性太突出,超過了「best to far」的狀態,就可以不顧及有沒有兔子留守,都把這個地方考慮進來,這就叫「特赦准則(aspiration criterion)」。這三個概念是禁忌搜索和一般搜索准則最不同的地方,演算法的優化也關鍵在這里。
偽碼表達:
procere tabu search;
begin
initialize a string vc at random,clear up the tabu list;
cur:=vc;
repeat
select a new string vn in the neighborhood of vc;
if va>best_to_far then {va is a string in the tabu list}
begin
cur:=va;
let va take place of the oldest string in the tabu list;
best_to_far:=va;
end else
begin
cur:=vn;
let vn take place of the oldest string in the tabu list;
end;
until (termination-condition);
end;
以上程序中有關鍵的幾點:
(1)禁忌對象:可以選取當前的值(cur)作為禁忌對象放進tabu list,也可以把和當然值在同一「等高線」上的都放進tabu list。
(2)為了降低計算量,禁忌長度和禁忌表的集合不宜太大,但是禁忌長度太小容易循環搜索,禁忌表太小容易陷入「局部極優解」。
(3)上述程序段中對best_to_far的操作是直接賦值為最優的「解禁候選解」,但是有時候會出現沒有大於best_to_far的,候選解也全部被禁的「死鎖」狀態,這個時候,就應該對候選解中最佳的進行解禁,以能夠繼續下去。
(4)終止准則:和模擬退火,遺傳演算法差不多,常用的有:給定一個迭代步數;設定與估計的最優解的距離小於某個范圍時,就終止搜索;當與最優解的距離連續若干步保持不變時,終止搜索;
禁忌搜索是對人類思維過程本身的一種模擬,它通過對一些局部最優解的禁忌(也可以說是記憶)達到接納一部分較差解,從而跳出局部搜索的目的。 人工神經網路(Artificial Neural Network,ANN)
神經網路從名字就知道是對人腦的模擬。它的神經元結構,它的構成與作用方式都是在模仿人腦,但是也僅僅是粗糙的模仿,遠沒有達到完美的地步。和馮·諾依曼機不同,神經網路計算非數字,非精確,高度並行,並且有自學習功能。
生命科學中,神經細胞一般稱作神經元,它是整個神經結構的最基本單位。每個神經細胞就像一條胳膊,其中像手掌的地方含有細胞核,稱作細胞體,像手指的稱作樹突,是信息的輸入通路,像手臂的稱作軸突,是信息的輸出通路;神經元之間錯綜復雜地連在一起,互相之間傳遞信號,而傳遞的信號可以導致神經元電位的變化,一旦電位高出一定值,就會引起神經元的激發,此神經元就會通過軸突傳出電信號。
而如果要用計算機模仿生物神經,就需要人工的神經網路有三個要素:(1)形式定義人工神經元;(2)給出人工神經元的連接方式,或者說給出網路結構;(3)給出人工神經元之間信號強度的定義。
歷史上第一個人工神經網路模型稱作M-P模型,非常簡單:
其中,表示神經元i在t時刻的狀態,為1表示激發態,為0表示抑制態;是神經元i和j之間的連接強度;表示神經元i的閾值,超過這個值神經元才能激發。
這個模型是最簡單的神經元模型。但是功能已經非常強大:此模型的發明人McCulloch和Pitts已經證明,不考慮速度和實現的復雜性,它可以完成當前數字計算機的任何工作。
以上這個M-P模型僅僅是一層的網路,如果從對一個平面進行分割的方面來考慮的話,M-P網路只能把一個平面分成個半平面,卻不能夠選取特定的一部分。而解決的辦法就是「多層前向網路」。
為了讓這種網路有合適的權值,必須給網路一定的激勵,讓它自己學習,調整。一種方法稱作「向後傳播演算法(Back Propagation,BP)」,其基本思想是考察最後輸出解和理想解的差異,調整權值,並把這種調整從輸出層開始向後推演,經過中間層,達到輸入層。
可見,神經網路是通過學習來達到解決問題的目的,學習沒有改變單個神經元的結構和工作方式,單個神經元的特性和要解決的問題之間也沒有直接聯系,這里學習的作用是根據神經元之間激勵與抑制的關系,改變它們的作用強度。學習樣本中的任何樣品的信息都包含在網路的每個權值之中。
BP演算法中有考察輸出解和理想解差異的過程,假設差距為w,則調整權值的目的就是為了使得w最小化。這就又包含了前文所說的「最小值」問題。一般的BP演算法採用的是局部搜索,比如最速下降法,牛頓法等,當然如果想要得到全局最優解,可以採用模擬退火,遺傳演算法等。當前向網路採用模擬退火演算法作為學習方法的時候,一般成為「波爾茲曼網路」,屬於隨機性神經網路。
在學習BP演算法學習的過程中,需要已經有一部分確定的值作為理想輸出,這就好像中學生在學習的時候,有老師的監督。如果沒有了監督,人工神經網路該怎麼學習?
就像沒有了宏觀調控,自由的市場引入了競爭一樣,有一種學習方法稱作「無監督有競爭的學習」。在輸入神經元i的若干個神經元之間開展競爭,競爭之後,只有一個神經元為1,其他均為0,而對於失敗的神經元,調整使得向對競爭有利的方向移動,則最終也可能在一次競爭中勝利;
人工神經網路還有反饋網路如Hopfield網路,它的神經元的信號傳遞方向是雙向的,並且引入一個能量函數,通過神經元之間不斷地相互影響,能量函數值不斷下降,最後能給出一個能量比較低的解。這個思想和模擬退火差不多。
人工神經網路應用到演算法上時,其正確率和速度與軟體的實現聯系不大,關鍵的是它自身的不斷學習。這種思想已經和馮·諾依曼模型很不一樣。 粒子群優化演算法(PSO)是一種進化計算技術(evolutionary computation),1995 年由Eberhart 博士和kennedy 博士提出,源於對鳥群捕食的行為研究 。該演算法最初是受到飛鳥集群活動的規律性啟發,進而利用群體智能建立的一個簡化模型。粒子群演算法在對動物集群活動行為觀察基礎上,利用群體中的個體對信息的共享使整個群體的運動在問題求解空間中產生從無序到有序的演化過程,從而獲得最優解。
PSO同遺傳演算法類似,是一種基於迭代的優化演算法。系統初始化為一組隨機解,通過迭代搜尋最優值。但是它沒有遺傳演算法用的交叉(crossover)以及變異(mutation),而是粒子在解空間追隨最優的粒子進行搜索。同遺傳演算法比較,PSO的優勢在於簡單容易實現並且沒有許多參數需要調整。目前已廣泛應用於函數優化,神經網路訓練,模糊系統控制以及其他遺傳演算法的應用領域。
PSO模擬鳥群的捕食行為。設想這樣一個場景:一群鳥在隨機搜索食物。在這個區域里只有一塊食物。所有的鳥都不知道食物在那裡。但是他們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢。最簡單有效的就是搜尋目前離食物最近的鳥的周圍區域。
PSO從這種模型中得到啟示並用於解決優化問題。PSO中,每個優化問題的解都是搜索空間中的一隻鳥。我們稱之為「粒子」。所有的粒子都有一個由被優化的函數決定的適應值(fitness value),每個粒子還有一個速度決定他們飛翔的方向和距離。然後粒子們就追隨當前的最優粒子在解空間中搜索。
PSO 初始化為一群隨機粒子(隨機解)。然後通過迭代找到最優解。在每一次迭代中,粒子通過跟蹤兩個極值來更新自己。第一個就是粒子本身所找到的最優解,這個解叫做個體極值pBest。另一個極值是整個種群目前找到的最優解,這個極值是全局極值gBest。另外也可以不用整個種群而只是用其中一部分作為粒子的鄰居,那麼在所有鄰居中的極值就是局部極值。 模擬退火,遺傳演算法,禁忌搜索,神經網路在解決全局最優解的問題上有著獨到的優點,並且,它們有一個共同的特點:都是模擬了自然過程。模擬退火思路源於物理學中固體物質的退火過程,遺傳演算法借鑒了自然界優勝劣汰的進化思想,禁忌搜索模擬了人類有記憶過程的智力過程,神經網路更是直接模擬了人腦。
它們之間的聯系也非常緊密,比如模擬退火和遺傳演算法為神經網路提供更優良的學習演算法提供了思路。把它們有機地綜合在一起,取長補短,性能將更加優良。
這幾種智能演算法有別於一般的按照圖靈機進行精確計算的程序,尤其是人工神經網路,是對計算機模型的一種新的詮釋,跳出了馮·諾依曼機的圈子,按照這種思想來設計的計算機有著廣闊的發展前景

閱讀全文

與一種基於智能提取演算法的韓國禮服相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163