机器学习入门--神经元模型
人工神经元模型
我们高中都学习过神经元大概是个什么样子。通常是由一个神经细胞都有树突、轴突、细胞核等等。树突可以接受其他神经元传来的信号,然后对这些信号进行一下处理传递给下一个神经元。
在这里我们通过一个数学模型来描述一下这个过程。
在上面这副图里面、…这些带表神经元从前面的神经元所接受到的信号;、…表示权重即表示这个输入对输出有多大的影响,有一个函数f(*)表示神经元对于信号的处理过程;是输出打下一个神经元的信号。除此之外输入之中有一个特殊的=-1。这是为什么呢?我们知道学过神经元只有接收的信号大于一档程度时,神经元才会被激活。在这里就是这个作用,输入的信号不够大时,这个神经元就不会被激活。也有一个权重θ。
神经元会将输入x和起对应的权重w相乘然后再将其相加得到一个总输入,数学表达式是:
然后这个值会被当作激活函数f(*)的自变量得到输出yi:
说到这其实大家对于这个神经元进行的计算过程有了一定的了解了。神经元其实就是一个有着n个变量的方程。给定n个输入,然后神经元给出一个输出。
现在我们将输入x和权重w用矩阵表示:
那么整个计算过程就可以用一个很简单的方程表示:
在写成程序的时候,调用库文件写成矩阵进行计算会比使用for循环速度快很多。这样在进行大量计算的时候会省很多时间。
下面跟大家说说激活函数
激活函数有很多种,列个表格:
激活函数的作用是加入非线性因素,来解决神经元在处理分类问题时,分类能力不足的情况;在神经网络之中非线性的激活函数可以让神经网络解决更复杂的任务。
目前使用最多的激活函数是ReLU函数(y=max(0,x)),比较接近生物上神经元真实的工作状态。
简单介绍一下线性:
如果一个方程满足下面这连个条件:
1, 可加性f(x + y) = f(x)+ f(y)
2,齐次性(同质性) f(αx) = αf(x)
那么我们就可以称这个方程是线性的。实在不懂就暂时把认为这个方程是个直线。
神经元模型的几何解释
首先给大家复习一下点到直线的距离公式:
设直线 L 的方程为Ax+By+C=0,点 P 的坐标为(,),则点 P 到直线 L 的距离为:
(百度百科)
把这里的、当成输入、;A、B当成权重、;c当成θ;这个式子是不是就很像神经元模型?只是激活函数看起来有点难受。
如果这里把绝对值去掉,那么结果的正负是根据P的所在的位置确定的,在直线L的一边是正另一边就是负。
因为分母是常数,我们选择忽略它。
这里大家大概也能看得出来,把输入当作空间中的一点,那么我们前面计算的net值其实就是这个点到空间中一条直线的距离,会根据点所在直线哪一侧而有正负的区别。看张图大家会更明白。
如果激活函数选择sigmoid函数(表中第三个)图像为
那么输出可以近似看成根据输入在空间中相对于直线的位置输出1或者0。
神经元模型的一个简单应用
这是我自己造的数据,以身高为x,头发长度为y我们能得到一个散点图:
在神经元模型中如果参数设定得好,那么我们就可以得到一条直线把这两种输入分开。这样给定只要给定一个人的身高和头发长度,我们完全可以预测这个人的性别。
至于确定参数,反向传播算法(BackPropagation)可以帮助我们从已有的数据中找到合适的参数。这里不和大家过多地介绍了,有兴趣的同学可以到网上查一下。
(参考:http://blog.csdn.net/mao_xiao_feng/article/details/53048213)
怎么进行手写数字识别?
MNIST数据集(不知道的话可以百度一下)中有很多手写数字的图片并且大小都是28*28的,总共有784个像素,把这些图片当作一个784维的空间(线代中向量空间的概念)中的点,输入到一个神经元之中,得到这个图片是不是某个特定的数字(比如是不是8,是8就输出1不是就输出0)。将图片同时输入10个不同的神经元中,我们就能判断这个数字到底是几了。(参数合适准确率能到85%以上)这十个神经元也可以算是组成了一个神经网络。
就说到这吧,有兴趣的话希望同学们在空闲时间自己到网上找一些资料看,同时别忘了一定要把数学学好。
机器学习入门--神经元模型相关推荐
- python 非线性回归_机器学习入门之菜鸟之路——机器学习之非线性回归个人理解及python实现...
本文主要向大家介绍了机器学习入门之菜鸟之路--机器学习之非线性回归个人理解及python实现,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 梯度下降:就是让数据顺着梯度最大的方向,也 ...
- 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集
各位同学好,经过前几章python机器学习的探索,想必大家对各种预测方法也有了一定的认识.今天我们来进行一次实战,心脏病病例预测,本文对一些基础方法就不进行详细解释,有疑问的同学可以看我前几篇机器学习 ...
- 【机器学习入门】(10) 特征工程:特征抽取,字典特征抽取、文本特征抽取,附完整python代码
各位同学好,今天和大家介绍一下python机器学习中的特征工程.在将数据放入模型之前,需要对数据的一些特征进行特征抽取,方法有: (1) 字典特征抽取 DictVectorizer(),(2) 文本特 ...
- matlab 职坐标,机器学习入门之机器学习实战ByMatlab(四)二分K-means算法
本文主要向大家介绍了机器学习入门之机器学习实战ByMatlab(四)二分K-means算法,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助.前面我们在是实现K-means算法的时候,提到 ...
- 十年公务员转行IT,自学AI三年,他淬炼出746页机器学习入门笔记
整理 | Jane 编辑 | Just 出品 | AI科技大本营(ID:rgznai100) 近期,梁劲传来该笔记重大更新的消息.<机器学习--从入门到放弃>这本笔记的更新没有停止,在基于 ...
- 我的机器学习入门清单及路线!
Datawhale干货 作者:桔了个仔,南洋理工大学,Datawhale成员 知乎:https://www.zhihu.com/people/huangzhe 这是我个人的机器学习入门清单及路线,所以 ...
- 吴恩达机器学习入门 2018 高清视频公开,还有习题解答和课程拓展,网友:找不到理由不学!...
贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 机器学习入门课程哪家最强? 斯坦福吴恩达的CS229称第二,恐怕没人敢称第一. 最近,吴恩达在斯坦福的最新CS229 2018课程,已经完 ...
- 计算机书籍-机器学习入门之道
书名:机器学习入门之道 作者:[日]中井悦司 出版社:人民邮电出版社 出版时间:2018年05月 去当当网了解 机器学习商业应用指南 人工智能入门教程 数据科学参考书 代码基于python
- 曲线聚类_机器学习入门必读:6种简单实用算法及学习曲线、思维导图
来源:大数据DT 本文约3500字,建议阅读7分钟 本文为你介绍掌握机器领域知识的学习曲线.技术栈以及常用框架. [ 导读 ] 大部分的机器学习算法主要用来解决两类问题--分类问题和回归问题.在本文当 ...
- 机器学习入门必读:6种简单实用算法及学习曲线、思维导图
来源:大数据DT 本文约3500字,建议阅读7分钟 本文为你介绍掌握机器领域知识的学习曲线.技术栈以及常用框架. [ 导读 ] 大部分的机器学习算法主要用来解决两类问题--分类问题和回归问题.在本文当 ...
最新文章
- BZOJ 1194: [HNOI2006]潘多拉的盒子 [DP DFA]
- Android 网络请求详解
- linux socket原理,socket 的工作原理
- java用log.i打印数组_java-使用JSCH将ssh日志打印到列表(android)
- webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
- 前端:HTML/06/表单,表单元素(单行文本域,单行密码域,单选按钮,复选框,下拉列表,文本区域,上传文件域,各种按钮,隐藏域,lt;caption表格标题)
- JavaScript核心基础语法
- 设计与实现分离——面向接口编程(OO博客第三弹)
- 不负高端商务旗舰之名,金立M2017将搭载高通芯片
- hadoop 用MR实现join操作
- Ace在线代码编辑器使用
- 中兴c600olt数据配置_中兴OLT业务配置
- 游戏测试主要工作及主要流程
- 外贸常用术语_13个常用的国际贸易术语详解
- 益智休闲手游源码《贪吃蛇大战方块》源码H5+安卓+IOS三端源码
- java速算24,java枚举速算24正解集合
- DDR3基本的读写测试,适用于verilog语言学习
- unity替换模型材质
- 邮件服务器怎么填,如何配置邮箱客户端?
- imperva代理拦截