✨机器学习笔记(五)—— 神经网络,前向传播,TensorFlow

news2024/11/15 11:53:18
Course2-Week1:
https://github.com/kaieye/2022-Machine-Learning-Specialization/tree/main/Advanced%20Learning%20Algorithms/week1

机器学习笔记(五)

  • 1️⃣神经网络(Neural Network)
  • 2️⃣前向传播(Forward propagation)
  • 3️⃣用 TensorFlow 搭建神经网络
  • 4️⃣徒手搭建神经网络

1️⃣神经网络(Neural Network)

🎈神经网络是模仿大脑的神经元之间传递的一个过程,如下图:

左图中, 神经网络模拟生物上神经元的传递,将数据输入神经元后将输出作为电信号传递给下一个神经元。右图中,展示了一个简单的神经元模型,即一个简单的神经网络,后一个神经元将前一个神经元的输出视为自己的输入,最终得出一个结果输出。

在这里插入图片描述

🎈那这种神经网络的结构有何作用呢?面向怎样的需求情况呢,首先对于一个最简单的分类逻辑回归问题(判断衣服是否畅销),可以用一个神经元来完成,将价格 p r i c e price price 视为这个神经元的输入,将 s i g m o i d sigmoid sigmoid 作为神经元的激活函数(用于输出结果的函数),最后输出衣服畅销的概率是多少,这是一个最简单的神经网络,也可以称为单层感知机

在这里插入图片描述

对于一个稍微复杂的问题,我们需要将价格、运费、营销、材质作为输入,过个一个有三个神经元的神经网络层,输出三个值(1个神经元输出一个值):负担能力、意识、感知质量,最后是通过这三个值来预测畅销的概率,这就是运用神经网络的典型案例。网络中的每一层都有名字,最开始作为输入数据的这层为输入层(input layer),最终输出结果的这层为输出层(output layer),由于我们在模型中只关心输入和输出,不是很关心中间的过程,所以中间的层次被称为隐藏层(hidden layer)

在这里插入图片描述

🎈Multiple hidden layers(multilayer perceptron 多层感知机)

在这里插入图片描述

🎈Face recognition

在这里插入图片描述

🎈Car classification

在这里插入图片描述


✨神经网络层的工作原理

对于: a j [ l ] = g ( w ⃗ j [ l ] ⋅ a ⃗ [ l − 1 ] + b j [ l ] ) 对于:a_j^{[l]}=g(\vec w_j^{[l]} \cdot \vec a^{[l-1]}+b_j^{[l]}) 对于:aj[l]=g(w j[l]a [l1]+bj[l])

  1. a j [ l ] a_j^{[l]} aj[l]— Activation value of layer l l l, unit(neuron) j j j ;
  2. g ( z ) g(z) g(z) — actibation function(sigmoid) ;
  3. w ⃗ j [ l ] , b j [ l ] \vec w_j^{[l]},b_j^{[l]} w j[l],bj[l] — Parameter w & b of layer l l l, unit j j j ;
  4. a ⃗ [ l − 1 ] \vec a^{[l-1]} a [l1] — output of layer l − 1 l-1 l1 (previous layer)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2️⃣前向传播(Forward propagation)

🎈从输入层开始,然后进行前向传播给隐藏层并计算隐藏层的激活项,然后继续前向传播并计算输出层的激活项得出预测结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Tensorflow Code

在这里插入图片描述

✨前向传播的代码实现

在这里插入图片描述

3️⃣用 TensorFlow 搭建神经网络

在这里插入图片描述

4️⃣徒手搭建神经网络

def my_dense(a_in, W, b, g):
    """
    Computes dense layer
    Args:
      a_in (ndarray (n, )) : Data, 1 example 
      W    (ndarray (n,j)) : Weight matrix, n features per unit, j units
      b    (ndarray (j, )) : bias vector, j units  
      g    activation function (e.g. sigmoid, relu..)
    Returns
      a_out (ndarray (j,))  : j units|
    """
    units = W.shape[1]
    a_out = np.zeros(units)
    for j in range(units):               
        w = W[:,j]                                    
        z = np.dot(w, a_in) + b[j]         
        a_out[j] = g(z)               
    return(a_out)



