国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

遺傳算法理論的由來

新機(jī)器視覺 ? 來源:泊松比 ? 作者:泊松比 ? 2022-10-27 13:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

幾天前,我著手解決一個(gè)實(shí)際問題——大型超市銷售問題。在使用了幾個(gè)簡(jiǎn)單模型做了一些特征工程之后,我在排行榜上名列第 219 名。

c5e34588-55b7-11ed-a3b6-dac502259ad0.jpg

雖然結(jié)果不錯(cuò),但是我還是想做得更好。于是,我開始研究可以提高分?jǐn)?shù)的優(yōu)化方法。結(jié)果我果然找到了一個(gè),它叫遺傳算法。在把它應(yīng)用到超市銷售問題之后,最終我的分?jǐn)?shù)在排行榜上一下躍居前列。

c5fa1074-55b7-11ed-a3b6-dac502259ad0.jpg

沒錯(cuò),僅靠遺傳算法我就從 219 名直接跳到 15 名,厲害吧!相信閱讀完本篇文章后,你也可以很自如地應(yīng)用遺傳算法,而且會(huì)發(fā)現(xiàn),當(dāng)把它用到你自己正在處理的問題時(shí),效果也會(huì)有很大提升。

目錄

1、遺傳算法理論的由來

2、生物學(xué)的啟發(fā)

3、遺傳算法定義

4、遺傳算法具體步驟

  • 初始化

  • 適應(yīng)度函數(shù)

  • 選擇

  • 交叉

  • 變異

5、遺傳算法的應(yīng)用

  • 特征選取

  • 使用TPOT庫(kù)實(shí)現(xiàn)

6、實(shí)際應(yīng)用

7、結(jié)語

1、遺傳算法理論的由來

我們先從查爾斯·達(dá)爾文的一句名言開始:

能夠生存下來的往往不是最強(qiáng)大的物種,也不是最聰明的物種,而是最能適應(yīng)環(huán)境的物種。

你也許在想:這句話和遺傳算法有什么關(guān)系?其實(shí)遺傳算法的整個(gè)概念就基于這句話。

讓我們用一個(gè)基本例子來解釋:

我們先假設(shè)一個(gè)情景,現(xiàn)在你是一國(guó)之王,為了讓你的國(guó)家免于災(zāi)禍,你實(shí)施了一套法案:

  • 你選出所有的好人,要求其通過生育來擴(kuò)大國(guó)民數(shù)量。

  • 這個(gè)過程持續(xù)進(jìn)行了幾代。

  • 你將發(fā)現(xiàn),你已經(jīng)有了一整群的好人。

這個(gè)例子雖然不太可能,但是我用它是想幫助你理解概念。也就是說,我們改變了輸入值(比如:人口),就可以獲得更好的輸出值(比如:更好的國(guó)家)。現(xiàn)在,我假定你已經(jīng)對(duì)這個(gè)概念有了大致理解,認(rèn)為遺傳算法的含義應(yīng)該和生物學(xué)有關(guān)系。那么我們就快速地看一些小概念,這樣便可以將其聯(lián)系起來理解。

2、生物學(xué)的啟發(fā)

相信你還記得這句話:「細(xì)胞是所有生物的基石。」由此可知,在一個(gè)生物的任何一個(gè)細(xì)胞中,都有著相同的一套染色體。所謂染色體,就是指由 DNA 組成的聚合體。

c6060f1e-55b7-11ed-a3b6-dac502259ad0.jpg

傳統(tǒng)上看,這些染色體可以被由數(shù)字0和 1 組成的字符串表達(dá)出來。

c61b41fe-55b7-11ed-a3b6-dac502259ad0.png

一條染色體由基因組成,這些基因其實(shí)就是組成 DNA 的基本結(jié)構(gòu),DNA 上的每個(gè)基因都編碼了一個(gè)獨(dú)特的性狀,比如,頭發(fā)或者眼睛的顏色。希望你在繼續(xù)閱讀之前先回憶一下這里提到的生物學(xué)概念。結(jié)束了這部分,現(xiàn)在我們來看看所謂遺傳算法實(shí)際上指的是什么?

