赞
踩
人们将SVM、KNN等之前介绍的算法理解为浅层学习。模型的识别能力更多地取决于特征选取的有效性。浅层学习使用时需要花费至少一半的时间在数据清洗和特征提取上。有人形象地将这些步骤称为特征工程,是对其巨大工作量的一种描述。
神经网络是受人类生理结构启发而产生的一种新算法,模拟了人体神经元的工作原理。多个输入参数分别具有各自的权重,经过激励函数的处理后得到输出。输出可以再对接下一层的神经网络的输入,从而组成更加复杂的神经网络。
创建一个人工神经网络时,人工神经细胞也要以同样的方式相互连接在一起。其中最广泛使用的连接方式是把神经细胞一层一层连接在一起,这种类型的神经网络叫做前馈网络。
反向传播算法是一种微调神经网络中权重以修复预测错误的算法。通过逐层向上查找预测错误的神经元,并微调这些神经元对应的权重,可以修复错误。Scikit-Learn中的神经网络实现都是使用反向传播算法。
# 导入神经网络模型类
from sklearn.neural_network import MLPClassifier
# 创建多层感知机分类器模型
clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5, 2), random_state=1)
solver='lbfgs'
: 这个参数表示用于优化权重的求解器。在这里,'lbfgs’表示使用L-BFGS优化器,它是一种拟牛顿法的变种,通常用于小规模数据集。alpha=1e-5
: 这是正则化参数,用于控制模型的复杂度。较小的alpha值表示较弱的正则化。在这里,1e-5
表示一个非常小的正则化参数。hidden_layer_sizes=(5, 2)
: 这是一个元组,表示神经网络的隐藏层结构。在这里,有两个隐藏层,第一个隐藏层有5个神经元,第二个隐藏层有2个神经元。random_state=1
: 这个参数用于控制随机数生成器的种子,以确保每次运行代码时得到的结果都是相同的。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。