rbf neural network in R

本文介绍了使用R语言实现RBF神经网络来拟合非线性曲线的过程。由于RBF网络对初始参数敏感,作者采用了K-means聚类进行初始化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前工作用到神经网络拟合nonliear curve
语言用的R语言
找不到源码所以自己参照别人的matlab 代码实现了一个
RBF网络具体介绍见参考文章
参考文章

RBF网络对初始参数设置比较敏感
所以对初始delta 和 center 我利用了kmean 聚类初始化

library(dplyr)
library(data.table)
rbf <- NULL
#Guassian径向基函数
Green <- function(x, c, delta){
        greenValue <- exp(-1.0 * sum((x - c)^2) / (2 * delta^2))
}
hiddenSize <- 2
# cols <- 5
# rows <- 7
# train.x <- matrix(runif(cols * rows), ncol = 1)
# train.y <- matrix(runif( cols * rows), ncol = 1)
 x <- seq(0,3.14*2, by = 0.01)
 y <- sin(x) + runif(length(x))
train.x <- x %>% data.matrix()
train.y <- y %>% data.matrix()

kmeans.parameters <- kmeans(train.x, hiddenSize)

init.centers <- kmeans.parameters$centers
init.delta <- kmeans.parameters$withinss/kmeans.parameters$size + 0.2

rbf$hiddenSize <- hiddenSize
rbf$inputSize <- ncol(train.x)
rbf$outputSize <- ncol(train.y)
rbf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值