【08-神经网络介绍】
前言
神经网络的工作原理,如何进行推理和预测;
如何训练自己的神经网络;
构建机器学习系统的实际建议;
学习决策树;
神经网络,模仿大脑工作的软件
语音识别 -> 图像识别 -> 文本NLP -> …
大脑如何工作:神经元 - 突触 - 神经元 ,许许多多神经元相互连接形成的网络,相互传输电信号;
1990 年,神经网络 - 2005 深度学习 -
数据量的爆发,以及神经网络可以增加神经元的数目,并利用大量的数据,可以不断提高该模型的性能;
工作原理
神经网络的工作原理
需求预测:某T-shit的销量好不好;
a, activation, 术语,指一个神经元向下游的其他神经元发送高输出的程度(频率?密度?);
a = f(x) = 1 / (1 + e^-(wx+b));
使用逻辑回归来预测,输入价格x,输出卖地好的概率值,这件事给一个神经元节点来做;也可以将神经元理解为小型计算机,负责将输入的值经过计算之后输出;
构建一个神经网络:将这些神经元连结在一起;
例子2:预测T-shit销量好不好;
输入特征:价格price, 运费shipping cost, 营销marketing,材料material;
第一个神经元:特征为价格和运费,作为消费者的成本;affordability
第二个神经元:特征为营销,作为消费者的感知度;awareness
第三个神经元:特征为价格和材料,作为消费者的认为是否是高质量的;perceived quality
在神经网络的术语中,将 affordability、awareness、perceived quality 称为 activations;
生物上,activations 指生物神经元发送高输出值/给下游许多神经元发送许多电脉冲的程度;
这三个神经元的输出被称为 affordability、awareness、perceived quality 的激活值activations;
最后输出的概率是第二层神经元的activation激活值;
目前为止,我们必须逐个神经元决定它从上一层获取哪些输入,实际上,由很多特征参数和神经元时,对每个神经元逐个决定它的入参是一项非常耗时切繁杂的工作,而在实际的操作中,每个神经元都可以获取到上一层神经元的所有的值,
更改为:输入为一个特征向量x,其中有四个值;向量x输入到中间层,每个神经元根据自己的侧重点来调整其他特征值的参数(例如对于affordability节点,可调整marketing material的参数很小),然后输出三个节点的激活值,这三个激活值再作为最后一个节点的入参,最后输出大卖概率;
它有三层,第一层是一个特征向量(包含四个值),第二层的输入是包含四个值的特征向量,输出三个激活值,第三层输入三个激活值,输出概率。
输入层,隐藏层,输出层。
对于给定的数据集而言,有一组数据:价格,运费,营销费,材料,以及销量(或是否大卖);
对于神经网络模型而言,一些中间参数和变量,如 affordability, awareness, perceived quality ,即输出节点的入参数据,是未知的,对于训练集而言,这些值是隐藏的。
当先暂时不看第一层时,它就是几个逻辑回归模型节点的组合,但是它的入参 affordability, awareness, perceived quality 是未知的,且相对于原始特征而言,这是一组新的特征,这些新的特征可能对于预测它是否大卖有更好的效果,但是它是一个可以学习自己特征的逻辑回归的版本,它更容易做出准确的预测。
在特征工程中,如何选择特征是一个问题,而在神经网络中,不需要手动设计特征,它可以学习它自己的特征,使得它学习问题更容易。
需要注意的是,虽然我们刚刚人工指定了隐藏层的特征affordability, awareness, perceived quality ,但在实际的神经网络中,你不需要明确决定哪些是特征,它会自己找出在这个隐藏层中想要使用的特征,这也是它成为如此强大的学习算法的原因。
构建神经网络模型时,需要决定,需要几个隐藏层,每个隐藏层有几个神经元;
具备多个层的神经网络被称为多层感知器multi-layer perceptron;
每一层输入一个数字向量,并对其应用一系列逻辑回归单元,然后计算另一个数字向量,然后从一层传递到另一层,直到得到最终输出层的计算。
卷积层
其他特性的层类型
上述讲的都是密集层神经网络,它将上一层中的所有激活值作为自己的输入。
其他特性的层类型,比如卷积层,
每个神经元的输入不是所有的输入信息,而是其中一部分;
1、可以加快计算速度;
2、使用这种层类型的神经网络称为卷积层;
使用了多个卷积层的神经网络称为卷积神经网络;
心电图EKG信号分类
事实证明,对于卷积层,有许多架构选择,如单个神经元的输入窗口的大小、每一层有几个神经元;
通过选择不同的参数可以构建不同的卷积层和卷积网络;
要点:神经网络可以有其他的层,以及不同的架构,例如,Transformer model . LSTM/注意力模型。
在机器学习项目中如何决策
how to build mechine learning system
决策技巧