3、遺傳算法定義

首先我們回到前面討論的那個(gè)例子,并總結(jié)一下我們做過的事情。

  1. 首先,我們?cè)O(shè)定好了國(guó)民的初始人群大小。

  2. 然后,我們定義了一個(gè)函數(shù),用它來區(qū)分好人和壞人。

  3. 再次,我們選擇出好人,并讓他們繁殖自己的后代。

  4. 最后,這些后代們從原來的國(guó)民中替代了部分壞人,并不斷重復(fù)這一過程。

遺傳算法實(shí)際上就是這樣工作的,也就是說,它基本上盡力地在某種程度上模擬進(jìn)化的過程。

因此,為了形式化定義一個(gè)遺傳算法,我們可以將它看作一個(gè)優(yōu)化方法,它可以嘗試找出某些輸入,憑借這些輸入我們便可以得到最佳的輸出值或者是結(jié)果。遺傳算法的工作方式也源自于生物學(xué),具體流程見下圖:

c62b913a-55b7-11ed-a3b6-dac502259ad0.png

那么現(xiàn)在我們來逐步理解一下整個(gè)流程。

4、遺傳算法具體步驟

為了讓講解更為簡(jiǎn)便,我們先來理解一下著名的組合優(yōu)化問題「背包問題」。如果你還不太懂,這里有一個(gè)我的解釋版本。

比如,你準(zhǔn)備要去野游 1 個(gè)月,但是你只能背一個(gè)限重 30公斤的背包。現(xiàn)在你有不同的必需物品,它們每一個(gè)都有自己的「生存點(diǎn)數(shù)」(具體在下表中已給出)。因此,你的目標(biāo)是在有限的背包重量下,最大化你的「生存點(diǎn)數(shù)」。

c63a9c34-55b7-11ed-a3b6-dac502259ad0.png

4.1初始化

這里我們用遺傳算法來解決這個(gè)背包問題。第一步是定義我們的總體。總體中包含了個(gè)體,每個(gè)個(gè)體都有一套自己的染色體。

我們知道,染色體可表達(dá)為二進(jìn)制數(shù)串,在這個(gè)問題中,1 代表接下來位置的基因存在,0意味著丟失。(譯者注:作者這里借用染色體、基因來解決前面的背包問題,所以特定位置上的基因代表了上方背包問題表格中的物品,比如第一個(gè)位置上是 Sleeping Bag,那么此時(shí)反映在染色體的『基因』位置就是該染色體的第一個(gè)『基因』。)

c65122ba-55b7-11ed-a3b6-dac502259ad0.png

現(xiàn)在,我們將圖中的 4 條染色體看作我們的總體初始值。

4.2適應(yīng)度函數(shù)

接下來,讓我們來計(jì)算一下前兩條染色體的適應(yīng)度分?jǐn)?shù)。對(duì)于 A1 染色體[100110]而言,有:

c65e3734-55b7-11ed-a3b6-dac502259ad0.png

類似地,對(duì)于 A2 染色體[001110]來說,有:

c674fd8e-55b7-11ed-a3b6-dac502259ad0.png

對(duì)于這個(gè)問題,我們認(rèn)為,當(dāng)染色體包含更多生存分?jǐn)?shù)時(shí),也就意味著它的適應(yīng)性更強(qiáng)。

因此,由圖可知,染色體 1 適應(yīng)性強(qiáng)于染色體 2。

4.3選擇

現(xiàn)在,我們可以開始從總體中選擇適合的染色體,來讓它們互相『交配』,產(chǎn)生自己的下一代了。這個(gè)是進(jìn)行選擇操作的大致想法,但是這樣將會(huì)導(dǎo)致染色體在幾代之后相互差異減小,失去了多樣性。因此,我們一般會(huì)進(jìn)行「輪盤賭選擇法」(Roulette Wheel Selection method)。

c67fd998-55b7-11ed-a3b6-dac502259ad0.jpg

想象有一個(gè)輪盤,現(xiàn)在我們將它分割成 m 個(gè)部分,這里的 m 代表我們總體中染色體的個(gè)數(shù)。每條染色體在輪盤上占有的區(qū)域面積將根據(jù)適應(yīng)度分?jǐn)?shù)成比例表達(dá)出來。

c6a6085c-55b7-11ed-a3b6-dac502259ad0.png

基于上圖中的值,我們建立如下「輪盤」。

c6b3fb9c-55b7-11ed-a3b6-dac502259ad0.jpg

現(xiàn)在,這個(gè)輪盤開始旋轉(zhuǎn),我們將被圖中固定的指針(fixed point)指到的那片區(qū)域選為第一個(gè)親本。然后,對(duì)于第二個(gè)親本,我們進(jìn)行同樣的操作。有時(shí)候我們也會(huì)在途中標(biāo)注兩個(gè)固定指針,如下圖:

c6d0ff26-55b7-11ed-a3b6-dac502259ad0.jpg

通過這種方法,我們可以在一輪中就獲得兩個(gè)親本。我們將這種方法成為「隨機(jī)普遍選擇法」(Stochastic Universal Selection method)。

4.4交叉

在上一個(gè)步驟中,我們已經(jīng)選擇出了可以產(chǎn)生后代的親本染色體。那么用生物學(xué)的話說,所謂「交叉」,其實(shí)就是指的繁殖。現(xiàn)在我們來對(duì)染色體 1 和 4(在上一個(gè)步驟中選出來的)進(jìn)行「交叉」,見下圖:

c6dd5672-55b7-11ed-a3b6-dac502259ad0.png

這是交叉最基本的形式,我們稱其為「單點(diǎn)交叉」。這里我們隨機(jī)選擇一個(gè)交叉點(diǎn),然后,將交叉點(diǎn)前后的染色體部分進(jìn)行染色體間的交叉對(duì)調(diào),于是就產(chǎn)生了新的后代。

如果你設(shè)置兩個(gè)交叉點(diǎn),那么這種方法被成為「多點(diǎn)交叉」,見下圖:

c6fb8e58-55b7-11ed-a3b6-dac502259ad0.png

4.5變異

如果現(xiàn)在我們從生物學(xué)的角度來看這個(gè)問題,那么請(qǐng)問:由上述過程產(chǎn)生的后代是否有和其父母一樣的性狀呢?答案是否。在后代的生長(zhǎng)過程中,它們體內(nèi)的基因會(huì)發(fā)生一些變化,使得它們與父母不同。這個(gè)過程我們稱為「變異」,它可以被定義為染色體上發(fā)生的隨機(jī)變化,正是因?yàn)樽儺悾N群中才會(huì)存在多樣性。

下圖為變異的一個(gè)簡(jiǎn)單示例:

c7069474-55b7-11ed-a3b6-dac502259ad0.png

變異完成之后,我們就得到了新為個(gè)體,進(jìn)化也就完成了,整個(gè)過程如下圖:

c71a61f2-55b7-11ed-a3b6-dac502259ad0.png

在進(jìn)行完一輪「遺傳變異」之后,我們用適應(yīng)度函數(shù)對(duì)這些新的后代進(jìn)行驗(yàn)證,如果函數(shù)判定它們適應(yīng)度足夠,那么就會(huì)用它們從總體中替代掉那些適應(yīng)度不夠的染色體。這里有個(gè)問題,我們最終應(yīng)該以什么標(biāo)準(zhǔn)來判斷后代達(dá)到了最佳適應(yīng)度水平呢?

一般來說,有如下幾個(gè)終止條件:

  1. 在進(jìn)行 X 次迭代之后,總體沒有什么太大改變。

  2. 我們事先為算法定義好了進(jìn)化的次數(shù)。

  3. 當(dāng)我們的適應(yīng)度函數(shù)已經(jīng)達(dá)到了預(yù)先定義的值。

