Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 4——神经网络(一)

2024-01-31 15:58

本文主要是介绍Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 4——神经网络(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

此系列为 Coursera 网站机器学习课程个人学习笔记(仅供参考)
课程网址:https://www.coursera.org/learn/machine-learning
参考资料:http://blog.csdn.net/scut_arucee/article/details/50144225


一、前言

1.1 分类器

当我们用机器学习算法构造一个汽车识别器时,我们需要一个带标签的样本集,其中一部分是汽车,另一个部分可以是其他任何东西,然后我们将这些样本输入给学习算法,以训练一个分类器。训练完毕后,我们输入一幅新的图像,让分类器判定这是否为汽车。


1.1 神经网络的优势

对于复杂的非线性分类问题,当特征变量个数 n 很大时,用逻辑回归时 logistic 函数g(θTx)中的 θTx 如果用二次多项式表示,则二次项数目很多,约为 n2 ,计算复杂度达到 O(n2) ;如果用三次多项式表示,则三次项数目更多,复杂度达 O(n3)

而神经网络能很好的解决上面那种复杂的非线性分类问题。


二、神经网络的模型

2.1 神经元的模型

在一个神经网络里,我们将神经元模拟成一个逻辑单元(logistic unit),如下图黄色圆圈所示。

x1,x2,x3 是它的输入,向神经元传输一些信息,神经元通过一些计算 hθ(x) ,然后输出计算结果。这里, hθ(x)=g(θTx)=11+eθTx 。我们称之为由logistic 函数作为激励函数的人工神经元。与前面内容相对,有时,输入单元中会加一个偏置单元 (如上图浅蓝色圆圈所示) x0 x0=1


2.2 神经网络的模型

神经网络是一组神经元的组合,如下:

同样的,有时我们会加上偏置单元,它们的值永远为 1 。图中网络的第一层也叫做输入层(Input Layer),第二层叫做隐藏层(Hidden Layer),隐藏层可以有多层,第三层叫做输出层(Output Layer)。


2.3 神经网络的假设函数

为了解释神经网络具体的计算步骤,我们先来说明一些符号:

a(j)i——第 j 层第 i 个神经元的激励(神经元读入数据后计算并输出的值);
Θj ——权重矩阵,控制着从第 j 层到第 j+1 层的函数映射。

下面我们看一下隐藏层的神经元是怎么计算它们的值的:

如果神经网络第 j 层有 sj 个单元,第 (j+1) 层有 sj+1 个单元,则 Θj 就是一个 sj+1(sj+1) 维的矩阵。(第 (j+1) 层的偏置单元 a(j+1)0 不必求,始终为 1 ,但第 j偏置单元对第 (j+1) 层有影响)
如上图, Θ1 3×4 的矩阵, Θ2 1×4 的矩阵。


三、前向传播

下面我们引入符号 z(j)k 来代替上面式子中括号里的部分:

a(2)1=g(z(2)1)
a(2)2=g(z(2)2)
a(2)3=g(z(2)3)

总之,对于第二层的第 k 个节点:

z(2)k=Θ(1)k,0x0+Θ(1)k,1x1++Θ(1)k,nxn

我们用向量表示 x z(j)

x=x0x1xnz(j)=z(j)1z(j)2z(j)n

根据上面的映射关系, a(1)=x ,可知:

z(j)=Θ(j1)a(j1)

j 层激励单元的向量表示:

a(j)=g(z(j))

-
计算完 a(j) 后,我们可以给第 j 层添加上偏置单元(a(j)0=1)。同前面一层,我们可以得到下一层激励单元的值:

z(j+1)=Θ(j)a(j)a(j+1)=g(z(j+1))

假设第 j+1 层为输出层,则:

hΘ(x)=a(j+1)=g(z(j+1))

这种从输入层的激励开始向前传播到隐藏层,再传播到输出层的行为叫做前向传播(Forward Propagation)。

看了这么多,神经网络到底在做什么呢?

对于上面神经网络的模型那张图,如果不看输入层,只看后面两层:

写出计算公式:

hΘ(x)=Θ(2)1,0a(2)0+Θ(2)1,1a(2)1+Θ(2)1,2a(2)2+Θ(2)1,3a(2)3

忽略一些上下标,看上去很像逻辑回归。

神经网络所做的事情很像逻辑回归,但它不是使用 x0,x1,x2,x3 作为输入特征来训练逻辑回归,而是通过另一组参数 Θ(1) x0,x1,x2,x3 映射为隐藏层的 a(2)1,a(2)2,a(2)3 作为输入特征。


四、利用神经网络解决非线性问题

首先,我们先来看下面两张图:

如左图所示, x1,x2 只能取0和1,图中只画了4个样本,我们可以把左图看做是右图的简化版本,用叉来代表正样本,圆圈代表负样本。在以前的例子中,我们会通过学习一个非线性的决策边界来区分正负样本,那么神经网络是如何做到的?

下面我们通过几个例子来看一下:

4.1 与运算(AND)

x1,x2{0,1},y=x1 and x2 ,按下图给神经网络分配权重:

hΘ(x)=a(2)=g(30+20x1+20x2)

-
又由于logistic函数 g(z) 有在 z>4.6 时越来越接近 1 ,在z<4.6时越来越接近 0 的趋势,如下图:

故我们可以得到神经网络的输出和输入的关系:

x1 x2 hΘ(x) 0 0 g(30)0 0 1 g(10)0 1 0 g(10)0 1 1 g(10)1

可以看到, hΘ(x)x1 or x2 ,该神经网络实现了与运算。

4.2 或运算(OR)

x1,x2{0,1},y=x1 and x2 ,按下图给神经网络分配权重:

hΘ(x)=a(2)=g(10+20x1+20x2)

画出真值表:

x1 x2 hΘ(x)
0 0 g(10)0
0 1 g(10)1
1 0 g(10)1
1 1 g(30)1

可以看到, hΘ(x)x1 or x2 ,该神经网络实现了或运算。

4.3 逻辑非(NOT)

x1{0,1},y= not x_{1}$,按下图给神经网络分配权重:

hΘ(x)=a(2)=g(1020x1)

画出真值表:

x1 hΘ(x)
0 g(10)1
1 g(10)0

可以看到, hΘ(x) not x_{1}$,该神经网络实现了逻辑非运算。

4.4 (NOT x1) AND (NOT x2 )

按下图给神经网络分配权重:

可以自己画真值表验证。

4.5 同或运算(XNOR)

按下图给神经网络分配权重:

仔细观察,可知

a(2)1=x1 and x2 ,即红色部分实现的是AND;
a(2)2= (not x1) and (not x2) ,即蓝色部分实现的是(NOT x1 ) AND (NOT x2 );
hΘ(x)=a(3)1=a(2)1 or a(2)2 ,即绿色部分实现的是OR;

通过真值表,我们会发现这个神经网络确实实现了同或运算(XNOR)。

通过这个例子我们可以看到,复杂函数可以通过一些简单函数的组合来实现。

比如神经网络的第二层可以计算输入层特征变量的函数;第三层可以以第二层为基础,计算更复杂的函数;第四层可以以第三层为基础计算比第三层还要复杂的函数,以此类推。神经网络运用更深的层数可以计算更复杂的函数,使其作为特征传递给最后一层的逻辑回归分类器,更准确地预测分类结果。


五.神经网络在多类别分类中的应用

在多类别分类中,我们的输出并不是一个数,而是一个向量,例如有一个三类别分类问题,我们要识别一个物体是行人,小汽车,摩托车还是卡车,则神经网络的模型可以如下图:

最后一层的输出层相当于有4个逻辑回归的分类器, hΘ(x)R4 ,更具体的说:

训练数据集是 (x(1),y(1)),(x(2),y(2)),,(x(m),y(1)) y(i) 一定是上面4个列向量中的一个。神经网络的目标是使 hΘ(x)y(i)


http://www.ngui.cc/el/4819377.html

相关文章

Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 5——神经网络(二)

此系列为 Coursera 网站机器学习课程个人学习笔记&#xff08;仅供参考&#xff09; 课程网址&#xff1a;https://www.coursera.org/learn/machine-learning 参考资料&#xff1a;http://blog.csdn.net/SCUT_Arucee/article/details/50176159 一、神经网络的代价函数 1.1 神…

Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 7——支持向量机

此系列为 Coursera 网站机器学习课程个人学习笔记&#xff08;仅供参考&#xff09; 课程网址&#xff1a;https://www.coursera.org/learn/machine-learning 参考资料&#xff1a;http://blog.csdn.net/scut_arucee/article/details/50419229 一、支持向量机的引入 1.1 从逻…

推荐系统论文阅读——Factorizing Personalized Markov Chains for Next-Basket Recommendation

论文题目&#xff1a;Factorizing Personalized Markov Chains for Next-Basket Recommendation Factorizing Personalized Markov Chains for Next-Basket Recommendation 矩阵分解&#xff08;MF&#xff09;和马尔可夫链&#xff08;MC&#xff09;是推荐系统常用的两种方法…

Unity 3D 一些问题总结

参考资料&#xff1a;http://www.xuanyusong.com/archives/3278 一、生成exe运行程序以后&#xff0c;UI的大小如何自适应屏幕的大小 在 Canvas 的 Inspector 中设置 Canvas Scaler (Script) 的 UI Scale Mode 为 Scale With Screen Size。填写 Reference Resolution 的 X 和Y…

Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 6(一)—— 机器学习诊断、偏差与方差

此系列为 Coursera 网站机器学习课程个人学习笔记&#xff08;仅供参考&#xff09; 课程网址&#xff1a;https://www.coursera.org/learn/machine-learning 参考资料&#xff1a;http://blog.csdn.net/scut_arucee/article/details/50388530 一、机器学习诊断 在设计机器学…

Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 6(二)——误差分析与数据集偏斜处理

此系列为 Coursera 网站机器学习课程个人学习笔记&#xff08;仅供参考&#xff09; 课程网址&#xff1a;https://www.coursera.org/learn/machine-learning 参考资料&#xff1a;http://blog.csdn.net/quiet_girl/article/details/70842146 一、垃圾邮件分类 1.1 输入特征…

Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 8(一)——无监督学习

此系列为 Coursera 网站机器学习课程个人学习笔记&#xff08;仅供参考&#xff09; 课程网址&#xff1a;https://www.coursera.org/learn/machine-learning 参考资料&#xff1a;http://blog.csdn.net/MajorDong100/article/details/51104784 前面提到的&#xff0c;对于无…

Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 8(二)——降维

此系列为 Coursera 网站机器学习课程个人学习笔记&#xff08;仅供参考&#xff09; 课程网址&#xff1a;https://www.coursera.org/learn/machine-learning 参考资料&#xff1a;http://blog.csdn.net/MajorDong100/article/details/51104784 一、降维的作用 1.1 数据压缩…

Tensorflow学习笔记(二)——Tensorboard和数据类型

课程名称&#xff1a;CS20: Tensorflow for Deep Learning Research 视频地址&#xff1a;https://www.bilibili.com/video/av15898988/index_4.html#page2 课程资源&#xff1a;http://web.stanford.edu/class/cs20si/index.html 参考资料&#xff1a;https://zhuanlan.zhi…

Tensorflow学习笔记(三)——用Tensorflow实现线性回归和逻辑回归

课程名称&#xff1a;CS20: Tensorflow for Deep Learning Research 视频地址&#xff1a;https://www.bilibili.com/video/av15898988/index_4.html#page3 课程资源&#xff1a;http://web.stanford.edu/class/cs20si/index.html 参考资料&#xff1a;https://zhuanlan.zhi…

这篇关于Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 4——神经网络(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/664308

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个