吴恩达《机器学习》8-5->8-6:特征与直观理解I、样本与值观理解II

8.5、特征与直观理解I

一、神经网络的学习特性

神经网络通过学习可以得出自身的一系列特征。相对于普通的逻辑回归,在使用原始特征 x1​,x2​,...,xn​ 时受到一定的限制。虽然可以使用一些二项式项来组合这些特征,但仍然受到原始特征的限制。在神经网络中,原始特征仅作为输入层存在。以一个三层的神经网络为例,输出层所做的预测利用的是第二层的特征,而不是输入层中的原始特征。因此,可以将第二层中的特征看作是神经网络通过学习后自动生成的一系列新特征,用于更好地预测输出变量。

二、神经元与逻辑运算

单层神经元,即没有中间层的情况,可以被用来表示逻辑运算,如逻辑与(AND)和逻辑或(OR)。通过一个简单的例子来说明逻辑与(AND)的表示。

逻辑与(AND)的神经网络表示

逻辑或(OR)的神经网络表示

逻辑或(OR)的表示与逻辑与(AND)类似,区别在于权重不同。通过选择合适的权重,可以构建表示逻辑或的神经网络。

8.6、样本与值观理解II

一、二元逻辑运算符与神经元表示

当输入特征为布尔值(0 或 1)时,可以使用单一的激活层来表示二元逻辑运算符。关键在于选择不同的权重,从而实现不同的逻辑运算。下面是几个例子:

1. 逻辑与(AND)的神经元表示

考虑一个神经元,其三个权重分别为 Θ0=−30,Θ1=20,Θ2=20。这个神经元的输出可以被视为等同于逻辑与(AND)运算。

2. 逻辑或(OR)的神经元表示

另一个神经元,其三个权重分别为 Θ0=−10,Θ1=20,Θ2=20,可以被视为等同于逻辑或(OR)运算。

3. 逻辑非(NOT)的神经元表示

一个仅含有两个权重的神经元,权重分别为 10 和−20,可以被视为等同于逻辑非(NOT)运算。

二、组合神经元实现复杂运算

通过组合这些神经元,可以实现更为复杂的逻辑运算。例如,想要实现 XNOR 运算符(当输入的两个值均为 1 或均为 0 时输出 1,否则输出 0),可以按照以下步骤:

  1. 构造一个能表示(NOT x1​) AND (NOT x2​) 部分的神经元。
  2. 将表示逻辑与(AND)的神经元和表示(NOT x1​) AND (NOT x2​) 的神经元以及表示逻辑或(OR)的神经元进行组合。

通过这样的方法,得到了一个能实现 XNOR 运算符功能的神经网络。

参考资料

[中英字幕]吴恩达机器学习系列课程

黄海广博士 - 吴恩达机器学习个人笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/194366.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity中Shader图形流水线中的纹理

文章目录 前言一、图形流水线中的纹理1、我们的纹理一般用于:2、纹理的获取方式: 二、纹理的分类1、颜色纹理2、几何纹理 三、纹理管线四、纹理的作用1、纹理可以 替换 漫反射模型中的 漫反射系数Kd2、纹理还有的作用 前言 Unity中Shader图形流水线中的…

为什么LDO一般不用在大电流场景?

首先了解一下LDO是什么? LDO(low dropout regulator,低压差线性稳压器)或者低压降稳压器,它的典型特性就是压降。 那么什么是压降? 压降电压 VDO 是指为实现正常稳压,输入电压 VIN 必须高出 所…

Qt QWebSocket实现JS调用C++

目录 前言1、QWebChannel如何与网页通信2、QWebSocketQWebChannel与网页通信2.1 WebSocketTransport2.2 WebSocketClientWrapper2.3 初始化WebSocket服务器2.4 前端网页代码修改 总结 前言 本篇主要介绍实现JS调用C的另一种方式,即QWebSocketQWebChannel。与之前的…

云服务器windows service2022 部署git服务器

1 安装 下载地址gitblit 解压到你的一个目录,我这里给的是C:\gitblit 根据官网提示要下载jre or jdk7.0,这里建议使用下载jre (jdk 有时候运行出问题,或者2个都安装),自行安装java,这里不做环境配置的说明 ==================================== 进入c:\gitblit\data 目录里面…

Docker - 企业项目

Docker - 企业项目 因为环境原因,本章本人没有实际操作,以理论为主 容器单独没有什么意义,有意义的是容器的编排 Docker 4台:1核2G的ECS K8s 9台:2核4G的ECS Docker Compose Docker Swarm # manager节点初始化sw…

场景图形管理-多视图多窗口渲染示例(4)

多视图多窗口渲染示例的代码如程序清单8-6所示 // 多视图多窗口渲染示例 void compositeViewer_8_6(const string &strDataFolder) {// 创建一个CompositeViewer对象osg::ref_ptr<osgViewer::CompositeViewer> viewer new osgViewer::CompositeViewer();// 创建两个…

时间序列预测实战(十五)PyTorch实现GRU模型长期预测并可视化结果

