机器学习-基于Sklearn的神经网络实现
Posted FindKey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习-基于Sklearn的神经网络实现相关的知识,希望对你有一定的参考价值。
简介:神经网络模型:Multi-layer Perceptron (MLP) :
>多层感知器(MLP)是一种通过再数据集上训练,去自动学习函数f(.):Rm–>Ro的监督学习算法 ,m是输入的维度的数目 ,o是输出的维度数目。给定一组特征X=x1,x1….xm和目标y ,它可以以非线性函数实现分类或回归。它与逻辑回归不同,在输入和输出层之间,可以有一个或多个非线性层,称为隐藏层。图1显示了一个带标量输出的隐藏层MLP
> - 能够学习非线性模型。
>- 能够使用实时(在线学习)学习模型partial_fit。
> 多层感知器(MLP)的缺点包括:
> - 具有隐藏层的MLP具有非凸损失函数,其中存在多于一个局部最小值。因此,不同的随机权重初始化可以导致不同的验证准确性。
> - MLP需要调整许多超参数,例如隐藏神经元,层和迭代的数量。
> - MLP对特征缩放很敏感。
#####分类问题:
>MLPClassifier这个类实现了使用Backpropagation进行MLP的算法实现。
>MLP在两个array上进行训练, array X of size (n_samples, n_features),array y of size (n_samples,)。
> from sklearn.neural_network import MLPClassifier
0., 0.], [1., 1.]] > X = [[
0, 1] > y = [
'lbfgs', alpha=1e-5, > clf = MLPClassifier(solver=
... hidden_layer_sizes=(5, 2), random_state=1)
...
> clf.fit(X, y)
>clf
MLPClassifier(activation='relu', alpha=1e-05, batch_size='auto', beta_1=0.9,
beta_2=0.999, early_stopping=False, epsilon=1e-08,
hidden_layer_sizes=(5, 2), learning_rate='constant',
learning_rate_init=0.001, max_iter=200, momentum=0.9,
n_iter_no_change=10, nesterovs_momentum=True, power_t=0.5,
random_state=1, shuffle=True, solver='lbfgs', tol=0.0001,
validation_fraction=0.1, verbose=False, warm_start=False)
2., 2.], [-1., -2.]]) >clf.predict([[
#预测一下
array([1, 0])
#[2.2]属于1类,[-1,-2]属于0类
image
以上是关于机器学习-基于Sklearn的神经网络实现的主要内容,如果未能解决你的问题,请参考以下文章
推荐TensorFlow/PyTorch/Sklearn实现的五十种机器学习模型