首页 > 其他分享 >机器学习--2神经网络

机器学习--2神经网络

时间:2023-02-17 17:01:04浏览次数:56  
标签:输出 机器 函数 -- 分类 问题 神经网络 激活

神经网络

神经网络模型

image-20221207160513481

神经网络与线性回归的思想类似,然后添加相应的激活函数输出对应的结果。经典的神经网络有以下三个层次组成:输入层(input layer), 隐藏层 (hidden layers), 输出层 (output layers)。

image-20221207163123502

层与层之间相互连接,每个连接都是带有权重值的。隐藏层和输出层的神经元由输入的数据计算输出,但输入层神经元只有输入,一般指一个训练数据样本的数据。

1、前向传播算法

2、激活函数

神经网络中的每一层的输入输出都是一个线性求和的过程,下一层的输出只是承接了上一层输入函数的线性变换。如下图,如果没有激活函数,那么就相当于是一个线性激活函数\(g(z)=z\),这个时候无论网络多么复杂,最后的输出都是输入的线性组合,而纯粹的线性组合并不能解决更为复杂的问题。

image-20221207164421644

引入激活函数之后,由于激活函数都是非线性的,这样就给神经元引入了非线性元素,使得神经网络可以逼近任何非线性函数,这样使得神经网络应用到更多非线性模型中。

  • sigmoid 函数:

    函数将变量映射到\((0,1)\)之间,主要用来做二分类神经网络,与逻辑回归中添加\(sigmod\)函数思想一样。

    \[g(x)= \frac{1}{1+e^{-x}} \]

    image-20221207163707183
  • softmax函数:

    \(softmax\)是\(sigmoid\)的一种更普遍的形式。它常用于多分类问题。与\(sigmoid\)类似,它产生的值范围为 \([0,1]\) ,因此它被用作分类模型中的输出层。

    \[g(x_j)=\frac{e^{x_j}}{\sum \limits_{k=1}^{N} e^{x_{k}}} \]

  • ReLU函数:

    产生的值范围为 \([0,+ \infty )\) ,普遍用于神经网络的隐藏层。

    \[g(x)=\left\{\begin{array}{ll} x, & x>=0 \\ 0, & x<0 \end{array}\right. \]

    image-20221207163826862

3、Adam优化算法

\(Adam\)优化算法是在梯度下降算法基础上的改进,它能够根据梯度下降的方向调整学习率,当梯度下降的方向相同时,增大学习率,当梯度下降的方向一直摇摆时,减小学习率,从而能够更快的学习参数。

image-20221207202552249

4、卷积层

基于神经网络的分类问题

1、二分类问题

逻辑回归在神经网络上的应用,激活函数使用\(sigmod\)函数。

2、多分类问题

多分类问题是二分类问题(逻辑回归)的泛化,它把输入的样本划分为多个类别:

image-20221207193347460

类似于逻辑回归,这里使用\(softmax\)函数作为激活函数,损失函数定义为:

image-20221207194956509

激活函数使用\(softmax\)函数,此时输出值和原来的逻辑回归不一样,它与所有输出层的原始输出值都相关

image-20221207195909172

3、多标签问题

多标签问题和多分类问题不同,多标签问题相当于多个二分类问题,比如:你需要分别标注图上是否包含car,bus,pedestrian三类标签。

image-20221207201127235

此时可以在输出层设置3个节点,然后对这3个节点分别使用\(sigmod\)函数,每个标签都相当于一个二分类问题:

image-20221207201739582

参考资料

  1. 为什么神经网络要使用激活函数?
  2. 多分类问题_

标签:输出,机器,函数,--,分类,问题,神经网络,激活
From: https://www.cnblogs.com/wuzhimao/p/17130760.html

相关文章

  • Hadoop
    HadoopHDFS、Yarn、MapReduceHadoop集群环境搭建完全分布式环境,伪分布式将其中的多台服务器改为一台,并将配置文件中的相关内容更改即可1、安装Linux系统模型机关闭......
  • axios中取消请求及阻止重复请求的方法
    前言在实际项目中,我们可能需要对请求进行“防抖”处理。这里主要是为了阻止用户在某些情况下短时间内重复点击某个按钮,导致前端向后端重复发送多次请求。这里我列举两种比......
  • Hive
    HiveHive的相关概念Hive的架构图用户接口:包括CLI、JDBC/ODBC、WebGUI。其中,CLI(commandlineinterface)为shell命令行;Hive中的Thrift服务器允许外部客户端通过网络......
  • 记TCP触发海康相机识别二维码时的问题。
    背景:在一个项目中用TCP通讯的方式触发海康相机进行二维码识别并回传二维码信息。问题:在测试过程中发现经常会有读取到的信息是上一个产品的二维码信息。原因分析:在TCP通......
  • gitlab修改分支名称
    第一步:先修改本地分支重命名  第二步:删除远程分支 第三步:将本地分支推送到远程分支上,如果远程分支不存在,则创建此远程分支  原文章地址:https://blog.csdn.......
  • 实战:第三章:更新数据只能是下月修改,当月不能修改
    第一种:可以利用缓存,commissionMerchantsBean是传入的参数对象//将合作对象更改后,应该在下个月份才生效//根据merchants_id查询tst_commission_merchant......
  • Java工具类Collections
    一、概述Collections工具类提供了大量针对Collection和Map的操作,都为静态(static)方法,总体可分为四类:排序操作查找、替换操作同步控制设置不可变(只读)集合二、排......
  • 若以讲解
    https://betheme.net/houduan/51063.html?action=onClickhttps://blog.csdn.net/qq_41885819/article/details/115007412......
  • 【Vue】计算属性 监听属性 组件通信 动态组件 插槽 vue-cli脚手架
    目录昨日回顾1计算属性插值语法+函数使用计算属性计算属性重写过滤案例2监听属性3组件介绍和定义组件之间数据隔离4组件通信父子通信之父传子父子通信之子传父ref属性......
  • web漏洞挖掘随笔
    最近挖了一些漏洞。虽然重复了,但是有参考价值。这边给大家分享下。漏洞重复还是很难受的,转念一想,人生从不是事事如人意的,漏洞重复忽略,不代表失败。先来后到很重要......