ELM分类法Python实现

ELM分类法Python实现

By:YANG LIU

import numpy as np
import matplotlib.pyplot as plt
def sigmoid(a,b,x):
return 1.0/(1+np.exp(-1.0*(x.dot(a)+b)))
def ELM_prototype(X,T,C,n,L):
a=np.random.normal(0,1,(n,L))
aa=a
b=np.random.normal(0,1,L)
bb=b
H=sigmoid(a,b,X)
HH=H.T.dot(H);HT=H.T.dot(T)
beta=np.linalg.pinv(HH+np.identity(L)/C).dot(HT)
Fl=H.dot(beta)
return aa,bb,beta,Fl
x1=np.array([1,2,3,4,5,6,7,8,9])
x2=np.array([2,4,6,40,50,60,14,80,18])
X=np.vstack([x1,x2]).T
print(X)
T=np.array([1,1,1,2,2,2,1,2,1])——训练数据
aa,bb,beta,Fl=ELM_prototype(X,T,C=1e5,n=2,L=100)
plt.plot(x1,T,lw=1.5,label=‘Training goal’)
plt.plot(x1,Fl,lw=3,label=‘ELM output’)
plt.legend()
plt.show()
x1=np.array([10,20,30,40,50,60,70,80,90])
x2=np.array([100,40,60,80,100,120,140,160,180])——测试数据
X=np.vstack([x1,x2]).T
H=sigmoid(aa,bb,X)
Fl=H.dot(beta)
plt.plot(x1/10,Fl,lw=3,label=‘ELM output’)
plt.legend()
plt.show()

在这里插入图片描述训练拟合结果完全重合,图像中训练目标值增加了0.1以便于观看。
在这里插入图片描述
测试值训练结果,基本符合预期,说明分类结果正确。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值