往期回顾&#xff1a;时间序列预测专栏——包含上百种时间序列模型带你从入门到精通时间序列预测 一、本文介绍 本文讲解的实战内容是GRU(门控循环单元)&#xff0c;本文的实战内容通过时间序列领域最经典的数据集——电力负荷数据集为例&#xff0c;深入的了解GRU的基本原理和…

Spring Framework 简介与起源

Spring是用于企业Java应用程序开发的最流行的应用程序开发框架。全球数百万开发人员使用Spring Framework创建高性能、易于测试和可重用的代码。 Spring Framework是一个开源的Java平台。它最初由Rod Johnson编写&#xff0c;并于2003年6月在Apache 2.0许可下首次发布。 Spri…

使用 Java 枚举和自定义数据类型

介绍 在 Java 编程领域&#xff0c;理解并有效利用枚举和自定义数据类型对于编写健壮、可维护且高效的代码至关重要。这篇文章旨在深入研究 Java 枚举和自定义数据类型的概念&#xff0c;提供见解和示例&#xff0c;以增强您的编码技能和知识。 理解 Java 中的枚举 枚举是枚…

C语言对10个数进行排序,使用快速排序算法

完整代码&#xff1a; // 对10个数进行排序&#xff0c;使用快速排序算法 #include<stdio.h>//用第一个元素将待排序序列划分成左右两个部分&#xff0c;返回排序后low的位置&#xff0c;即枢轴的位置 int partition(int arr[],int low,int high){//让待排序序列中的第一…

Android修行手册-Gson中不用实体类生成JsonObject或JsonArray

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列点击跳转>ChatGPT和AIGC &#x1f449;关于作者 专…

9.程序的机器级代码表示,CISC和RISC

目录 一. x86汇遍语言基础&#xff08;Intel格式&#xff09; 二. AT&T格式汇编语言 三. 程序的机器级代码表示 &#xff08;1&#xff09;选择语句 &#xff08;2&#xff09;循环语句 &#xff08;3&#xff09;函数调用 1.函数调用命令 2.栈帧及其访问 3.栈帧的…

狂神说笔记 快速入门Nginx

公司产品出现瓶颈&#xff1f; 我们公司项目刚刚上线的时候&#xff0c;并发量小&#xff0c;用户使用的少&#xff0c;所以在低并发的情况下&#xff0c;一个jar包启动应用就够了&#xff0c;然后内部tomcat返回内容给用户。 但是慢慢的&#xff0c;使用我们平台的用户越来…

逻辑回归-癌症病预测与不均衡样本评估

1.注册相关库(在命令行输入&#xff09; pip install scikit-learn pip install pandas pip install numpy 2.导入相关库 import pandas as pd import numpy as np from sklearn.metrics import classification_report from sklearn.model_selection import train_test_split…

黑马点评回顾 redis实现共享session

文章目录 传统session缺点整体访问流程代码实现生成验证码登录 问题具体思路 传统session缺点 传统单体项目一般是把session存入tomcat&#xff0c;但是每个tomcat中都有一份属于自己的session,假设用户第一次访问第一台tomcat&#xff0c;并且把自己的信息存放到第一台服务器…

场景图形管理-多视图与相机(3)

在OSG中多视图的管理是通过osgViewer::CompositeViewer类来实现的。该类负责多个视图的管理及同步工作&#xff0c;继承自osgViewer;:ViewerBase类&#xff0c;继承关系图如图8-13所示 图8-13 osgViewer::CompositeViewer 的继承关系图 在前面已经讲到&#xff0c;osgViewer:Vi…

ubuntu中使用 vscode 连接docker开发环境

文章目录 ubuntu中使用 vscode 连接docker开发环境步骤一&#xff1a;安装 Remote Development 插件步骤二&#xff1a;连接远程环境步骤三&#xff1a;开发 问题解决参考连接 ubuntu中使用 vscode 连接docker开发环境 Remote Development 是一个 Visual Studio Code 插件&…

【MySQL】表的增删改查(基础)

一、新增&#xff08;Create&#xff09; 先创建一张表&#xff1a; create table student (id int,sn int comment 学号,name varchar(20),email varchar(20));1.1 单行数据 全列插入 插入两条记录&#xff0c;value_list 数量必须和定义表的列的数量及顺序一致 insert i…

【C++面向对象】14. 命名空间

文章目录 【 1. 命名空间的定义 】【 2. using 指令 】2.1 using 指定命名空间的全部2.2 using 指定命名空间的部分 【 3. 不连续的命名空间 】【 4. 嵌套的命名空间 】 问题的背景&#xff1a;假设这样一种情况&#xff0c;当一个班上有两个名叫 Zara 的学生时&#xff0c;为了…

基于JavaWeb+SpringBoot+Vue医疗器械商城微信小程序系统的设计和实现

基于JavaWebSpringBootVue医疗器械商城微信小程序系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 摘 要 目前医疗器械行业作为医药行业的一个分支&#xff0c;发展十分迅速。…