Comments (7)
对于线性二分类实现逻辑与或非门
问:为什么达到相同的精度,逻辑OR和NOR只用2000次左右的epoch,而逻辑AND和NAND却需要4000次以上?
答:因为逻辑OR和NOR的数据使得分类线在右上角就可以达到很好的效果,而逻辑AND和NAND在输入[0,0]时不满足要求,输入[0,1]和[1,0]时不满足要求,所以需要继续迭代,使得逻辑AND与NAND的训练次数更多。
如果我们将输入数据修改一下,修改为
X = np.array([1, 1, 1, 0, 0, 1, 0, 0]).reshape(4, 2)
那么逻辑OR和NOR就需要更多的迭代次数
`reader = LogicDataReader()
reader.Read_Logic_AND_Data()
train(reader, "Logic AND operator")
reader = LogicDataReader()
reader.Read_Logic_OR_Data()
train(reader, "Logic OR operator")`
输出的结果分别为:
AND 2266 3 0.0019996388444300725 W= [[-11.74577473] [-11.7458918 ]] B= [[5.41370439]] OR 4252 3 0.0019999280800343643 W= [[-11.76499604] [-11.76497315]] B= [[17.81587457]]
from ai-edu.
那么你有没有同时改标签值Y的顺序呢?比如对于Logic_AND_Data()来说,如果把X改成[1,1,1,0,0,1,0,0], 不改Y值的[0,0,0,1],则变成了NOR数据,那么迭代次数会少。
实际上,OR和NOR的分类线在左下角,AND和NAND的分类线在右上角,权重矩阵W的初始值都是0,从0到右上角的距离比到左下角的距离长,所以需要更多次的迭代。
from ai-edu.
对的 我这个例子举的不恰当了,其实不管改不改变数据的顺序,都应该是AND的次数更多,因为就像你说权重最初始的时候是0,所以分割线是从右上角逐渐往左下角运动的。
感谢指正
from ai-edu.
对的 我这个例子举的不恰当了,其实不管改不改变数据的顺序,都应该是AND的次数更多,因为就像你说权重最初始的时候是0,所以分割线是从右上角逐渐往左下角运动的。
感谢指正
还要感谢你能够静下心来仔细阅读教程,希望你能有所收获,继续提出宝贵意见!
from ai-edu.
【6.3 线性二分类原理】思考与练习
问:在推导公式5时,假设
答:(1).假设
from ai-edu.
【6.3 线性二分类原理】思考与练习
问:在推导公式5时,假设 w2>0,这样做有什么问题吗?如果假设 w2<0 会是什么情况?
答:(1).假设 w2>0是因为示例中在直线上方的样本为正类 。(2).如果假设w2<0,则在直线下方的样本为正类。
correct!
from ai-edu.
那么你有没有同时改标签值Y的顺序呢?比如对于Logic_AND_Data()来说,如果把X改成[1,1,1,0,0,1,0,0], 不改Y值的[0,0,0,1],则变成了NOR数据,那么迭代次数会少。
实际上,OR和NOR的分类线在左下角,AND和NAND的分类线在右上角,权重矩阵W的初始值都是0,从0到右上角的距离比到左下角的距离长,所以需要更多次的迭代。
事实上并不是这样,虽然权重矩阵W的初始值都是0, 但是分类线并不是从左下角慢慢开始移动到右上角。
在训练的前几个epoch,神经网络其实已经可以正确分类,这一点可以通过观察损失值和画出分类线直观看到。后面的epoch其实一直在优化。
之所以逻辑OR和NOR只用2000次左右的epoch,而逻辑AND和NAND却需要4000次以上,是因为在同样的学习率的前提下,前者权重更新较大,下降较快,这一点通过损失函数图像也可以一窥究竟。
其实,逻辑OR和逻辑AND这是两个不同的问题,可以从它们的损失函数图像着手进行分析,它是关于w1, w2, b的函数。
当损失函数满足精度要求时,w1和w2基本相等。当假设w1=w2, 损失函数就是关于w1,b的二元函数,可以通过绘制三维图直观展示。
这是OR的损失函数图像,OR。可以看出比较陡峭,需要较少的迭代。
这是AND的图像,AND。比较平缓,需要更多的迭代。
from ai-edu.
Related Issues (20)
- All pictures missing (A2-神经网络基本原理 README.md) HOT 1
- 有个公式中的值希望您能帮我解答一下 HOT 2
- 无法下载数据> 请问,数据在哪里down HOT 6
- 这个章节图片无法显示 HOT 1
- B15-基于深度学习的代码搜索案例中爬取好的数据集链接失效
- 图片加载失败 -- 神经网络基本原理教程说明 HOT 1
- 数据包下载路径访问异常,无法正常下载 HOT 4
- mkdocs build 图片不显示 HOT 2
- H
- 17.3.1 计算反向传播的梯度矩阵 公式 1,2,3,4 显示错误
- 1.3.3 神经网络中的矩阵运算 公式显示错误 HOT 2
- 1.3 插图中的文案错误
- Education it
- 大量图片路径错误 HOT 2
- 大量图片路径错误 HOT 3
- 请教一个L1正则中的疑惑 HOT 1
- 图片内容错误 HOT 3
- 图片加载不出 HOT 5
- 实践案例中的量化交易的源代码无法找到
- 请问这个项目以后还会更新吗? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ai-edu.