def my_sequential(x, W1, b1, W2, b2):
    a1 = my_dense(x,  W1, b1, sigmoid)
    a2 = my_dense(a1, W2, b2, sigmoid)
    return(a2)



def my_predict(X, W1, b1, W2, b2):
    m = X.shape[0]
    p = np.zeros((m,1))
    for i in range(m):
        p[i,0] = my_sequential(X[i], W1, b1, W2, b2)
    return(p)
    

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最短路: Djikstra

最短路: Djikstra 适用于边权非负 如果存在负边权, 则当前距离dist最小的点, 不一定就是实际离源点最近的点,可能有负边导致其它路径离当前点更近 如下图所示, 如果存在负边, y点距离S点最近, 所以选中y点进行松弛, 贪心思想 当边权非负,离起点S最近的点,不能被更新, 如果在…

PointNet++改进策略 :模块改进 | SPVConv, 体素和点云特征融合提升小目标检测能力

论文题目:Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution发布期刊:ECCV通讯地址:麻省理工 & 清华大学代码地址:https://github.com/mit-han-lab/spvnas 介绍 这篇论文的主题是如何为自驾车等应…

[译] Go语言的源起,发展和未来

本篇内容是根据2019年9月份Creating the Go programming language音频录制内容的整理与翻译, 两位主持人与Go 的创始人 Rob Pike 和 Robert Griesemer谈论了 Go 的起源、发展、影响和未来。这是一个史诗般的剧集,深入探讨了 Go 的历史和详细信息,以及他们…

手动部署并测试内网穿透(ssh 和 nginx)

原理回顾 首先需要一台连接了公网的云服务器,然后我们要访问的内网穿透对象最好是Linux服务器,比如虚拟机,然后我们通过向云服务器发送指令,云服务器再将指定发送给指定对象,让其能够执行命令。 总结就是&#xff1a…

数据结构与算法——Java实现 6.递归

要学会试着安静下来 —— 24.9.17 一、递归的定义 计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集 说明: ① 自己调用自己,如果说每个函数对应着一种解决方案,自己调用自己意味着解决方案是…

数据建模无法满足复杂业务需求?别慌,数据开发平台可以完美互补!

前言 数据可视化建模无论是对于企业的数字化转型,还是对数据资源的价值开发来说,都是至关重要的工具,小兵在前文《数据可视化建模平台介绍》。中有详细介绍过他的能力,包括面向多源异构的企业数据,为企业提供数据集成…

web基础—dvwa靶场(十一)CSP Bypass

CSP Bypass(CSP 绕过) 内容安全策略(CSP)用于定义脚本和其他资源可以从何处加载或执行,本模块将指导您根据开发人员犯下的常见错误来绕过该策略。 这些漏洞都不是 CSP 中的实际漏洞,它们都是实现 CSP 的方式中的漏洞。 绕过内容安…

xtop:如何debug fail reason

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 fix_xx_violations之后,工具会报告fail reason summary,通过man reason_name可以获知fail原因&#x

STM32(十六):MPU6050简介

