吴恩达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.多层感知机

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

总结

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

相关推荐
夜月yeyue21 分钟前
个人写HTOS移植shell
c++·mcu·算法·性能优化·架构·mfc
Nix Lockhart29 分钟前
《算法与数据结构》第七章[算法3]:图的最小生成树
c语言·数据结构·算法
十重幻想35 分钟前
PTA6-5 使用函数求1到10的阶乘和(C)
java·c语言·算法
丰锋ff41 分钟前
2013 年真题配套词汇单词笔记(考研真相)
笔记·学习·考研
小小程序媛(*^▽^*)1 小时前
第十二届全国社会媒体处理大会笔记
人工智能·笔记·学习·ai
名誉寒冰1 小时前
【LeetCode】454. 四数相加 II 【分组+哈希表】详解
算法·leetcode·散列表
十重幻想1 小时前
PTA6-4 使用函数统计指定数字的个数(C)
c语言·c++·算法
毕设源码-邱学长2 小时前
【开题答辩全过程】以 爱学习教育网站为例,包含答辩的问题和答案
学习
格林威2 小时前
机器视觉的工业镜头有哪些?能做什么?
人工智能·深度学习·数码相机·算法·计算机视觉·视觉检测·工业镜头
Yupureki2 小时前
从零开始的C++学习生活 5:内存管理和模板初阶
c语言·c++·学习·visual studio