| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【五一技术分享】感知机、多层感知机是什么?(Pytorch实现) -> 正文阅读 |
|
[人工智能]【五一技术分享】感知机、多层感知机是什么?(Pytorch实现) |
目录? 参考沐神《动手学深度学习》? 10 多层感知机 + 代码实现 - 动手学深度学习v2_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1hh411U7gn?
????????感知机是一个线性模型,早期提出感知机的时候,是为了用他来解决二分类的问题。 定义如下: ?其分类的原理很简单
????????其中,上述的向量x=[x1,x2,,,,xd]T(T代表矩阵的转置)代表一个样本的各个特征,向量w=[w1,w2,,,,wd]代表一个样本各个特征对应的权重。 ????????为了方便新来的朋友看懂,我再讲细一点,举个例子表述一下如何将一个样本放到感知机里面得到预测的类别。 比如: ????????一个人代表一个样本,假设有 身高、体重、名字 这三个特征,预测性别,规定男1,女0(二分类)。
????????现在我们已经明白一个样本怎么通过感知机进行分类 ,那么关键是我们怎么训练得到合适的权重向量w和偏置b,这就要用到下面的公式更新了。 ????????其中y为当前样本的真实标签label(是男1是女0) ,那么x和w为当前样本的输入和输入对应的权重,有如下情况:
这就是感知机。 缺点????????但是他有很大的局限性,比如感知机是线性函数,那对于下面这种情况,他就始终没法划分正确。 ?为了解决这种问题,引入了多层感知机,来把感知机非线性化。
????????既然一个感知机划的一条线不能很好地区分开XOR问题,那我就用两条感知机划的线不就可以了吗?这个思想就是感知机的核心,他相当于用多个感知机叠加变成了多层感知机MLP,具有非线性的特性。 ? ? ? ? 下图用了两个感知机划出来的线,最终分类的结果存在product这一行中,可以理解为对product上面两行取 同或 的操作,即相同取1,不同取0,当然1和0在这里是用+和-表示的。 ????????上面是两个感知机叠加产生的结果,那如果用更多的感知机叠加在一起不就可以实现更好的非线性了吗?没错,所以我们可以在输入层和输出层中间加一个隐藏层,隐藏层有几层由我们自己定义,每层有几个节点也由我们定义。 ????????直观理解,我们隐藏层越多,每层的节点数越多,那么非线性就越好,更能画出特别复杂的线,但同时可能会由于模型过于复杂产生过拟合。反之模型就越简单,可能会欠拟合。 结构下面就来实践一下吧! 数据集?使用fashion_mnist数据集,数据集长这样,共有10类标签和对应的图片 目的使用训练集 训练一个多层感知机(MLP)去预测 测试集对应的label 具体流程
代码从零开始实现MLP代码
MLP的简洁实现代码
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/26 8:16:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |