深度学习与神经网络基础入门学习

2023-02-01 09:41:58 浏览数 (1)

关于神经网络与深度学习算法,以下SMDD会从最基础的概念讲起来,不会有复杂的公式和难以理解的东西 在了解基本之前我们先来看看几个基本的概念,虽说是高数基础,但很好理解 导数:一个平滑,连续的函数在某处的切线的斜率 如果说函数在有定义的某点上可以切,我们就说在这点可导 e:皮尔纳常数,什么是皮尔纳常数?这个不需要过多了解,你就把他当做派一样对待 定义一个函数exp(x)=e^x *以上基本数学常识会在后面模型优化的文章内用到*

首先了解我们接下来要学习的几个组成初步模型的几个部件 第一个就是神经元,神经元就像是流水线上的一个工人负责处理信息后输出结果给转换部件 ,而神经元要处理的信息就是输入样本x和权重w,以x乘以对应的权重w,然后输出结果给最后一个部件y,y是负责转换神经元处理后输出的数据,比如在手写体识别中,神经元输出的也许是一串小数(softmax分类中小数可以看做是这个数据属于这类的概率),然后转换负责比较10(对应数字1-10)个类中哪个类的概率最大,那这个数据即属这类,随后根据类上所属标签输出识别结果

从感知机谈起 感知机算法可以说是神经网络算法的根本起源,其原理非常的基本,感知机的输出结果只取两个值1/0 而输入感知机的参数就是样本X=[x1,x2,x3...xn]和权重W=[w1,w2,w3,...wn] 当输入进去是信号被送往神经元时样本X会与权重W相乘然后在转换函数y中被相加,若相加后得到的y值小于等于阀值或者大于阀值则输出0或1,阀值在这里我们取个字母q来表示 那么我们整理一下这个整体的感知机的原理可以用这样一个式子来表示 我们先定义一个函数f(x) f(x)= 0 if x<=q  1 if x>q

则y=f(x1w1 x2w2 x3w3..xnwn) 每个输入进入的信号x都有自己的权重,权重越大这个信号就越重要

为了方便后续的表达,我们可以把式子简单的优化,写成类似于线性函数的形式 f(x)= 0 if x-q<=0  1 if x-q>0 令-q=k f(x)= 0 if x k<=0  1 if x k>0

=>y=f(x1w1 x2w2 x3w3..xnwn k) =>f(x)= 0 if x<=0  1 if x>0 写成这样的形式相信你就熟悉了许多,接下来我们来看看感知机的函数应用 我们现在取n=1和n=2作为感知机 y=f(x1w1 x2w2 k)

我们此时在一个横轴为x1,纵轴为x2的平面直角坐标系中定义四个点A(0,0) B(0,1) C(1,0) D(1,1),现在y=f(x1w1 x2w2 k)在此坐标系内会将坐标系分为两个区域,函数的区域包含区域0,不包含区域记为区域1, 此时我们可以给函数分配一定的权重和k使得他实现几个基本逻辑门,比如我们要制作一个或门 我们分配权重w1=1,w2=1,k=-0.5 此时w1x1 w2x2 k=的函数图像分出了区域0和区域1,此时你会发现点A在区域0内,点BCD都在区域1 如果我们此时把这些点换成真值表,区域0和1换成真值表内的输会得出一个有趣的结论

X1A=0,X2A=0,区域0 X1C=1,X2C=0,区域1 X1B=0,X2B=1,区域1 X1D=1,X2D=1,区域1

这不就是或门真值表吗? 接下来问题来了,我们如何修改权重和偏置k实现复合的逻辑门?比如异或门我们要使得函数将A和D两点包含在区域0内,其余两点排外 很明显无论如何调整权重和偏置都无法用一条直线分开,此时我们就要用非线性函数的曲线将他们分开,被分割区域就叫做非线性空间,这就是单层感知机的缺陷所在 那我们现在已知感知机能够实现与或非这种简单的逻辑门我们能不能将他们进行组合来实现复合逻辑门呢 通过组合与门,与非,或门三种逻辑门可以实现异或门,恰好感知机可以多层叠加,我们把一个神经元看做一个节点,多层神经元,就叫做神经网络,这就是下节的内容

0 人点赞