好了,現(xiàn)在我假設(shè)你已基本理解了遺傳算法的要領(lǐng),那么現(xiàn)在讓我們用它在數(shù)據(jù)科學(xué)的場(chǎng)景中應(yīng)用一番。

5、遺傳算法的應(yīng)用

5.1特征選取

試想一下每當(dāng)你參加一個(gè)數(shù)據(jù)科學(xué)比賽,你會(huì)用什么方法來挑選那些對(duì)你目標(biāo)變量的預(yù)測(cè)來說很重要的特征呢?你經(jīng)常會(huì)對(duì)模型中特征的重要性進(jìn)行一番判斷,然后手動(dòng)設(shè)定一個(gè)閾值,選擇出其重要性高于這個(gè)閾值的特征。

那么,有沒有什么方法可以更好地處理這個(gè)問題呢?其實(shí)處理特征選取任務(wù)最先進(jìn)的算法之一就是遺傳算法。

我們前面處理背包問題的方法可以完全應(yīng)用到這里。現(xiàn)在,我們還是先從建立「染色體」總體開始,這里的染色體依舊是二進(jìn)制數(shù)串,「1」表示模型包含了該特征,「0表示模型排除了該特征」。

不過,有一個(gè)不同之處,即我們的適應(yīng)度函數(shù)需要改變一下。這里的適應(yīng)度函數(shù)應(yīng)該是這次比賽的的精度的標(biāo)準(zhǔn)。也就是說,如果染色體的預(yù)測(cè)值越精準(zhǔn),那么就可以說它的適應(yīng)度更高。

現(xiàn)在我假設(shè)你已經(jīng)對(duì)這個(gè)方法有點(diǎn)一概念了。下面我不會(huì)馬上講解這個(gè)問題的解決過程,而是讓我們先來用 TPOT 庫(kù)去實(shí)現(xiàn)它。

5.2用TPOT庫(kù)來實(shí)現(xiàn)

這個(gè)部分相信是你在一開始讀本文時(shí)心里最終想實(shí)現(xiàn)的那個(gè)目標(biāo)。即:實(shí)現(xiàn)。那么首先我們來快速瀏覽一下 TPOT 庫(kù)(Tree-based Pipeline Optimisation Technique,樹形傳遞優(yōu)化技術(shù)),該庫(kù)基于 scikit-learn 庫(kù)建立。下圖為一個(gè)基本的傳遞結(jié)構(gòu)。

c7229bf6-55b7-11ed-a3b6-dac502259ad0.jpg

圖中的灰色區(qū)域用 TPOT 庫(kù)實(shí)現(xiàn)了自動(dòng)處理。實(shí)現(xiàn)該部分的自動(dòng)處理需要用到遺傳算法。

我們這里不深入講解,而是直接應(yīng)用它。為了能夠使用 TPOT 庫(kù),你需要先安裝一些 TPOT 建立于其上的 python 庫(kù)。下面我們快速安裝它們:

# installing DEAP, update_checker and tqdm 

pip install deap update_checker tqdm
# installling TPOT 
pip install tpot

