十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
用open命令打開你要讀取的文件,返回一個(gè)文件對(duì)象
為坡頭等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及坡頭網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、坡頭網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
然后在這個(gè)對(duì)象上執(zhí)行read,readlines,readline等命令讀取文件
或使用for循環(huán)自動(dòng)按行讀取文件
feaVet相當(dāng)于是代數(shù)的作用,也可以用其他的字符串取代
for featVec in dataSet:遍歷列表中的每一行,featVec[-1]是這一行的最后一列的值
[example[i] for example in dataSet] 選取第i+1列
在硬化函數(shù)中,輸入應(yīng)力-應(yīng)變曲線屈服后,該曲線相應(yīng)的坐標(biāo)。比如q345鋼材應(yīng)力應(yīng)變曲線(二次流朔模型), (0 0)
(1.675 345 )(該點(diǎn)q345屈服)( 16.75 345 ) (167.5 552),在硬化函數(shù)中輸入后面三個(gè)點(diǎn)的坐標(biāo)就行了。
LightGBM中實(shí)現(xiàn)了哪些梯度增強(qiáng)方法,它們有什么區(qū)別?一般來說,哪些參數(shù)是重要的?哪些正則化參數(shù)需要調(diào)整?如何調(diào)整lightGBM參數(shù)在python?梯度提升的方法
使用LightGBM,你可以運(yùn)行不同類型的漸變?cè)鰪?qiáng)提升方法。你有:GBDT、DART和GOSS,這些可以通過“boosting”參數(shù)指定。
在下一節(jié)中,我將對(duì)這些方法進(jìn)行解釋和比較。
梯度提升決策樹(GBDT)
該方法是本文首先提出的傳統(tǒng)梯度提升決策樹,也是XGBoost和pGBRT等優(yōu)秀庫(kù)背后的算法。
由于其精度高、效率高、穩(wěn)定性好,目前已得到廣泛的應(yīng)用。你可能知道gbdt是一個(gè)決策樹的集合模型但是它到底是什么意思呢?
讓我來告訴你要點(diǎn)。
它基于三個(gè)重要原則:
弱學(xué)習(xí)者(決策樹)梯度優(yōu)化提升技術(shù)所以在gbdt方法中,我們有很多決策樹(弱學(xué)習(xí)者)。這些樹是按順序構(gòu)建的:
首先,樹學(xué)習(xí)如何適應(yīng)目標(biāo)變量第二棵樹學(xué)習(xí)如何適合殘差(差異)之間的預(yù)測(cè),第一棵樹和地面真相第三棵樹學(xué)習(xí)如何匹配第二棵樹的殘差,以此類推。所有這些樹都是通過傳播整個(gè)系統(tǒng)的誤差梯度來訓(xùn)練的。
gbdt的主要缺點(diǎn)是,在每個(gè)樹節(jié)點(diǎn)中找到最佳分割點(diǎn)非常耗時(shí),而且會(huì)消耗內(nèi)存。其他的提升方法試圖解決這個(gè)問題。
DART梯度提升
在這篇優(yōu)秀的論文中(arxiv/1505.01866),你可以學(xué)習(xí)所有關(guān)于DART梯度提升的東西,這是一種使用dropout(神經(jīng)網(wǎng)絡(luò)中的標(biāo)準(zhǔn))的方法,來改進(jìn)模型正則化和處理一些其他不太明顯的問題。
也就是說,gbdt存在過度專門化(over-specialization)的問題,這意味著在以后的迭代中添加的樹往往只會(huì)影響對(duì)少數(shù)實(shí)例的預(yù)測(cè),而對(duì)其余實(shí)例的貢獻(xiàn)則可以忽略不計(jì)。添加dropout會(huì)使樹在以后的迭代中更加難以專門化那些少數(shù)的示例,從而提高性能。
lgbm goss基于梯度的單邊采樣
事實(shí)上,將該方法命名為lightgbm的最重要原因就是使用了基于本文的Goss方法。Goss是較新的、較輕的gbdt實(shí)現(xiàn)(因此是“l(fā)ight”gbm)。
標(biāo)準(zhǔn)的gbdt是可靠的,但在大型數(shù)據(jù)集上速度不夠快。因此goss提出了一種基于梯度的采樣方法來避免搜索整個(gè)搜索空間。我們知道,對(duì)于每個(gè)數(shù)據(jù)實(shí)例,當(dāng)梯度很小時(shí),這意味著不用擔(dān)心數(shù)據(jù)是經(jīng)過良好訓(xùn)練的,而當(dāng)梯度很大時(shí),應(yīng)該重新訓(xùn)練。這里我們有兩個(gè)方面,數(shù)據(jù)實(shí)例有大的和小的漸變。因此,goss以一個(gè)大的梯度保存所有數(shù)據(jù),并對(duì)一個(gè)小梯度的數(shù)據(jù)進(jìn)行隨機(jī)抽樣(這就是為什么它被稱為單邊抽樣)。這使得搜索空間更小,goss的收斂速度更快。
讓我們把這些差異放在一個(gè)表格中:
注意:如果你將增強(qiáng)設(shè)置為RF,那么lightgbm算法表現(xiàn)為隨機(jī)森林而不是增強(qiáng)樹! 根據(jù)文檔,要使用RF,必須使用baggingfraction和featurefraction小于1。
正則化
在這一節(jié)中,我將介紹lightgbm的一些重要的正則化參數(shù)。顯然,這些是您需要調(diào)優(yōu)以防止過擬合的參數(shù)。
您應(yīng)該知道,對(duì)于較小的數(shù)據(jù)集(10000條記錄),lightGBM可能不是最佳選擇。在這里,調(diào)優(yōu)lightgbm參數(shù)可能沒有幫助。
此外,lightgbm使用葉向樹生長(zhǎng)算法,而xgboost使用深度樹生長(zhǎng)算法。葉向方法使樹的收斂速度更快,但過擬合的幾率增加。
注意:如果有人問您LightGBM和XGBoost之間的主要區(qū)別是什么?你可以很容易地說,它們的區(qū)別在于它們是如何實(shí)現(xiàn)的。
根據(jù)lightGBM文檔,當(dāng)面臨過擬合時(shí),您可能需要做以下參數(shù)調(diào)優(yōu):
使用更小的max_bin使用更小的num_leaves使用mindatainleaf和minsumhessianin_leaf通過設(shè)置baggingfraction和baggingfreq使用bagging_freq通過設(shè)置feature_fraction使用特征子采樣使用更大的訓(xùn)練數(shù)據(jù)嘗試lambdal1、lambdal2和mingainto_split進(jìn)行正則化嘗試max_depth以避免樹的深度增長(zhǎng)在下面的部分中,我將更詳細(xì)地解釋這些參數(shù)。
lambda_l1
Lambdal1(和lambdal2)控制l1/l2,以及mingainto_split用于防止過擬合。我強(qiáng)烈建議您使用參數(shù)調(diào)優(yōu)(在后面的小節(jié)中討論)來確定這些參數(shù)的最佳值。
num_leaves
numleaves無疑是控制模型復(fù)雜性的最重要參數(shù)之一。通過它,您可以設(shè)置每個(gè)弱學(xué)習(xí)者擁有的葉子的最大數(shù)量。較大的numleaves增加了訓(xùn)練集的精確度,也增加了因過度擬合而受傷的幾率。根據(jù)文檔,一個(gè)簡(jiǎn)單的方法是numleaves = 2^(maxdepth)但是,考慮到在lightgbm中葉狀樹比層次樹更深,你需要小心過度擬合!因此,必須同時(shí)使用maxdepth調(diào)優(yōu)numleaves。
子采樣
通過子樣例(或bagging_fraction),您可以指定每個(gè)樹構(gòu)建迭代使用的行數(shù)百分比。這意味著將隨機(jī)選擇一些行來匹配每個(gè)學(xué)習(xí)者(樹)。這不僅提高了泛化能力,也提高了訓(xùn)練速度。
我建議對(duì)基線模型使用更小的子樣本值,然后在完成其他實(shí)驗(yàn)(不同的特征選擇,不同的樹結(jié)構(gòu))時(shí)增加這個(gè)值。
feature_fraction
特征分?jǐn)?shù)或子特征處理列采樣,LightGBM將在每次迭代(樹)上隨機(jī)選擇特征子集。例如,如果將其設(shè)置為0.6,LightGBM將在訓(xùn)練每棵樹之前選擇60%的特性。
這個(gè)功能有兩種用法:
可以用來加速訓(xùn)練嗎可以用來處理過擬合嗎
max_depth
該參數(shù)控制每棵經(jīng)過訓(xùn)練的樹的最大深度,將對(duì):
num_leaves參數(shù)的最佳值模型的性能訓(xùn)練時(shí)間注意,如果您使用較大的max_depth值,那么您的模型可能會(huì)對(duì)于訓(xùn)練集過擬合。
max_bin
裝箱是一種用離散視圖(直方圖)表示數(shù)據(jù)的技術(shù)。Lightgbm在創(chuàng)建弱學(xué)習(xí)者時(shí),使用基于直方圖的算法來尋找最優(yōu)分割點(diǎn)。因此,每個(gè)連續(xù)的數(shù)字特性(例如視頻的視圖數(shù))應(yīng)該被分割成離散的容器。
此外,在這個(gè)GitHub repo(huanzhang12/lightgbm-gpu)中,你可以找到一些全面的實(shí)驗(yàn),完全解釋了改變max_bin對(duì)CPU和GPU的影響。
如果你定義maxbin 255,這意味著我們可以有255個(gè)唯一的值每個(gè)特性。那么,較小的maxbin會(huì)導(dǎo)致更快的速度,較大的值會(huì)提高準(zhǔn)確性。
訓(xùn)練參數(shù)
當(dāng)你想用lightgbm訓(xùn)練你的模型時(shí),一些典型的問題可能會(huì)出現(xiàn):
訓(xùn)練是一個(gè)耗時(shí)的過程處理計(jì)算復(fù)雜度(CPU/GPU RAM約束)處理分類特征擁有不平衡的數(shù)據(jù)集定制度量的需要需要對(duì)分類或回歸問題進(jìn)行的調(diào)整在本節(jié)中,我們將嘗試詳細(xì)解釋這些要點(diǎn)。
num_iterations
Num_iterations指定增強(qiáng)迭代的次數(shù)(要構(gòu)建的樹)。你建立的樹越多,你的模型就越精確,代價(jià)是:
較長(zhǎng)的訓(xùn)練時(shí)間過擬合的可能性更高從較少的樹開始構(gòu)建基線,然后當(dāng)您想從模型中擠出最后的%時(shí)增加基線。
建議使用更小的learningrate和更大的numiteration。此外,如果您想要更高的numiteration,那么您應(yīng)該使用earlystopping_rounds,以便在無法學(xué)習(xí)任何有用的內(nèi)容時(shí)停止訓(xùn)練。
earlystoppingrounds
如果驗(yàn)證度量在最后一輪停止后沒有改進(jìn),此參數(shù)將停止訓(xùn)練。這應(yīng)該與一些迭代成對(duì)地進(jìn)行定義。如果你把它設(shè)置得太大,你就增加了過擬合的變化(但你的模型可以更好)。
經(jīng)驗(yàn)法則是讓它占num_iterations的10%。
lightgbm categorical_feature
使用lightgbm的優(yōu)勢(shì)之一是它可以很好地處理分類特性。是的,這個(gè)算法非常強(qiáng)大,但是你必須小心如何使用它的參數(shù)。lightgbm使用一種特殊的整數(shù)編碼方法(由Fisher提出)來處理分類特征
實(shí)驗(yàn)表明,該方法比常用的單熱編碼方法具有更好的性能。
它的默認(rèn)值是“auto”,意思是:讓lightgbm決定哪個(gè)表示lightgbm將推斷哪些特性是絕對(duì)的。
它并不總是工作得很好,我強(qiáng)烈建議您簡(jiǎn)單地用這段代碼手動(dòng)設(shè)置分類特性
cat_col = dataset_name.select_dtypes(‘object’).columns.tolist()
但是在幕后發(fā)生了什么,lightgbm是如何處理分類特征的呢?
根據(jù)lightgbm的文檔,我們知道樹學(xué)習(xí)器不能很好地使用一種熱編碼方法,因?yàn)樗鼈冊(cè)跇渲猩疃壬L(zhǎng)。在提出的替代方法中,樹形學(xué)習(xí)器被最優(yōu)構(gòu)造。例如,一個(gè)特征有k個(gè)不同的類別,有2^(k-1) -1個(gè)可能的劃分,通過fisher方法,可以改進(jìn)到k * log(k),通過找到分類特征中值排序直方圖的最佳分割方式。
isunbalance vs scalepos_weight
其中一個(gè)問題,你可能面臨的二分類問題是如何處理不平衡的數(shù)據(jù)集。顯然,您需要平衡正/負(fù)樣本,但如何在lightgbm中做到這一點(diǎn)呢?
lightgbm中有兩個(gè)參數(shù)允許你處理這個(gè)問題,那就是isunbalance和scalepos_weight,但是它們之間有什么區(qū)別呢?
當(dāng)您設(shè)置Is_unbalace: True時(shí),算法將嘗試自動(dòng)平衡占主導(dǎo)地位的標(biāo)簽的權(quán)重(使用列集中的pos/neg分?jǐn)?shù))
如果您想改變scaleposweight(默認(rèn)情況下是1,這意味著假設(shè)正負(fù)標(biāo)簽都是相等的),在不平衡數(shù)據(jù)集的情況下,您可以使用以下公式來正確地設(shè)置它
sample_pos_weight = number of negative samples / number of positive samples
lgbm函數(shù)宏指令(feaval)
有時(shí)你想定義一個(gè)自定義評(píng)估函數(shù)來測(cè)量你的模型的性能,你需要?jiǎng)?chuàng)建一個(gè)“feval”函數(shù)。
Feval函數(shù)應(yīng)該接受兩個(gè)參數(shù):
preds 、train_data
并返回
evalname、evalresult、ishigherbetter
讓我們一步一步地創(chuàng)建一個(gè)自定義度量函數(shù)。
定義一個(gè)單獨(dú)的python函數(shù)
def feval_func(preds, train_data): # Define a formula that evaluates the results return ('feval_func_name', eval_result, False)
使用這個(gè)函數(shù)作為參數(shù):
print('Start training...') lgb_train = lgb.train(..., metric=None, feval=feval_func)
注意:要使用feval函數(shù)代替度量,您應(yīng)該設(shè)置度量參數(shù) metric “None”。
分類參數(shù)與回歸參數(shù)
我之前提到的大多數(shù)事情對(duì)于分類和回歸都是正確的,但是有些事情需要調(diào)整。
具體你應(yīng)該:
lightgbm最重要的參數(shù)
我們已經(jīng)在前面的部分中回顧并了解了有關(guān)lightgbm參數(shù)的知識(shí),但是如果不提及Laurae令人難以置信的基準(zhǔn)測(cè)試,那么關(guān)于增強(qiáng)樹的文章將是不完整的。
您可以了解用于lightGBM和XGBoost的許多問題的最佳默認(rèn)參數(shù)。
你可以查看這里,但一些最重要的結(jié)論是:
注意:絕對(duì)不要理會(huì)任何參數(shù)值的默認(rèn)值,并根據(jù)您的問題進(jìn)行調(diào)整。 也就是說,這些參數(shù)是超參數(shù)調(diào)整算法的一個(gè)很好的起點(diǎn)。
Python中的Lightgbm參數(shù)調(diào)整示例
最后,在解釋完所有重要參數(shù)之后,該進(jìn)行一些實(shí)驗(yàn)了!
我將使用最受歡迎的Kaggle競(jìng)賽之一:Santander Customer Transaction Prediction. 交易預(yù)測(cè)
我將使用本文介紹如何在任何腳本中的Python中運(yùn)行超參數(shù)調(diào)整。
在開始之前,一個(gè)重要的問題! 我們應(yīng)該調(diào)整哪些參數(shù)?
請(qǐng)注意您要解決的問題,例如,Santander 數(shù)據(jù)集高度不平衡,在調(diào)整時(shí)應(yīng)考慮到這一點(diǎn)!
一些參數(shù)是相互依賴的,必須一起調(diào)整。 例如,mindatainleaf取決于訓(xùn)練樣本和numleaves的數(shù)量。
注意:為超參數(shù)創(chuàng)建兩個(gè)字典是一個(gè)好主意,一個(gè)字典包含您不想調(diào)整的參數(shù)和值,另一個(gè)字典包含您想要調(diào)整的參數(shù)和值范圍。
SEARCH_PARAMS = {'learning_rate': 0.4, 'max_depth': 15, 'num_leaves': 20, 'feature_fraction': 0.8, 'subsample': 0.2} FIXED_PARAMS={'objective': 'binary', 'metric': 'auc', 'is_unbalance':True, 'boosting':'gbdt', 'num_boost_round':300, 'early_stopping_rounds':30}
谷歌的AlphaGo與柯杰的大戰(zhàn)已經(jīng)結(jié)束數(shù)日,而DeepMind承諾的50分棋譜也已經(jīng)公布,而作為當(dāng)前最先進(jìn)的計(jì)算機(jī)“技術(shù)”,有限元方法有沒有與機(jī)器學(xué)習(xí)(人工智能)進(jìn)一步結(jié)合并碰發(fā)出絢麗的“火花”呢??
答案是肯定的?。。?/p>
什么是人工智能
人工智能(Artificial Intelligence),英文縮寫為AI。它是研究、開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。 人工智能是計(jì)算機(jī)科學(xué)的一個(gè)分支,它企圖了解智能的實(shí)質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方式做出反應(yīng)的智能機(jī)器,該領(lǐng)域的研究包括機(jī)器人、語(yǔ)言識(shí)別、圖像識(shí)別、自然語(yǔ)言處理和專家系統(tǒng)等。人工智能從誕生以來,理論和技術(shù)日益成熟,應(yīng)用領(lǐng)域也不斷擴(kuò)大,可以設(shè)想,未來人工智能帶來的科技產(chǎn)品,將會(huì)是人類智慧的“容器”。
機(jī)器學(xué)習(xí)是人工智能的一個(gè)分支,簡(jiǎn)單地說,就是通過算法,使機(jī)器能從大量歷史數(shù)據(jù)中學(xué)習(xí)規(guī)律,從而對(duì)新的樣本做智能識(shí)別或?qū)ξ磥磉M(jìn)行預(yù)測(cè)。
常見的機(jī)器學(xué)習(xí)算法如:
?神經(jīng)網(wǎng)絡(luò)(Neural Network)
?支持向量機(jī)(Support Vector Machines, SVM)Boosting
?決策樹(Decision Tree)
?隨機(jī)森林(Random Forest)
?貝葉斯模型(Bayesian Model)等。
早期的機(jī)器學(xué)習(xí)算法由于受到理論模型和計(jì)算資源的限制,一般只能進(jìn)行淺層學(xué)習(xí),只在搜索排序系統(tǒng)、垃圾郵件過濾系統(tǒng)、內(nèi)容推薦系統(tǒng)等地方有所應(yīng)用。
而之后發(fā)生的幾件事,掀起了深度學(xué)習(xí)的浪潮。一件是2006年,加拿大多倫多大學(xué)教授Hinton和他的學(xué)生Salakhutdinov在Science上發(fā)表了一篇文章,揭示了具有多個(gè)隱層的神經(jīng)網(wǎng)絡(luò)(即深度神經(jīng)網(wǎng)絡(luò))優(yōu)異的學(xué)習(xí)性能,并提出可以通過“逐層初始化”技術(shù),來降低深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練的難度;
第二件事是在2012年 底,Geoff Hinton 的博士生 Alex Krizhevsky、Ilya Sutskever利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)在圖片分類的競(jìng)賽 ImageNet 上,擊敗了擁有眾多人才資源和計(jì)算資源的Google,拿到了第一名。
如今機(jī)器學(xué)習(xí)已深入到包括語(yǔ)音識(shí)別,圖像識(shí)別,數(shù)據(jù)挖掘等諸多領(lǐng)域并取得了矚目的成績(jī)。
有限元法的發(fā)展簡(jiǎn)史
有限元方法(FEA)即有限單元法,它是一種數(shù)值分析(計(jì)算數(shù)學(xué))工具,但不是唯一的數(shù)值分析工具。在工程領(lǐng)域還有其它的數(shù)值方法,如:有限差分法、邊界元方法、有限體積法。
有限單元法已成為一種強(qiáng)有力的數(shù)值解法來解決工程中遇到的大量問題,其應(yīng)用范圍從固體到流體,從靜力到動(dòng)力,從力學(xué)問題到非力學(xué)問題。事實(shí)上,有限單元法已經(jīng)成為在已知邊界條件和初始條件下求解偏微分方程組的一般數(shù)值方法。
有限單元法在工程上的應(yīng)用屬于計(jì)算力學(xué)的范疇,而計(jì)算力學(xué)是根據(jù)力學(xué)中的理論,利用現(xiàn)代電子計(jì)算機(jī)和各種數(shù)值方法,解決力學(xué)中的實(shí)際問題的一門新興學(xué)科。它橫貫力學(xué)的各個(gè)分支,不斷擴(kuò)大各個(gè)領(lǐng)域中力學(xué)的研究和應(yīng)用范圍,同時(shí)也在逐漸發(fā)展自己的理論和方法。
神經(jīng)網(wǎng)絡(luò)與力學(xué)
其實(shí),在深度學(xué)習(xí)浪潮掀起之前,力學(xué)和工程領(lǐng)域早已開始在計(jì)算力學(xué)研究中結(jié)合神經(jīng)網(wǎng)絡(luò)模型,開發(fā)出更優(yōu)的算法,一個(gè)典型的例子便是有限元神經(jīng)網(wǎng)絡(luò)模型。
由于在實(shí)際工程問題中存在大量的非線性力學(xué)現(xiàn)象,如在結(jié)構(gòu)優(yōu)化問題中,需要根據(jù)需求設(shè)計(jì)并優(yōu)化構(gòu)件結(jié)構(gòu),是一類反問題,這些非線性問題難以用常規(guī)的方法求解,而神經(jīng)網(wǎng)絡(luò)恰好具有良好的非線性映射能力, 因而可得到比一般方法更精確的解。
將有限元與神經(jīng)網(wǎng)絡(luò)結(jié)合的方法有很多,比如針對(duì)復(fù)雜非線性結(jié)構(gòu)動(dòng)力學(xué)系統(tǒng)建模問題,可以將線性部分用有限元進(jìn)行建模,非線性構(gòu)件用神經(jīng)網(wǎng)絡(luò)描述(如輸入非線性部件狀態(tài)變量,輸出其恢復(fù)力),再通過邊界條件和連接條件將有限元模型部分和神經(jīng)網(wǎng)絡(luò)部分結(jié)合,得到雜交模型。
另一種方法是首先通過有限元建立多種不同的模型,再將模態(tài)特性(即最終需要達(dá)到的設(shè)計(jì)要求)作為輸入變量,將對(duì)應(yīng)的模型結(jié)構(gòu)參數(shù)作為輸入變量,訓(xùn)練神經(jīng)網(wǎng)絡(luò),利用神經(jīng)網(wǎng)絡(luò)的泛化特性,得到設(shè)計(jì)參數(shù)的修正值。
結(jié)合Monter Carlo方法,進(jìn)行多組有限元分析,將數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,可以用來分析結(jié)構(gòu)的可靠度。
已有研究成果
[1]余凱,賈磊,陳雨強(qiáng),徐偉. 深度學(xué)習(xí)的昨天、今天和明天[J]. 計(jì)算機(jī)研究與發(fā)展,2013,09:1799-1804.
[2]周春桂,張希農(nóng),胡杰,謝石林. 基于有限元和神經(jīng)網(wǎng)絡(luò)的雜交建模[J]. 振動(dòng)工程學(xué)報(bào),2012,01:43-48.
[3]費(fèi)慶國(guó),張令彌. 基于徑向基神經(jīng)網(wǎng)絡(luò)的有限元模型修正研究[J]. 南京航空航天大學(xué)學(xué)報(bào),2004,06:748-752.
[4]許永江,邢兵,吳進(jìn)良. 基于有限元-神經(jīng)網(wǎng)絡(luò)-Monte-Carlo的結(jié)構(gòu)可靠度計(jì)算方法[J]. 重慶交通大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,02:188-190+216.
未來的一些方向
1、圖形顯示方面(有限元與ARVR)
隨著有限元計(jì)算涉及的領(lǐng)域以及計(jì)算的規(guī)模不斷增大,計(jì)算結(jié)果的高效、高質(zhì)量的前后處理也隨之成為了一個(gè)問題。
ARVR在圖形化數(shù)據(jù)展示方面,將我們從顯示屏解放出來,可以以一種更加直觀的方式查看計(jì)算分析數(shù)據(jù),未來在分析結(jié)果VR展示方面,會(huì)有較大的突破。
國(guó)內(nèi)也有學(xué)者已經(jīng)展開了相關(guān)方面的研究,比如《虛擬現(xiàn)實(shí)環(huán)境中有限元前后處理功能實(shí)現(xiàn)》等論文,有限元虛擬處理技術(shù)(FEMVR)也開始逐步進(jìn)入相關(guān)軟件領(lǐng)域,例如:ANSYS COMSOL可以和MATLAB做交互,新版MATLAB內(nèi)置了一些人工智能算法。
2、有限元與大數(shù)據(jù)、云計(jì)算
計(jì)算規(guī)模增大,伴隨著計(jì)算機(jī)能力的提升,隨之而來的云計(jì)算,解脫了對(duì)于計(jì)算機(jī)硬件的束縛,對(duì)于可以放開規(guī)模與數(shù)量的分析計(jì)算,有限元與大數(shù)據(jù)以及云計(jì)算的碰撞,對(duì)于未來問題的解決,將有一個(gè)質(zhì)的飛躍,量變到質(zhì)變的直觀體現(xiàn),在有限元與大數(shù)據(jù)中會(huì)有一個(gè)絢麗的展示。
3、有限元與人工智能
人工智能作為全球熱的技術(shù),與“古老”的有限元之間,相信可以在老樹上發(fā)新芽,而我們可以欣喜的看到,相關(guān)的研究也已經(jīng)開展,期待未來對(duì)于現(xiàn)實(shí)問題的解決,能有更好的更優(yōu)的方案。
4、CAD數(shù)據(jù)與CAE數(shù)據(jù)的無縫對(duì)接
目前等幾何分析(Isogeometric Analysis, IGA)的發(fā)展熱度來看,將CAD中用于表達(dá)幾何模型的NURBS基函數(shù)作為形函數(shù),克服FEA中模型精度損失的問題,實(shí)現(xiàn)CAD和CAE的無縫結(jié)合,是一個(gè)很有前途和潛力的發(fā)展方向。
5、CAE與MBD的深度融合
未來CAEFEM可能會(huì)與多體動(dòng)力學(xué)仿真(MBS)軟件深度整合起來。實(shí)際系統(tǒng)中某些運(yùn)動(dòng)部件的彈性無法忽略,甚至是主要?jiǎng)恿W(xué)行為的來源,所以就產(chǎn)生了柔性多體動(dòng)力學(xué)仿真這個(gè)需求,這樣只需要定義相關(guān)部件的受力和邊界條件,其余的都是內(nèi)部作用,仿真即節(jié)省工作量又較為真實(shí)可信。而且現(xiàn)在的確有很多MBS軟件里面可以把部件建成彈性體,如LMS Virtual Lab,Simpack等等,但過程沒有那么傻瓜;除了簡(jiǎn)單的梁、軸等零件,復(fù)雜形狀的零件要依賴FEM軟件事先生成的數(shù)據(jù)文件。
6、網(wǎng)格工作的智能化,傻瓜化
將來對(duì)彈性體建??赡芨由倒希劝褎傂远囿w系統(tǒng)模型建起來,然后在建模環(huán)境(前處理)中直接make body flexible,系統(tǒng)可以根據(jù)這個(gè)部件的形狀、材料、邊界條件等選擇合適的網(wǎng)格類型,并把運(yùn)動(dòng)和力的作用點(diǎn)couple到對(duì)應(yīng)的節(jié)點(diǎn)(組)上。比如說汽車懸掛系統(tǒng)仿真,在一個(gè)工作環(huán)境下就能把某個(gè)部件的應(yīng)力校核給做了,而不需要說搞多體建模的人要把邊界力生成一個(gè)load case再發(fā)給專門的FEM工程師去做。
(部分來自知乎)
如何追上有限元的發(fā)展
任何技術(shù)的進(jìn)步,都要在實(shí)踐中展示技術(shù)的威力,有限元的發(fā)展,會(huì)隨著技術(shù)的進(jìn)步,特別是計(jì)算機(jī)技術(shù)的進(jìn)步,在未來無論是應(yīng)用軟件的研究還是智能程序的開發(fā),都將有無限的機(jī)會(huì)與可能。
積極學(xué)習(xí)新技術(shù),新方法,在應(yīng)用領(lǐng)域,關(guān)注有限元相關(guān)軟件的新功能。
1、了解熱點(diǎn)、跟蹤前沿
2、結(jié)合實(shí)際拓展應(yīng)用
3、掌握自動(dòng)化相關(guān)技術(shù)
想要更多,點(diǎn)擊此處