对以下文章机器学习总结
什么是深度学习?最易懂的机器学习入门文章-CSDN博客
人工智能和机器学习之间的关系
人工智能是一个最宽泛的概念,是一个研究领域,同时也是一个实现目标,而机器学习则是实现这一目标的一类方法。深度学习只是机器学习这一类方法中的一种。
机器学习之前的建模方式对比 :
深度学习改变了很多领域算法的实现模式。在深度学习兴起之前,很多领域建模的思路是投入大量精力做特征工程,将专家对某个领域的“人工理解”沉淀成特征表达,然后使用简单模型完成任务(如分类或回归)。而在数据充足的情况下,深度学习模型可以实现端到端的学习,即不需要专门做特征工程将原始的特征输入模型中,模型同时完成特征提取和分类任务。
Dimension disaster:
阶跃函数用于计算决定神经元是兴奋还是抑制的关键.阶跃函数可以将神经元输入值与阈值的差值映射为输出值1或0;若差值大于等于零则输出1,对应兴奋;若差值小于零则输出0,对应抑制。
阶跃函数具有不光滑、不连续等众多不“友好”的特性,无法连续求导。在实际应用中无法使用.
S型函数(sigmoid函数)— 无论输入值的范围有多大,这个函数都可以将输出挤压在范围(0,1)之内。
实际应用中, 我们通常用S型函数函数来代替阶跃函数,最常用的S型函数为sigmoid函数.
那么对于Sigmoid函数,则输出大于0.5小于1,对应兴奋;如果输入值在(-0.5,0)之间,那么输出则小于0.5大于0,对应抑制。
输入的数据各个特征乘以权重再相加, 结果和阈值进行差值计算, 大于0则阶跃激活函数结果为1,神经元兴奋状态,则奖励。 差值计算结果小于0,则阶跃激活函数结果为0,神经元抑制状态, 则惩罚.
感知机是一种判别模型,其目标是求得一个能够将数据集中的正实例点和负实例点完全分开的分离超平面。
基本结构 — 由两层神经元构成的网络结构。
x 表示输入, w 表示权重, y表示输出.
红色字体讲清楚了,M-P单神经元模型和感知机模型的区别
上面所讲到的M-P神经元模型其实就是对单个神经元的一种建模,需要注意的一点是,M-P模型的权重和阈值都是人为给定的,所以对这一类模型不存在“学习”的说法。其实,这也是M-P模型与单层感知机最大的区别,感知机中引入了学习的概念,权重和阈值是通过学习得来的。
单层感知机模型是由美国科学家Frank Rosenblatt(罗森布拉特)在1957年提出的,它的基本结构如图所示,简单来说,感知机(Perceptron)就是一个由两层神经元构成的网络结构:输入层接收外界的输入信号,通过激活函数(阈值)变换,把信号传送至输出层,因此它也被称为“阈值逻辑单元”;输出层(也被称为是感知机的功能层)就是M-P神经元。 (单感知机(Perceptron)就是一个由两层神经元构成的网络结构)
输出的数学表达式如图所示。可以看到,大于阈值的时候输出为1,小于等于阈值的时候输出为0
我们判断正确错误和我们的权值 、 和阈值相关。那么怎么选择权值和阈值呢?事实上,我们并不能一开始就知道这几个参数的取值,而是一点点地“折腾试错”(Try-Error),而这里的“折腾试错”其实就是感知机的学习过程。
神经网络的学习规则 — 调整神经元之间的连接权值和神经元内部阈值的规则。
中国有句古话:“知错能改,善莫大焉”说的就是,犯了错误而能改正,没有比这更好的事了。放到机器学习领域,这句话显然属于“监督学习”的范畴,因为“知错”,就表明事先已有了事物的评判标准,如果你的行为不符合或者偏离这些标准,那么就要根据偏离的程度,来“改善”自己的行为。
神经网络的学习规则就是调整神经元之间的连接权值和神经元内部阈值的规则(这个结论对于深度学习而言依然是适用的)。 (神经网络的学习过程,本质上就是不断调整神经元之间的权重和阈值的过程. 开始随机初始化权重和阈值,随着数据的输入数量变大, 这两个值为无限接近正确的数字.)
感知机的学习过程分为四个阶段。
第一次学习,就是第一次根据规则调整权重和阈值.
在非线性分布形态的场景,感知机的学习过程就会发生“震荡(Fluctuation)”,权重就难以求得合适的解。因此,单个感知机的局限性在于它只能表示由一条直线分割的空间,对于非线性问题(即线性不可分问题,如上图中的非线性空间)仅用单个感知机无法解决。
单层的感知机不能解决“异或”问题。
观察三角符和圆圈的分布形态:
非线性分布
深度神经网络是一种使用数学模型处理图像以及其他数据的多层系统,而且目前已经发展为人工智能的重要基石。
感知机模型则由两层神经元组成,输入层接收外界输入信号后,经过激活函数处理,传递给输出层,输出层再经过激活函数处理形成最终的输出。
单层的感知机不能解决“异或”问题,也正是因此被人工智能泰斗明斯基并无恶意地把人工智能打入“冷宫”二十载。其实解决“异或”问题的关键在于能否解决非线性可分问题,而要解决非线性问题就需要提高网络的表征能力,也就是需要使用更加复杂的网络。
按照这个思路,我们可以考虑在输入层和输出层之间添加一层神经元,将其称之为隐藏层(Hidden Layer,又称“隐含层”或“隐层”)。
神经网络模型
此外,针对以上的第1条中,对于神经网络模型,当隐藏层如下图中所示大于等于两层时,就称之为深度神经网络(Deep Neural Network,DNN)
内容有点深,脑细胞不够, 改天补充。 参考文章,像大佬致敬:
【科普&实践】超详细!一文带你玩转深度学习 - 飞桨AI Studio星河社区