sk-learn学习笔记九

人工神经网络由三个组成部分。第一个组成部分是架构(architecture),或称为拓扑结构(topology),描述神经元的层次与连接神经元的结构。第二个组成部分是神经网络使用的激励函数。第三个组成部分是找出最优权重值的学习算法。

人工神经网络主要分为两种类型。前馈人工神经网络(Feedforward neural networks)是最常用的神经网络类型,一般定义为有向无环图。信号只能沿着最终输入的那个方向传播。另一种类型是反馈人工神经网络(feedback neural networks),也称递归神经网络(recurrent neural networks),网络图中有环。反馈环表示网络的一种内部状态,随着不同时间内输入条件的改变,网络的行为也会发生变化。反馈人工神经网络的临时状态让它们适合处理涉及连续输入的问题。因为目前scikit-learn没有
实现反馈人工神经网络。

多层感知器

多层感知器(multilayer perceptron,MLP)是最流行的人工神经网络之一。它的名称不太恰当,多层感知器并非指单个带有多个层次的感知器,而是指可以是感知器的人工神经元组成的多个层次。MPL的层次结构是一个有向无环图。通常,每一层都全连接到下一层,某一层上的每个人工神经元的输出成为下一层若干人工神经元的输入。MLP至少有三层人工神经元。输入层(input layer)由简单的输入人工神经元构成。每个输入神经元至少连接一个隐藏层(hidden layer)的人工神经元。隐藏层表示潜在的变量;层的输入和输出都不会出现在训练集中。隐藏层后面连接的是输出层(output layer)。

隐藏层中的人工神经元,也称单元(units)通常用非线性激励函数,如双曲正切函数(hyperbolic tangent function)和逻辑函数(logistic function),公式如下所示:

和其他的监督模型一样,我们的目标是找到成本函数最小化的权重值。通常,MLP的成本函数是残差平方和的均值,计算公式如下所示,其中的表示训练样本的数量:

从感知器到支持向量机

这一章,我们将介绍一种强大的分类和回归模型,称为支持向量机(support vector machine,SVM)。首先,我们将学习高维空间的特征映射。然后,我们将介绍,在处理被映射到高维空间的数据时,支持向量机是如何缓解那些计算与综合问题的。

scikit-learn文字识别

MNIST手写数字数据库(Mixed National Institute of Standards and Technology database)包含70000张手写数字图片。

%matplotlib inline
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_mldata
import matplotlib.cm as cm
digits = fetch_mldata('MNIST original', data_home='data/mnist').data
counter = 1
for i in range(1, 4):
     for j in range(1, 6):
          plt.subplot(3, 5, counter)
          plt.imshow(digits[(i - 1) * 8000 + j].reshape((28, 28)), cmap=cm.Greys_r)
          plt.axis('off')
          counter += 1

plt.show()

猜你喜欢

转载自blog.csdn.net/Mr_wuliboy/article/details/82662410