sklearn中的神经网络

目录

概述

softmax


概述

在机器学习中,我们建模,将特征矩阵输入模型中,然后算法为我们输出预测结果。只不过在人脑中,数以亿计的神经细胞相互链接来构建一个生物神经网络(一个神经细胞当然可以和众多个神经细胞相连),我们的机器学习中,往往只有一个模型或者一种算法在运行。人脑通过构建复杂的网络可以进行逻辑,语言,情感的学习,相信模拟这种结构的机器也可以有很强大的学习能力,于是人工神经网络应运而生。
神经网络原理最开始是基于感知机提出 —— 感知机是最古老的机器学习分类算法之一,在 1957 年就已经被提出了。和今天的大部分模型比较起来,感知机的泛化能力比较弱,但支持向量机和神经网络都基于它的原理来建立。感知机的原理就是我们在支持向量机中详细介绍过的,使用一条线性决策边界来划分数据集,决策边界的上方是一类数据,决策边界的下方是另一类数据的决策过程。使用神经元,我们可以把它表示为:
sklearn中的神经网络_第1张图片

 

神经网络就相当于众多感知机的集成,因此, 确定激活函数,并找出参数向量也是神经网络的计算核心 。只不过对于只运行一次激活函数的感知机来说,神经网络大大增加了的模型的复杂度,激活函数在这个过程中可能被激活非常多次,参数向量的数量也呈指数级增长。
sklearn中的神经网络_第2张图片

 

首先,神经网络有三层。
第一层叫做 输入层 Input layer ),输入特征矩阵用,因此每个神经元上都是一个特征向量。极端情况下,如果一个神经网络只训练一个样本,则每个输入层的神经元上都是这个样本的一个特征取值。
最后一层叫做 输出层 output layer ),输出预测标签用。如果是回归类,一般输出层只有一个神经元,回归的是所有输入的样本的标签向量。如果是分类,可能会有多个神经元。二分类有两个神经元,多分类有多个神经元,分别输出所有输入的样本对应的每个标签分类下的概率。但无论如何,输出层只有一层,是用于输出预测结果用。
输入层和输出层中间的所有层,叫做 隐藏层 Hidden layers ),最少一层。 也就是说整个神经网络是最少三层。 隐藏层是我们用来让算法学习的网络层级,从更靠近输入层的地方开始叫做" 上层 " ,相对而言,更靠近输出层的一层,叫做" 下层 " 。在隐藏层上,每个神经元中都存在一个激活函数,我们的数据被逐层传递, 每个下层的神经元都必须处 理上层的神经元中的激活函数处理完毕的数据 ,本质是一个感知器嵌套的过程。隐藏层中上层的每个神经元,都与下层中的每个神经元相连,因此隐藏层的结构随着神经元的变多可以变得非常非常复杂。神经网络的两个要点:参数和激活函数,也都在这一层发挥作用,因此理解隐藏层是神经网络原理中最难的部分。

softmax

softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类!假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是

 

你可能感兴趣的:(sklearn,神经网络,机器学习)