這里,我用了 Big Mart Sales(數(shù)據(jù)集地址:https://datahack.analyticsvidhya.com/contest/practice-problem-big-mart-sales-iii/)數(shù)據(jù)集,為實(shí)現(xiàn)做準(zhǔn)備,我們先快速下載訓(xùn)練和測(cè)試文件,以下是 python 代碼:

# import basic libraries

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
%matplotlib inline 
from sklearn import preprocessing 
from sklearn.metrics import mean_squared_error 
## preprocessing 
### mean imputations 

train['Item_Weight'].fillna((train['Item_Weight'].mean()), inplace=True)
test['Item_Weight'].fillna((test['Item_Weight'].mean()), inplace=True) 
### reducing fat content to only two categories 

train['Item_Fat_Content'] = train['Item_Fat_Content'].replace(['low fat','LF'], ['Low Fat','Low Fat']) 
train['Item_Fat_Content'] = train['Item_Fat_Content'].replace(['reg'], ['Regular']) 
test['Item_Fat_Content'] = test['Item_Fat_Content'].replace(['low fat','LF'], ['Low Fat','Low Fat']) 
test['Item_Fat_Content'] = test['Item_Fat_Content'].replace(['reg'], ['Regular']) 
train['Outlet_Establishment_Year'] = 2013 - train['Outlet_Establishment_Year'] 
test['Outlet_Establishment_Year'] = 2013 - test['Outlet_Establishment_Year'] 

train['Outlet_Size'].fillna('Small',inplace=True)
test['Outlet_Size'].fillna('Small',inplace=True)

train['Item_Visibility'] = np.sqrt(train['Item_Visibility'])
test['Item_Visibility'] = np.sqrt(test['Item_Visibility'])

col = ['Outlet_Size','Outlet_Location_Type','Outlet_Type','Item_Fat_Content']
test['Item_Outlet_Sales'] = 0combi = train.append(test)for i in col:
 combi[i] = number.fit_transform(combi[i].astype('str'))
 combi[i] = combi[i].astype('object')
train = combi[:train.shape[0]]
test = combi[train.shape[0]:]
test.drop('Item_Outlet_Sales',axis=1,inplace=True)
## removing id variables 

tpot_train = train.drop(['Outlet_Identifier','Item_Type','Item_Identifier'],axis=1)
tpot_test = test.drop(['Outlet_Identifier','Item_Type','Item_Identifier'],axis=1)
target = tpot_train['Item_Outlet_Sales']
tpot_train.drop('Item_Outlet_Sales',axis=1,inplace=True)
# finally building model using tpot library

from tpot import TPOTRegressor
X_train, X_test, y_train, y_test = train_test_split(tpot_train, target,
 train_size=0.75, test_size=0.25)

tpot = TPOTRegressor(generations=5, population_size=50, verbosity=2)
tpot.fit(X_train, y_train)
print(tpot.score(X_test, y_test))
tpot.export('tpot_boston_pipeline.py')

c74a47e6-55b7-11ed-a3b6-dac502259ad0.jpg

一旦這些代碼運(yùn)行完成,tpot_exported_pipeline.py 里就將會(huì)放入用于路徑優(yōu)化的 python 代碼。我們可以發(fā)現(xiàn),ExtraTreeRegressor 可以最好地解決這個(gè)問題。

## predicting using tpot optimised pipeline

tpot_pred = tpot.predict(tpot_test)
sub1 = pd.DataFrame(data=tpot_pred)
#sub1.index = np.arange(0, len(test)+1)

sub1 = sub1.rename(columns = {'0':'Item_Outlet_Sales'})
sub1['Item_Identifier'] = test['Item_Identifier']
sub1['Outlet_Identifier'] = test['Outlet_Identifier']
sub1.columns = ['Item_Outlet_Sales','Item_Identifier','Outlet_Identifier']
sub1 = sub1[['Item_Identifier','Outlet_Identifier','Item_Outlet_Sales']]
sub1.to_csv('tpot.csv',index=False)

如果你提交了這個(gè) csv,那么你會(huì)發(fā)現(xiàn)我一開始保證的那些還沒有完全實(shí)現(xiàn)。那是不是我在騙你們呢?當(dāng)然不是。實(shí)際上,TPOT 庫(kù)有一個(gè)簡(jiǎn)單的規(guī)則。如果你不運(yùn)行 TPOT 太久,那么它就不會(huì)為你的問題找出最可能傳遞方式。

所以,你得增加進(jìn)化的代數(shù),拿杯咖啡出去走一遭,其它的交給 TPOT 就行。此外,你也可以用這個(gè)庫(kù)來處理分類問題。進(jìn)一步內(nèi)容可以參考這個(gè)文檔:http://rhiever.github.io/tpot/。除了比賽,在生活中我們也有很多應(yīng)用場(chǎng)景可以用到遺傳算法。

6、實(shí)際應(yīng)用

遺傳算法在真實(shí)世界中有很多應(yīng)用。這里我列了部分有趣的場(chǎng)景,但是由于篇幅限制,我不會(huì)逐一詳細(xì)介紹。

6.1工程設(shè)計(jì)

工程設(shè)計(jì)非常依賴計(jì)算機(jī)建模以及模擬,這樣才能讓設(shè)計(jì)周期過程即快又經(jīng)濟(jì)。遺傳算法在這里可以進(jìn)行優(yōu)化并給出一個(gè)很好的結(jié)果。

相關(guān)資源:

  • 論文:Engineering design using genetic algorithms

  • 地址:http://lib.dr.iastate.edu/cgi/viewcontent.cgi?article=16942&context=rtd

6.2交通與船運(yùn)路線(TravellingSalesmanProblem,巡回售貨員問題)

這是一個(gè)非常著名的問題,它已被很多貿(mào)易公司用來讓運(yùn)輸更省時(shí)、經(jīng)濟(jì)。解決這個(gè)問題也要用到遺傳算法。

c75d67fe-55b7-11ed-a3b6-dac502259ad0.jpg

c78cde30-55b7-11ed-a3b6-dac502259ad0.jpg

6.3機(jī)器人

遺傳算法在機(jī)器人領(lǐng)域中的應(yīng)用非常廣泛。實(shí)際上,目前人們正在用遺傳算法來創(chuàng)造可以像人類一樣行動(dòng)的自主學(xué)習(xí)機(jī)器人,其執(zhí)行的任務(wù)可以是做飯、洗衣服等等。

相關(guān)資源:

  • 論文:Genetic Algorithms for Auto-tuning Mobile Robot Motion Control

  • 地址:https://pdfs.semanticscholar.org/7c8c/faa78795bcba8e72cd56f8b8e3b95c0df20c.pdf

7、結(jié)語

希望通過本文介紹,你現(xiàn)在已經(jīng)對(duì)遺傳算法有了足夠的理解,而且也會(huì)用 TPOT 庫(kù)來實(shí)現(xiàn)它了。但是如果你不親身實(shí)踐,本文的知識(shí)也是非常有限的。

所以,請(qǐng)各位讀者朋友一定要在無論是數(shù)據(jù)科學(xué)比賽或是生活中嘗試自己去實(shí)現(xiàn)它

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 遺傳算法
    +關(guān)注

    關(guān)注

    0

    文章

    237

    瀏覽量

    21395
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3752

    瀏覽量

    52101

原文標(biāo)題:一文讀懂遺傳算法工作原理!

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    算法工程師需要具備哪些技能?

    算法工程師需要掌握一系列跨學(xué)科的技能,涵蓋數(shù)學(xué)基礎(chǔ)、編程能力、算法理論、工程實(shí)踐以及業(yè)務(wù)理解等多個(gè)方面。 以下是具體技能及學(xué)習(xí)建議: 線性代數(shù)核心內(nèi)容:矩陣運(yùn)算、特征值分解、向量空間等。應(yīng)用場(chǎng)
    發(fā)表于 02-27 10:53

    微電網(wǎng)保護(hù)理論:自適應(yīng)保護(hù)與故障定位的算法基礎(chǔ)

    性。廣東科銳捷提供虛擬電廠管理系統(tǒng)解決方案,咨詢服務(wù):1.3.7-5.0.0.4-6.2.0.0。本文將系統(tǒng)拆解自適應(yīng)保護(hù)與故障定位的算法基礎(chǔ),厘清算法原理、實(shí)現(xiàn)流程與適用場(chǎng)景,為微電網(wǎng)保護(hù)系統(tǒng)的設(shè)計(jì)與優(yōu)化提供理論支撐。
    的頭像 發(fā)表于 01-22 17:36 ?2092次閱讀
    微電網(wǎng)保護(hù)<b class='flag-5'>理論</b>:自適應(yīng)保護(hù)與故障定位的<b class='flag-5'>算法</b>基礎(chǔ)

    SM4算法實(shí)現(xiàn)分享(一)算法原理

    SM4分組加密算法采用的是非線性迭代結(jié)構(gòu),以字為單位進(jìn)行加密、解密運(yùn)算,每次迭代稱為一輪變換,每輪變換包括S盒變換、非線性變換、線性變換、合成變換。加解密算法與密鑰擴(kuò)展都是采用32輪非線性迭代結(jié)構(gòu)
    發(fā)表于 10-30 08:10

    國(guó)密系列算法簡(jiǎn)介及SM4算法原理介紹

    一、 國(guó)密系列算法簡(jiǎn)介 國(guó)家商用密碼算法(簡(jiǎn)稱國(guó)密/商密算法),是由我國(guó)國(guó)家密碼管理局制定并公布的密碼算法標(biāo)準(zhǔn)。其分類1所示: 圖1 國(guó)家商用密碼
    發(fā)表于 10-24 08:25

    加密算法的應(yīng)用

    機(jī)。但是,由于加密技術(shù)的保密性,直到二戰(zhàn)結(jié)束后,人們才開始研究加密技術(shù)的理論,進(jìn)一步推動(dòng)了加密技術(shù)的發(fā)展。 2. 加密算法的含義 加密算法是指對(duì)明文進(jìn)行變換,使其變?yōu)榭此齐s亂無章的密文,以
    發(fā)表于 10-24 08:03

    Newton-Raphson算法實(shí)現(xiàn)浮點(diǎn)除法(七)

    Newton-Raphson算法 Newton-Raphson算法采用乘法來代替除法運(yùn)算,即a/b=a(1/b),基本原理如下: 已知曲線方程f(x),我們?cè)趚n點(diǎn)做切線,求xn+1 首先我們
    發(fā)表于 10-24 07:53

    AES和SM4算法的可重構(gòu)分析

    和SM4的算法流程圖再貼出來方便對(duì)比分析: AES算法流程圖 SM4算法流程圖 可以看到AES和SM4存在相同的操作符,例如異或、S盒替換、循環(huán)左移操作等。其中異或、循環(huán)左移操作符在理論
    發(fā)表于 10-23 07:26

    PPEC電源DIY套件:圖形化算法編程,解鎖電力電子底層算法實(shí)踐

    PPEC 開關(guān)電源 DIY 套件是森木磊石推出的一種電力電子教學(xué)與實(shí)踐工具,專為高校教學(xué)、學(xué)生實(shí)踐及電子愛好者設(shè)計(jì),旨在解決電力電子教學(xué)中“理論脫離實(shí)際”的痛點(diǎn),深化電力電子教學(xué)改革,培養(yǎng)出更多
    發(fā)表于 08-14 11:30

    無刷直流電機(jī)滑模觀測(cè)器參數(shù)優(yōu)化設(shè)計(jì)方法

    摘要:滑模反電勢(shì)觀測(cè)器的增益參數(shù)會(huì)影響觀測(cè)器的收斂速度以及動(dòng)態(tài)響應(yīng)性能,常見的設(shè)計(jì)方法是基于觀測(cè)器穩(wěn)定性理論進(jìn)行設(shè)計(jì)。提出一種利用遺傳算法在穩(wěn)定域內(nèi)搜索觀測(cè)誤差最小的增益參數(shù)的新方法,既減少了參數(shù)
    發(fā)表于 06-27 16:48

    無刷電機(jī)小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測(cè)方法的研究

    摘要:論文通過對(duì)無刷電機(jī)數(shù)學(xué)模型的推導(dǎo),得出轉(zhuǎn)角:與三相相電壓之間存在映射關(guān)系,因此構(gòu)建了一個(gè)以三相相電壓為輸人,轉(zhuǎn)角為輸出的小波神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)轉(zhuǎn)角預(yù)測(cè),并采用改進(jìn)遺傳算法來訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù),借助
    發(fā)表于 06-25 13:06

    雙電機(jī)同步驅(qū)動(dòng)系統(tǒng)控制參數(shù)整定研究

    對(duì)系統(tǒng)進(jìn)行建模后,首先采用傳統(tǒng)遺傳算法,對(duì)多通道多控制器系統(tǒng)的控制器參數(shù)進(jìn)行整定;然后從系統(tǒng)整體性能的角度出發(fā),利用帶精英策略的非支配排序遺傳算法對(duì)系統(tǒng)控制器參數(shù)進(jìn)行多目標(biāo)整定。仿真結(jié)果表明:采用雙通道
    發(fā)表于 06-19 11:04

    感應(yīng)電機(jī)智能調(diào)速

    本資料探討了專家系統(tǒng)控制、模糊控制、神經(jīng)網(wǎng)絡(luò)控制、遺傳算法等智能控制算法在感應(yīng)電機(jī)控制中的應(yīng)用,以期設(shè)計(jì)出與電機(jī)參數(shù)無關(guān)或?qū)﹄姍C(jī)參數(shù)變化不敏感的控制。主要包括感應(yīng)電機(jī)控制現(xiàn)狀和感應(yīng)電機(jī)控制一般
    發(fā)表于 05-28 15:53

    18個(gè)常用的強(qiáng)化學(xué)習(xí)算法整理:從基礎(chǔ)方法到高級(jí)模型的理論技術(shù)與代碼實(shí)現(xiàn)

    本來轉(zhuǎn)自:DeepHubIMBA本文系統(tǒng)講解從基本強(qiáng)化學(xué)習(xí)方法到高級(jí)技術(shù)(如PPO、A3C、PlaNet等)的實(shí)現(xiàn)原理與編碼過程,旨在通過理論結(jié)合代碼的方式,構(gòu)建對(duì)強(qiáng)化學(xué)習(xí)算法的全面理解。為確保內(nèi)容
    的頭像 發(fā)表于 04-23 13:22 ?1610次閱讀
    18個(gè)常用的強(qiáng)化學(xué)習(xí)<b class='flag-5'>算法</b>整理:從基礎(chǔ)方法到高級(jí)模型的<b class='flag-5'>理論</b>技術(shù)與代碼實(shí)現(xiàn)

    工程師經(jīng)驗(yàn)分享:社區(qū)之星 趙云 沉著穩(wěn)定才能做好技術(shù)

    控制算法理論和實(shí)踐有過推導(dǎo)和大量的研發(fā)調(diào)試經(jīng)驗(yàn)。 ? 工作經(jīng)歷: 華為技術(shù)有限公司---芯片驗(yàn)證工程師 上海問問網(wǎng)絡(luò)科技有限公司---電機(jī)驅(qū)動(dòng)軟件工程師 ? ? ? 社區(qū)訪談: 社區(qū)小助手:可以分享一下您的學(xué)習(xí)、工作經(jīng)歷嗎,您是怎樣進(jìn)入電子行業(yè)的呢? 趙
    的頭像 發(fā)表于 04-15 15:58 ?1309次閱讀
    工程師經(jīng)驗(yàn)分享:社區(qū)之星  趙云 沉著穩(wěn)定才能做好技術(shù)

    射頻電路設(shè)計(jì)——理論與應(yīng)用

    本資料從低頻電路理論到射頻、微波電路理論的演化過程出發(fā),討論以低頻電路理論為基礎(chǔ)結(jié)合高頻電壓、電流的波動(dòng)特征來分析和設(shè)計(jì)射頻、微波系統(tǒng)的方法——微波等效電路法,使不具備電磁場(chǎng)理論和微波
    發(fā)表于 04-03 11:41