目录
1、神经网络:(Artifical Neural Network)
1、神经网络:(Artifical Neural Network)
全程为人工神经网络,是一种模仿生物神经网络(大脑)的结构和功能的数学模型或计算机模型
生物神经细胞;
神经细胞是构成神经系统的基本单元,称为生物神经元,简称神经元
# 简单神经网络
S型函数,单个神经元。
最简单的神经网络就是逻辑回归
# 二进制是生物学和计算机学的链接
# 神经网络的隐藏层不是越多越好,随着层数增多会达到一个阈值,再增加基本上不变,或者反而会减小。
2、MLP简介
MLP常常被用来做分类,每个输出对应一个不同的二进制分类(比如,垃圾邮件/正正常邮件,紧急/非紧急)
01 每个分类是在互斥的情况下爱,输出层通常被修改成一个共享的soft-max函数。
例如:图片数字的分类
3、MLP方法
sklearn.neural_network.MLPClassifier
MLPClassifier(solver=’sgd’, activation=’relu’,alpha=1e-4,
hidden_layer_sizes=(50,50), random_state=1,max_iter=10,verbose=10,learning_rate_init=.1)
参数说明:
1. hidden_layer_sizes :例如hidden_layer_sizes=(50, 50),表示有两层隐藏层,第一层隐藏层有50个神经元,第二层也有50个神经元。
2. activation :激活函数,{‘identity’, ‘logistic’, ‘tanh’, ‘relu’}, 默认relu
- identity:f(x) = x
- logistic:其实就是sigmod,f(x) = 1 / (1 + exp(-x)).
- tanh:f(x) = tanh(x).
- relu:f(x) = max(0, x)
3. solver: {‘lbfgs’, ‘sgd’, ‘adam’}, 默认adam,用来优化权重
- lbfgs:quasi-Newton方法的优化器
- sgd:随机梯度下降
- adam: Kingma, Diederik, and Jimmy Ba提出的机遇随机梯度的优化器
注意:默认solver ‘adam’在相对较大的数据集上效果比较好(几千个样本或者更多),对小数据集来说,lbfgs收敛更快效果也更好。
4. alpha :float,可选的,默认0.0001,正则化项参数
5. batch_size : int , 可选的,默