91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6.6MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-02
  • 語言: Python
  • 標簽: py??

資源簡介

首先對數據進行PCA,然后輸入至PSO優化的ELM中進行分類,python代碼

資源截圖

代碼片段和文件信息

#?-*-?coding:?utf-8?-*-
“““
Created?on?Mon?Jul?29?15:16:34?2019
@author:?KLY-392503054
“““

#?coding:?utf-8??
from?scipy.io?import?loadmat
import?numpy?as?np????
import?random?????
import?matplotlib.pyplot?as?plt?
from?sklearn.decomposition?import?PCA


class?PSO():????
????def?__init__(selfpNdimmax_iterinput_nodehidden_nodeinputoutput):????
????????#----------------------PSO參數設置---------------------------------????
????????self.w??=?0.8??????
????????self.c1?=?1.5???????
????????self.c2?=?1.5???????
????????self.r1?=?0.8????
????????self.r2?=?0.3????
????????self.pN?=?pN????????????????#粒子數量????
????????self.dim?=dim??????????????#搜索維度????
????????self.max_iter?=?max_iter???#迭代次數??
????????
????????self.X?=?np.zeros((self.pNself.dim))???????#所有粒子的位置和速度????
????????self.V?=?np.zeros((self.pNself.dim))????
????????self.pbest?=?np.zeros((self.pNself.dim))???#個體經歷的最佳位置和全局最佳位置????
????????self.gbest?=?np.zeros((1self.dim))???
????????self.p_fit?=?np.zeros(self.pN)??????????????#每個個體的歷史最佳適應值????
????????self.fit?=?-1
????????
????????#?輸入數據
????????self.input=input
????????self.output=output
????????self.input_node=input_node
????????self.hidden_node=hidden_node
????def?train_elm(selfPTNWC=100000000000000TF=‘sig‘TYPE=1):
????????#?P?輸入數據?n*m??n->?samples?m->features
????????#?T?輸出數據
????????#?N?隱含層節點
????????#?C?正則化參數
????????#?TF?隱含層激活函數
????????#?TYPE=1?分類任務??=0?回歸任務
????
????????nm=P.shape
????????if?TYPE?==?1:
????????????y=np.zeros([nT.max()+1])
????????????for?i?in?range(n):
????????????????y[iT[i]]=1
????????????T=np.copy(y)
????????
????????nc=T.shape
????????
????????‘輸入權重‘
????????Weights?=?np.reshape(W[:m*N][mN])
????????‘隱含層偏置‘
????????biases=np.reshape(W[m*N:][1N])
????????
????????temp=np.matmul(PWeights)+np.tile(biases[n1])
????????if?TF==‘sig‘:
????????????H=1/(1+np.exp(temp))
????????‘輸出權重計算‘
????????w_out=np.matmul(np.matmul(np.linalg.pinv(np.matmul(H.TH)+1/C)H.T)T)
????????return?Weights?biases?w_out?TF?TYPE
????
????def?train_predic(selfPWeightsbiasesw_outTFTYPE):
????????nm=P.shape
????????temp=np.matmul(PWeights)+np.tile(biases[n1])
????????if?TF==‘sig‘:
????????????H=1/(1+np.exp(temp))
????????T=np.matmul(Hw_out)
????????
????????if?TYPE==1:
????????????T_predict=np.argmax(Taxis=1)
????????return?T_predict
????
????def?compute_accuracy(selfT_trueT_predictTYPE):
????????if?TYPE==0:
????????????accuracy=np.mean(np.sum(T_true-T_predict))
????????if?TYPE==1:
????????????n=0
????????????for?i?in?range(len(T_true)):
???????????????if?T_true[i]==T_predict[i]:
???????????????????n=n+1
????????????accuracy=n/len(T_true)
????????return?accuracy???
#---------------------目標函數-----------------------------????
????def?function(selfPTNW):
????????Weightsbiasesw_outTFTYPE=self.train_elm(PTNWC=10000000000TF=‘sig‘TYPE=1)
????????T_predict=self.train_predic(PWeightsbiasesw_outTFTYPE)
????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5999??2019-07-29?16:29??pso-elm.py

?????文件????7152017??2018-04-26?17:10??drivFace600.mat

-----------?---------??----------?-----??----

??????????????7158016????????????????????2


評論

共有 條評論