算法学习神经网络

Posted pandaboy1123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法学习神经网络相关的知识,希望对你有一定的参考价值。

神经网络对于深度学习是十分重要的,线性回归做预测,逻辑回归做分类,神经网络是用来做预测的,预测和分类都属于机器学习
多元线性回归是线性的模型,需要对点进行拟合,要找直线的最优解,要评估误差损失最小的时刻,一般直线无法穿过所有的点,如何更完美的穿过所有的就用到多项式回归
非线性数据变成线性数据
如果数据变化是非线性的,那么选用线性的算法的拟合效果就不会太好,拟合的结果就不会太高,分类或者预测的效果就不会特别高
1.直接变换数据
2.选择非线性的算法,达到拟合的效果(神经网络就是非线性的算法,神经网络可以是十分复杂,非线性的算法可以解决更加复杂的问题,深度学习的时候的基础就是神经网络)
深度学习就是神经网络(卷积神经网络或者人工神经网络)的层级比较多
神经网络就是仿生物的一种算法,是实在的拟人的一种算法
神经网络解析
1.一只猫的神经元大约有10亿个,一只老鼠约有7500万个,一只蟑螂约有100万个神经元,相比之下,许多人工神经网络只有几百个神经元
2.机器学习往往只是为了解决某一个特定的问题,人工智能也是要专门用来识别某些特定的功能的方式,每个不同的方面需要不同的算法或者模型去单独负责,所以一个人工智能需要很多的算法或者模型去组成
技术分享图片
 

人工神经网络

人工神经网络(ANN:Artificial Neural Network),简称神经网络(NN:Neural Network)。迄今为止,人工神经网络尚无统一定义,其实一种模拟了人体神经元构成的数学模型,依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的
 
上图显示了人工神经网络是一个分层模型,逻辑上可以分为三层:
  • 输入层:输入层接收特征向量 xx。
  • 输出层:输出层产出最终的预测 hh。
  • 隐含层:隐含层介于输入层与输出层之间,之所以称之为隐含层,是因为当中产生的值并不像输入层使用的样本矩阵 XX 或者输出层用到的标签矩阵 yy 那样直接可见。
如果神经网络内的线性全是多元线性回归的算法的组合,那么组合还是线性的就是不好的
从生物神经元到人工神经元
  • 激活函数:将神经元的净输入信号转换为单一的输入信号,以便进一步在网络中传播(实际上每一个神经元单独拆开来看,一个神经元就是单独的一个逻辑回归函数)
  • 网络拓扑:描述了模型中神经元的数量以及层数和他们的连接方式
  • 训练算法:指定如何设置连接权重,以便抑制或增加神经元在输入信号中的比重
            技术分享图片
激活函数
1.动物的神经元
一般就是step function阈值函数
2.机器的神经元
技术分享图片技术分享图片
线性函数、阶跃函数、斜坡函数、S 型函数、双曲正切函数、高斯函数
 

 
神经网络要考虑的基本要素有哪些?
激活函数的选择,对应神经元里的逻辑,两部分,相乘和相加和非线性的变化,相乘相加是固定不变的,非线性的变化可以有很多选择,需要根据实际的效果来
处理更加复杂的逻辑,就需要更多的网络拓扑结构,需要设置更多的人工神经元,在去求解神经网络模型的时候w,w1,wn的时候选择什么样的优化算法(随机梯度下降一样适用)
激活函数有哪些?
常用的函数有(更完全的拟人)
  • sigmod函数,[0,1]的取值范围
  • Tangent函数,[-1,1]的取值范围
  • Relu函数,max(0,x)的逻辑
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



以上是关于算法学习神经网络的主要内容,如果未能解决你的问题,请参考以下文章

神经网络算法:线性神经网络续

《神经网络与深度学习》算法伪代码汇总

《神经网络与深度学习》算法伪代码汇总

第20集 python机器学习:神经网络算法

机器学习算法简介人工神经网络算法

《神经网络与深度学习》算法伪代码汇总