人工神经网络风靡一时,人们不由要问,这个朗朗上口的名字是否在模型自身的营销和应用中起到了必定做用。html
据我所知,不少商业经理会说他们的产品使用了人工神经网络和深度学习。显然他们确定不会说产品使用了“链接圆模型”(Connected Circles Models)或者“失败-惩罚-修正模型”(Fail and Be Penalized Machines)。但毫无疑问,人工神经网络已经在图像识别、天然语言处理等许多领域取得了成功的应用。git
做为一个并未彻底理解这些技术的专业数据科学家,就像一个没有工具的建筑工人,这让我感到很羞愧。所以,我弥补了这些缺失的功课,并写下这篇文章来帮助别人克服那些我在学习过程当中遇到的困难和难题。github
注意:本文示例中的R代码能够在 https://github.com/ben519/MLPB/blob/master/Problems/Classify%20Images%20of%20Stairs/intro_to_nnets_article_materials.R找到。web
咱们从一个激励问题开始。在这里,咱们收集了2*2网格像素的灰度图像,每一个像素的灰度值在0(白)至255(黑)之间。目标是创建一个识别“阶梯”模式的网络模型。网络
首先,咱们关心的是如何找到一个可以合理拟合数据的模型,至于拟合方法,后面再考虑。工具
我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,立刻就要抢光了。学习
预处理阿里云
对每个图像,给像素打上x1,x2,x3,x4 的标签而且生成一个输入向量喂给模型。但愿咱们的模型能够把有阶梯模式的图像预测为True,没有阶梯模式的图像预测为False。htm
单层感知机(模型迭代0)blog
咱们能够构建一个简单的单层感知机模型,它使用输入的加权线性组合返回预测分数。若是预测分数大于选定的阈值,则预测为1,反之预测为0。更正式的表达式以下: