首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
计算机与人工智能
从简单的预测机开始
分类器与预测器的差别
训练简单的分类器
一个分类器求解问题的局限性
神经元—大自然的计算机器
在神经网络中追踪信号
大有用途的矩阵乘法
使用矩阵乘法的三层神经网络示例
学习来自多个节点的权重
多个输出节点反向传播误差
反向传播误差到更多层中
使用矩阵乘法进行反向传播误差
我们实际上如何更新权重
权重更新成功范例
准备训练数据
使用Python制作神经网络
初始化网络
权重—网络的核心
更加复杂的权重
训练神经的查询网络
完整的代码整理
开始训练任务之训练网络
手写数字的数据集MNIST
准备MNIST训练数据
使用数据集测试网络
使用完整数据集进行训练和测试
一些改进:调整学习率
一些改进:多次运行
改变网络形状
最终代码
实践-自己的手写数字
实践-创建新的训练数据:旋转图像
当前位置:
首页>>
技术小册>>
Python神经网络入门与实践
小册名称:Python神经网络入门与实践
因为上述的简单机器接受了一个输入,并做出应有的预测,输出结果,所以我们将其称为预测器。我们根据结果与已知真实示例进行比较所得到的误差,调整内部参数,使预测更加精确。 现在,我们来看看测量得到的花园中小虫子的宽度和长度 ![](/uploads/images/20231213/2270c68628af2e4cc6d69be87993187b.png) 在上图中,你可以清楚地看到两群小虫。毛虫细而长,瓢虫宽而短。 你还记得给定千米数,预测器试图找出正确的英里数这个示例吗?这台预测器的核心有一个可调节的线性函数。当你绘制输入输出的关系图时,线性函数输出的是直线。可调参数C改变了直线的斜率。 如果我们在这幅图上画上一条直线,会发生什么情况呢? 虽然我们不能使用先前将千米数转换成英里数时的同样方式,但是我们也许可以使用直线将不同性质的事物分开。 ![](/uploads/images/20231213/7d6d9c657ba2abfd7b92e8e992718b8a.png) 在上图中,如果直线可以将毛虫与瓢虫划分开来,那么这条直线就可以根据测量值对未知小虫进行分类。由于有一半的毛虫与瓢虫在分界线的同一侧,因此上述的直线并没有做到这一点。 让我们再次调整斜率,尝试不同的直线,看看会发生什么情况。 这一次,这条直线真是一无是处!它根本没有将两种小虫区分开来。 让我们再试一次: ![](/uploads/images/20231213/6a99558144da4893dbfc6ca753746939.png) ![](/uploads/images/20231213/66e4247e4fd07dc9687ed635ef291b89.png) 这条直线好多了!这条直线整齐地将瓢虫与毛虫区分开来了。现在,我们可以用这条直线作为小虫的分类器。 我们假设没有未经发现的其他类型的小虫,现在来说,这样假设是没有问题的,因为我们只是希望说明构建一台简单的分类器的思路。 设想一下,下一次,计算机使用机器手臂抓起一只新的小虫,测量其宽度和长度,然后它可以使用上面的分界线,将小虫正确归类为毛虫或瓢虫。 看看下图,你可以看到未知的小虫位于直线之上,因此这是一条毛虫。这种分类非常简单,但是非常强大! ![](/uploads/images/20231213/fec0638fa765dd5287f7fcd966526ee0.png) 我们已经看到了,在简单的预测器中,如何使用线性函数对先前未知的数据进行分类。 但是,我们忽略了一个至关重要的因素。我们如何得到正确的斜率呢?我们如何改进不能很好划分这两种小虫的分界线呢? 这个问题的答案处于神经网络学习的核心地带。让我们继续看下一节。
上一篇:
从简单的预测机开始
下一篇:
训练简单的分类器
该分类下的相关小册推荐:
Python3网络爬虫开发实战(下)
Python编程轻松进阶(四)
Python合辑4-130个字符串操作示例
实战Python网络爬虫
Python与办公-玩转Word
Python3网络爬虫开发实战(上)
Python甚础Django与爬虫
Python数据分析与挖掘实战(上)
Python机器学习实战
Python合辑2-字符串常用方法
Python合辑1-Python语言基础
Python合辑14-面向对象编程案例(下)