半线性方法中的神经网络与支持向量机技术解析
1. 神经网络基础
神经网络(Neural Network, NN)是一种受人类思维生物学启发的机器学习方法。在二分类问题中,预测变量作为“神经元”的输入,输出为 1 或 0,其中 1 表示神经元“激发”,判定为类别 1。具有多个隐藏层的神经网络,前一层神经元的输出会输入到下一层,直至到达最终输出层,这种结构也有生物学上的解释。
后来,该方法得到了推广,使用输出更广泛的激活函数,不再局限于 1 和 0,并且允许从后续层向前层进行反馈。这使得该领域的发展在一定程度上偏离了生物学动机,甚至有人质疑其生物学解释,但神经网络在机器学习界仍有很强的吸引力。大型深度学习项目的广泛宣传,重新激发了人们对神经网络的兴趣。
1.1 脊椎数据示例
以脊椎数据为例,使用 neuralnet 包进行分析。代码如下:
library(neuralnet)
vert <- read.table('column3C.dat', header = FALSE)
library(dummies)
ys <- dummy(vert$V7)
vert <- cbind(vert[, 1:6], ys)
names(vert)[7:9] <- c('DH', 'NO', 'SL')
set.seed(9999)
nnout <- neuralnet(DH + NO + SL ~ V1 + V2 + V3 + V4 + V5 + V6,
data = vert, hidden = 3,
超级会员免费看
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



