吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):2.2 需求预测

目录

一元特征案例:单个神经元

1.需求

给定一个输入特征:价格,预测T恤是否畅销。

2.单个神经元实现需求

将逻辑回归的sigmoid函数看成一个神经元,神经元接收输入的价格,通过公式计算并输出数字a。或者把神经元看成一台微型计算机,唯一的作用就是输入一个或几个数字,通过计算输出一个或几个数字。

3.激活值

神经科学术语,表示一个神经元向下游其它神经元发送高输出的程度。示例中神经元的预测值就称为a,表示激活值。

多元特征案例:神经网络

1.需求

给定四个输入特征:T恤价格(price),运输成本(shipping cost),营销能力(marketing),面料质量(material),预测T恤是否畅销(probability of being a top seller)。

2.原始特征生成新特征

通过四个特征转换出三个新特征:T恤可负担性(affordability),T恤知名度(awareness),感知质量偏见,也就是感觉T恤质量如何(perceived quality)。

3.新特征构建多个神经元

  • 构建人工神经元,给定T恤价格(price)和运输成本(shipping cost),通过神经元预测人们是否可负(affordability)。
  • 构建人工神经元,给定营销能力(marketing),通过神经元预测T恤知名度(awareness)的高低。
  • 构建人工神经元,给定T恤价格(price)和面料质量(material),通过神经元预测人们是否认为T恤质量好坏(perceived quality)。
  • 构建人工神经元,给定T恤可负担性(affordability),T恤知名度(awareness),感知质量偏见(perceived quality),通过神经元预测T恤是否畅销(probability of being a top seller)。

4.神经元的访问范围

神经元可以从输入层中访问每一个特征。

5.构建层

  • :"层"(layer)由一个或多个神经元组成。输入相同或相似特征,然后一起输出几个数字。
  • 输入层:神经网络的第一层,接收原始数据,参考示例中黄颜色标记的四个特征列。
  • 输出层:神经网络最后一层,将前面层的处理结果转化为最终的预测输出,参考示例中粉颜色的神经元。
  • 隐藏层:介于输入层和输出层之间的一层或多层神经元。由于隐藏层输出的内容不在训练集数据中,因此被称为隐藏,参考示例中间蓝色三个蓝色标记的神经元的那层。
  • 激活项 :T恤可负担性(affordability),T恤知名度(awareness),感知质量偏见(perceived quality)被称为三个神经元那一层的激活项。最终预测是否畅销的概率是输出层的激活项。

6.简化激活值

输入层的4个特征转换为向量x。中间这一层输出的3个激活值被转换成向量a。

另一种视角查看多元特征案例

1.神经网络看成逻辑回归

遮盖左侧部分,此神经网络变成一个逻辑回归问题:神经元接收T恤可负担性(affordability),T恤知名度(awareness),感知质量偏见(perceived quality)作为特征,预测T恤是否畅销。

2.自动学习特征

神经网络可以根据原始特征自动学习到更好的特征集,无需手动设计特征。当你从数据中训练它时,你不需要明确决定其他特征,如可负担性等,神经网络应该计算什么,或者自己弄清楚这个隐藏层想要使用的是哪些特征。

多元特征案例小结

输入层有一个特征向量,这个例子中是四个数字,向量特征x被输入到隐藏层,隐藏层计算并输出的3个激活值,3个激活值使用一个向量表示,该向量给输出层计算,输出层输出1个数字,即最终概率。

神经网络案例:多个隐藏层

1.案例:神经元数量较少

  • 1个输入特征向量X,它被送到1个隐藏层,称为第1个隐藏层。
  • 如果第1个隐藏层有3个神经元,则输出1个向量,包含3个激活值。此向量输入到第2个隐藏层。
  • 如果第2个隐藏层有2个神经元,则输出1个向量,包含2个激活值。此向量发送到输出层。
  • 输出层接收向量,输出神经网络的最终预测。

2.案例:神经元数量较多

3.神经网络的架构与性能

确定神经网络的架构,需要设计隐藏层数量和每个隐藏层有多少神经元。选择不同的隐藏层数量和每层隐藏神经元的数量可以影响学习算法的性能。

4.多层感知机

一些文献中将具有多个隐藏层的神经网络称为多层感知机,通常是指像幻灯片中展示的具有多层结构的神经网络。

总结

一个神经元可以看成一个逻辑回归模型,每个神经元输出的数值称为激活项或激活值。多个神经元组合在一起为一个层,多个层组合在一起就是神经网络。层可以分为输入层,隐藏层,输出层。隐藏层可以有多个。每个层输出值的数量等同于每层神经元的数量,输出的激活值可以简化成一个向量。设计一个神经网络,要关注隐藏层数量以及隐藏层中神经元的数量,这些数量的多少影响着神经网络的性能。

相关推荐
mykj15517 小时前
英语单词APP解锁学习新方式,智能高效背单词
学习·英语单词app
知识分享小能手7 小时前
深度学习学习教程,从入门到精通,深度学习中的正则化 — 完整知识点与代码示例(7)
人工智能·深度学习·学习
find1star7 小时前
LeetCode 141:环形链表
java·算法·leetcode·链表
迅翼SwiftWing7 小时前
编队系列(总)|固定翼编队如何实现稳定飞行?通信架构、协同算法与工程约束深度解析
算法·架构
LB21127 小时前
力扣160 21 86
算法·leetcode·职场和发展
~kiss~8 小时前
Agent 的 未来吗?String: An Agentic OS Where Every App Is a Markdown File
学习
小智老师PMP9 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
硅谷秋水9 小时前
JEPA-WAM:基于联合嵌入世界建模的VLA策略学习
人工智能·机器学习·计算机视觉·语言模型·机器人
HugoStudio_SWAN9 小时前
洛谷 B4450 / B3867 / B3923 智慧购物、储蓄与做题——从程序到生活
c++·学习·程序人生·算法·生活
a187927218319 小时前
【算法】动态规划第二篇:双序列 DP 三课——继承、计步与断链
算法·leetcode·动态规划·dp·回溯·暴力·算法讲解