MPU6050 MPU6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度、角速度参数,通过数据融合,可进一步得到姿态角,常应用于平衡车、飞行器等需要检测自身姿态的场景。 3轴加速度计(Accelerometer&#…

攻防世界--->gametime

做题笔记。 前言: 因为有意思,所以,,,打通关了。。哈哈哈。 题外话:哦,程序结果还在,是因为我是在WSL—Debian上运行的。你还别说,真挺好用的,vm虚拟机能不…

Node-RED和物联网分析:实时数据处理和可视化平台

这篇论文的标题是《Node-RED and IoT Analytics: A Real-Time Data Processing and Visualization Platform》,发表在《Tech-Sphere Journal of Pure and Applied Sciences (TSJPAS)》2024年第一期上。论文主要探讨了Node-RED和物联网分析在物联网(IoT)实时数据处理…

列表、数组排序总结:Collections.sort()、list.sort()、list.stream().sorted()、Arrays.sort()

列表类型 一.Collections.sort() Collections.sort()用于List类型的排序&#xff0c;其提供了两个重载方法&#xff1a; 1.sort(List<T> list) &#xff08;1&#xff09;List指定泛型时只能指定引用数据类型&#xff0c;也就是说无法用于基本数据类型的排序。 &am…

9.20作业

手动封装一个顺序表&#xff08;SeqList&#xff09;,分文件编译实现 有私有成员&#xff1a; 顺序表数组的起始地址 ptr、 顺序表的总长度&#xff1a;size、顺序表的实际长度&#xff1a;len 成员函数&#xff1a; 初始化 init(int n) 判空&#xff1a;empty 判满&#xff1…

Rust语言入门第七篇-控制流

文章目录 Rust语言入门第七篇-控制流If 表达式基本结构特点和规则示例 let 语句中使用 ifloop 循环基本结构特点示例综合示例 while 循环基本结构特点示例综合示例 与 loop 循环的区别 for 循环基本结构详细说明特点示例综合示例 match 表达式match表达式的语法结构示例代码 Ru…

Mysql存储过程详细解读

目录 存储过程介绍 创建与调用 查看与删除 变量 系统变量 用户自定义变量 ​编辑局部变量 ​编辑​编辑IF判断 存储过程参数​编辑​编辑​编辑 CASE ​编辑 WHILE​编辑 ​编辑REPEAT​编辑​编辑 LOOP 游标 条件处理程序 存储函数 存储过程介绍 创建与调用 查…

GNN-RAG:用于大模型推理的图神经检索

GNN-RAG&#xff1a;用于大模型推理的图神经检索 秒懂大纲提出背景解法拆解全流程优化创意总结 论文&#xff1a;GNN-RAG: Graph Neural Retrieval for Large Language Model Reasoning 代码&#xff1a;https://github.com/cmavro/GNN-RAG 秒懂大纲 ├── GNN-RAG【主题】…

【刷题日记】43. 字符串相乘

43. 字符串相乘 其实就是大数乘法题&#xff0c;这道题用草稿纸演练一下&#xff0c;其实很好找到方法&#xff0c;模拟大数乘法即可。需要注意的是进位和迭代值&#xff0c;还有注意向下取整和去除前导0&#xff08;容易遗漏&#xff09;。去除前导0的时候还要注意如果全是0&…

命令行运行python时找不到模块怎么解决

问题&#xff1a; 新建了一个项目&#xff0c;目录结构如下&#xff1a; 然后在pycharm中运行glovar是没有问题的&#xff0c;但是在命令行中运行就会提示找不到init模块。 这是因为在pycharm中运行的时候&#xff0c;pycharm会自动将项目所在目录添加到了sys.path中&#xf…

天宝Trimble RealWorks2024.0.2注册机 点云后处理软件 点云三维重建软件

一、功能特色 1、强大的点云数据处理平台 Trimble Realworks2024是市面上先进的点云数据处理软件&#xff0c;能够配准、可视化、浏览和直接处理市面上几乎所有主流品牌扫描仪点云数据&#xff0c;包括Leica、Riegl、ZF、Faro、Topcon等。 2、业界领先的无目标全自动配准 T…

Apache Flink 流批融合技术介绍

摘要&#xff1a;本文整理自阿里云高级研发工程师、Apache Flink Contributor 周云峰老师在 Apache Asia CommunityOverCode 2024中的分享。内容主要分为以下三个部分&#xff1a; 从流批一体到流批融合流批融合的技术解决方案社区进展及未来展望 一、从流批一体到流批融合 1&…