| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Python机器学习日记(八) -> 正文阅读 |
|
[人工智能]Python机器学习日记(八) |
神经网络 “多层感知器”--MLP算法,也被称为前馈神经网络。 首先看一下一个线性模型的一般公式: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?y^ = w[0]*x[0]+w[1]*x[1]+...+w[p]*x[p]+b 其中y^表示对y的估计值,x[0]到x[p]是样本特征值,w表示每个特征值的权重,y-hat可以看成是所有特征值的加权求和。用下面这个图来表示这一过程。 ?在MLP模型中,算法在过程里添加了隐藏层,然后在隐藏层重复进行上述加权求和计算,最后再把隐藏层所计算的结果用来生成最终结果,如下图所示: ?这样模型要学习的特征系数或者说权重,就会多很多了。在每一个输入的特征和隐藏单元之间都有一个系数,每个隐藏单元和最终结果之间也都有一个系数。 为了让模型变得比普通线性模型更强大,需要进行一些其他的处理:在生成隐藏层后,我们要对结果进行非线性矫正(relu)或者双曲正切处理(tanh)通过这两种方式处理后的结果来计算最终结果y。 接下来进行代码展示
?根据图中信息可以看出,tanh函数把特征x的值压缩进到-1,1的区间内,-1代表的是x中较小的值,而1代表较大的值。relu函数则把小于0的x值全部去掉,用0代替,这样刚才的公式经过tanh处理后会变成: ?h[0]=tanh(?w[0]*x[0]+w[1]*x[1]+...+w[p]*x[p]+b) ?h[1]=tanh(?w[0]*x[0]+w[1]*x[1]+...+w[p]*x[p]+b) ?h[2]=tanh(?w[0]*x[0]+w[1]*x[1]+...+w[p]*x[p]+b) ... y^ = v[0]h[1]+v[1]h[1]+...+v[n]h[n] 在权重系数w之外,我们又多了一个权重系数v,用来通过隐藏层h来计算y-hat的结果 w,v都是通过对数据的学习得出的,用户要设置的参数就是隐藏层中节点的数量。在大量的数据中往往要添加更多的隐藏层,如下图所示: ?这也是后续要学习的“深度学习”中“深度”的来源 神经网络的参数设置 以MLP算法中的MLP分类器为例,研究一下该分类器模型的使用方法:
在这里介绍一下hidden_layer_sizes参数,默认情况下值为【100,】意味着,模型中只有一个隐藏层,而隐藏层的节点数是100,如果将其定义为【10,10】那就意味着模型中有两个隐藏层,且每层有10个节点。接下来用图像展示一下MLP分类的情况:
?接下来试着把隐藏层的节点数变少,将节点数变为10 节点数为10的时候,决定边界丢失了很多细节。在每一个隐藏层当中,节点数就代表了决定边界中最大的直线数,这个数值越大没决定边界看起来越平滑。增加隐藏层的数量和把activation参数改为tanh都可以让决定边界更细腻。?接下来试着增加隐藏层数量。 ?接下来再使用cativation=‘tanh’ ?这时边界完全变成了平滑的曲线,这就是对样本特征进行双曲线正切化后的结果,还可以通过调节alpha的值来进行模型复杂度控制。下面把alpha的值增加到1: ?增加alpha参数的值会加大模型正则化的程度,也就是会让模型更加的简单。在神经算法网络中,样本特征的权重是在模型开始学习前就已经随机生成的,而随机生成 的权重会导致模型的形态也完全不一样。只要模型的复杂度不变,期预测结果的准确率也不会受到什么影响。 神经网络实例----手写识别
接下来将测试图像转化为模型可读取的numpy数组?
输出结束 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 8:40:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |