神经网络模型

本文深入探讨了多层感知机(MLP),一种监督学习算法,用于学习非线性函数逼近,适用于分类和回归任务。文章详细介绍了MLP的结构,包括输入层、隐藏层和输出层的工作原理,以及其优点和缺点。此外,还提供了使用sklearn库进行多类别分类和连续值回归的具体实例。
AI助手已提取文章相关产品:

神经网络模型

多层感知机

多层感知机(Multi-layer Perceptron)是一个监督学习算法,学习函数f:Rm→Rof:R^m\rightarrow R^of:RmRo,其中,mmm是输入维度的数量,ooo是输出的维度数量。给定一个特征集合X=x1,x2,....,xmX = x_1, x_2, ...., x_mX=x1,x2,....,xm和一个目标值yyy,它能够学习用于分类或回归的非线性函数逼近。它不同于逻辑回归,因为在输入和输出层中,会有一个和多个非线性层,称作隐藏层。

输入层包含神经元集合{xi∣x1,x2,...,xm}\{x_i|x_1, x_2, ..., x_m\}{xix1,x2,...,xm}表示输入特征。隐藏层中的每个神经元转换前面层的值转化为一个线性加权和w1x1+w2x2+...+wmxmw_1x_1+w_2x_2+...+w_mx_mw1x1+w2x2+...+wmxm,后面紧接着一个非线性的激活函数g:R→Rg: R\rightarrow Rg:RR。输出层收到从上一隐藏层得到的值,并将他们转化为输出值。

多层感知机的优点是

  • 能学习非线性模型
  • 能够实时学习模型

多层感知机的缺点是

  • 使用隐藏层的多层感知机有非凸的损失函数,存在多个局部最优
  • 需要调整大量的超参
  • 对特征缩放敏感
分类

MLPClassifier实现了一个多层感知机算法,使用Backpropagation训练数据。它支持使用Softmax作为输出函数来实现多类别分类。

from sklearn.neural_network import MLPClassifier

x = [[0., 0.], [1., 1.]]
y = [0, 1]

clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5, 2),
                    random_state=1)
clf.fit(x, y)

print(clf.predict([[2., 2.]]))

print([coef.shape for coef in clf.coefs_])

print(clf.predict_proba([[2., 2.]]))
回归

MLPRegressor实现了一个多层感知机,在输出层不使用激活函数的反向传播训练数据。它使用最小二乘作为损失函数,输出是连续值。

正则

MLPRegressorMLPClassifier使用参数alpha作为正则项,有助于避免过拟合。

算法

MLP使用Stochastic Gradient Descent Algorithm/Adam/L-BFGS训练算法。

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值