码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 机器学习入门(六)神经网络初识


    目录

    一、模型解释

    1.1 用人脑解释

    1.2 用模型解释 

    二、通过异或门的神经网络理解偏置量、神经网络的传播

    2.1 与门的神经网络表示

    2.2 或门的神经网络表示 

    2.3 异或门的神经网络表示 

    三、多物体分类 


    一、模型解释

    1.1 用人脑解释

            神经网络是模拟人的神经元,通过输入电化学信号(Input:Dendrite)经过细胞核(Dealing:Nucleus)处理得到结果(Output:Axon)传给下一个神经元(下一个输入)。

    1.2 用模型解释 

            这个相比于人脑神经元系统:我们拿肿瘤分类举例

            偏置单元(bias unit):x_{0}=1

            待训练参数:\theta_{1},\theta_{2},\theta_{3},\theta_{4}

            输入(Input):x_{1},x_{2},x_{3}

            处理函数(Dealing):激活函数,逻辑回归的激活函数为Sigmoid函数

    g(z) = \frac{1}{1+e^{-z}} \ \ \ z=\theta^{T}x

            输出(Output):根据处理函数处理出的值和判断阈值确定分类或者输出逻辑是或者逻辑否。

            神经网络一般有三层:分别是输入层、隐藏层和输出层。

            我们定义几个符号:

            a_{i}^{(j)}:是第j层的第i个激活单元 

            \Theta ^{(j)}:控制从层j到层j+1的函数映射的权重矩阵
            且一般每新的一个隐藏层会多一个隐藏层,如果用s_{j}表示在j层的单元数量,s_{j+1}表示在j+1层的单元数量,那么\Theta ^{(j)}的维度为s_{j+1} \times (s_{j}+1)。

    二、通过异或门的神经网络理解偏置量、神经网络的传播

    2.1 与门的神经网络表示

            这里我们选择单层隐藏层的神经网络,假设我们训练出的参数\theta_{1},\theta_{2}为20,20。(怎么训练的不用管,后文会介绍)。偏置量\theta_{0}设置为30。

            我们输入为(x_{1},x_{2})\subset binary(0\ or\ 1),输出为y = x_{1} \ AND \ x_{2}

            神经网络如下:

            ①我们输入一组参数判断是否是与逻辑,比如(x_{1},x_{2}) = (1,0)

            则激活函数h_{\Theta }(x) = g(-30 + 20*1 + 20*0)=g(-10),通过观察Sigmoid函数:

             g(-10)的值低于0.01,远低于0.5,我们认为是约等于0的。也就是不存在与关系。

             ②我们输入一组参数判断是否是与逻辑,比如(x_{1},x_{2}) = (1,1)

            则激活函数h_{\Theta }(x) = g(-30 + 20*1 + 20*1)=g(10),通过观察Sigmoid函数:

             g(10)的值接近于1,我们认为存在与关系。

    2.2 或门的神经网络表示 

            这里我们选择单层隐藏层的神经网络,假设我们训练出的参数\theta_{1},\theta_{2}为20,20。(怎么训练的不用管,后文会介绍)。偏置量\theta_{0}设置为-10。

            我们输入为(x_{1},x_{2})\subset binary(0\ or\ 1),输出为y = x_{1} \ OR \ x_{2}

            神经网络如下:

            ①我们输入一组参数判断是否是与逻辑,比如(x_{1},x_{2}) = (1,0)

            则激活函数h_{\Theta }(x) = g(-10 + 20*1 + 20*0)=g(10),通过观察Sigmoid函数:

             g(10)的值接近于1,我们认为存在或关系。

             ②我们输入一组参数判断是否是与逻辑,比如(x_{1},x_{2}) = (1,1)

            则激活函数h_{\Theta }(x) = g(-10 + 20*1 + 20*1)=g(30),通过观察Sigmoid函数:

             g(30)的值接近于1,我们认为存在与关系。

    2.3 异或门的神经网络表示 

            我们结合与门和非门,推导出异或门。

            异或门对应两种情况:(1,0),(0,1)

            x_{1} \ AND \ x_{2}对应的情况是(1,1)

            (NOT \ x_{1}) \ AND \ (NOT \ x_{2})对应的情况是(0,0)

            则去掉这两种情况便得到了异或门。我们画出神经网络的结构:

             推导前面已经给出,现不重复推导。

    三、多物体分类 

            神经网络也能进行多物体分类,它的输出层为向量,如果确定是该物体则该向量的该分量输出为1,而不是像1,2,3,4之类的。 

  • 相关阅读:
    Qt quick性能提升[通俗易懂]
    Falcon-7B大型语言模型在心理健康对话数据集上使用QLoRA进行微调
    基于Hadoop的MapReduce网站日志大数据分析(含预处理MapReduce程序、hdfs、flume、sqoop、hive、mysql、hbase组件、echarts)
    Node.js+vue+mysql高校人事管理系统7sgv0
    第二章、dubbo 框架(直连方式 dubbo)
    在spring中使用Validated和@Valid对参数进行校验
    动态密码 作为程序员之网络安全一定要看
    虚拟磁盘discard在qemu中的应用
    【JAVA】值传递与引用传递
    jupyter notebook
  • 原文地址:https://blog.csdn.net/qq_41694024/article/details/127730224
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号