sklearn.neural_network 中的 MLPClassifier 的部分文档翻译

多层感知机分类器

本模型以L-BFGS(Limited-memory Broyden-Fletcher-Goldfarb-Shanno,有限内存的BFGS算法,一种拟牛顿法)或SGD(Stochastic gradient descent,随机梯度下降) 优化了损失函数。

增量版本号: 0.18

参数

hidden_layer_sizes : 元组, 长度 = 所有层数 – 2(2代表着输入层和输出层), 默认值:(100,)。
第i个元素的值代表着第i个隐藏层的神经元个数。

activation: 可取值为:{‘identity’, ‘logistic’, ‘tanh’, ‘relu’}, 默认值: ‘relu’。
隐藏层的激活函数。

- 'identity', 空操作的激活函数,用于实现线性bottleneck特征,也就是f(x) = x。

- 'logistic', 逻辑斯蒂函数,也就是 f(x) = 1 / (1 + exp(-x))。

- 'tanh',双曲正切函数,也就是 f(x) = tanh(x)。

- 'relu', 线性整流函数,也就是 f(x) = max(0, x)。

solver : 可取值为:{‘lbfgs’, ‘sgd’, ‘adam’}, 默认值 ‘adam’
优化权重的求解器。

- 'lbfgs' 是一种拟牛顿族的优化算法。

- 'sgd' 随机梯度下降法。

- 'adam' 由Kingma, Diederik,和 Jimmy Ba提出的基于随机梯度下降的优化算法。

注意: 默认求解器 ‘adam’ 在大数据集中效果很好,尤其在训练时间和正确率上。然而对于小数据集,求解器’lbfgs’能够更快地收敛而且表现良好。

alpha : float型,可选参数, 默认值:0.0001。
L2 惩罚项(正则项) 参数。

batch_size : int型, 可选参数, 默认值:’auto’。
随机优化算法的最小批量大小。
如果求解器是 ‘lbfgs’, 分类器将不会使用最小批量大小。当参数值是”auto”时, batch_size=min(200, 训练集样本数)。

learning_rate : 可能的取值有:{‘constant’, ‘invscaling’, ‘adaptive’}, 默认值:’constant’。
更新权重值时的学习率的变化类型(也就是说学习率本身的变化方式)。

- 'constant' 代表学习率是一个常量,具体值由'learning_rate_init'确定。

- 'invscaling' 代表逐步降低学习率,学习率=学习率/pow(步骤数,power_t)。

- 'adaptive' 代表初始化常数learning_rate_init和损失值一样保持减小。当优 化策略是SGD时才有意义。每当有连着两次损失值小于最小容忍度时,或者在使用   “早暂停”策略并且正确率的提高值不超过最小容忍度时,这两种情况下当前学习    率被5除后更新(学习率=学习率/5)。

learning_rate_init : double型数据, 可选参数, 默认值:0.001。
学习率的初始默认值。当且仅当优化策略是SGD或者ADAM时,才有意义。本参数控制着更新权重时的步长。

power_t : double型数据, 可选参数, 默认值:0.5。
当且仅当learning_rate设置为“invscaling”并且优化策略是SGD时,才有意义。学习率=学习率/pow(步骤数,power_t)。

max_iter : int型数据, 可选参数, 默认值:200。
代表最大可迭代次数。优化器直至收敛(视最小容忍度而定)或者到达最大迭代次数时,算法停止。需要注意的是,对于随机型的优化器(“SGD”,“Adam”),该值决定的是数据集被轮询的次数而不是梯度下降的次数。

shuffle : bool型数据, 可选参数, 默认值:True。
代表是否在每轮迭代中打乱样本。当且仅当优化器是“SGD”或者“Adam”时才有意义。

random_state : int型数据, 可选的值为:RandomState的实例或者None, 可自选,默认值:None。
如果是int型,random_state代表的是随机数生成器的种子;
如果是RandomState的实例,random_state代表的是随机数生成器本身(也就是这个实例本身);
如果是None,算法中的随机数生成器使用的是‘np.random’。

tol : float型数据, 可自选, 默认值:1e-4。
代表优化器的容忍度。当损失值或者正确率在两次连续的迭代中的优化程度没有超过该值时,若learning_rate设置为“adaptive”,则代表算法到达收敛并且训练停止。

verbose : bool型数据, 可自选的, 默认值:False。
是否打印进度信息到stdout。

warm_start : bool型数据, 可自选的, 默认值:False。
当设置为True时,在再次调用fit进行训练模型时,就会使用之前训练到的模型参数作为初始值,否则,清空之前的模型参数。

momentum : float型数据, 默认值:0.9。
代表梯度下降法中参数更新时的动量。该值的范围在0到1之间,当且仅当优化器是“SGD”时才有意义。

nesterovs_momentum : boolean型数据, 默认值:True。
代表是否使用Nesterov 动量. 当且仅当优化器是“SGD”时并且momentum大于0时才有意义。

early_stopping : bool型数据, 默认值:False。
代表是否使用“早暂停”策略(当正确率不再提高时)停止训练。当且仅当优化器为“SGD”或者“Adam”时才有意义。如果设置为True,则模型会自动留出10%的训练数据作为验证集,而且当出现连续两次轮询时的正确率的优化程度不超过最小容忍度时,模型会停止训练。

validation_fraction : float型数据, 可自选, 默认值:0.1。
代表使用“早暂停”策略时(early_stoping设置为True),留出的验证集所占数据集的比例,该值必须在0到1之间。

beta_1 : float型数据, 可自选, 默认值:0.9。
代表优化器为Adam时,Adam中的参数beta_1,具体参见Adam算法。

beta_2 : float型数据, 可自选, 默认值:0.999。
代表优化器为Adam时,Adam中的参数beta_2,具体参见Adam算法。

epsilon : float型数据, 可自选, 默认值:1e-8。
代表优化器为Adam时,Adam中的数据稳定性参数,具体参见Adam算法。

属性

classes_ : list型数据。
输出的类别标签列表。

loss_ : float型数据。
由损失函数计算出的损失值。

coefs_ : list型数据, 长度为n_layers – 1。
第i个元素对应于第i层与第i+1层的权重矩阵。

intercepts_ : list型数据, 长度为n_layers – 1。
第i个元素对应于第i+1层的偏置项列表。

n_iter_ : int型数据。
优化器的迭代次数。

n_layers_ : int型数据。
神经层的层数。

n_outputs_ : int型数据。
输出层的元素个数。

out_activation_ : string型数据。
输出层的激活函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值