Andrew Ng机器学习入门学习笔记(四)之神经网络(一)

Stanford机器学习---第五讲. 神经网络的学习 Neural Networks learning 本栏目(Machine learning)包括单参数的线性回归、多参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学习系统设计、SVM(Support Vector Machines 支持向量机)、聚类、降维、异常检测、大规模机器学习等章节。所有内容均来自Standford公开课machine learning中A 阅读详情

一.神经网络的优势

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

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

二.神经网络的模型

1.神经元的模型

这里写图片描述

图中橘黄色部分即为一个神经元,x1,x2,x3是其输入,hθ(x)=g(θTx)=11+e−θTx,我们称这是一个以S型函数作为激励函数的人工神经元。

2.神经网络的模型

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

这里写图片描述

神经网络的模型分为输入层,隐藏层和输出层,其中隐藏层可能有多层。每个层次包含一个或多个单元。如上图中输入层包括x0,x1,x2,x3四个单元,其中x0=1是偏置单元。上图的隐藏层只有一层,加上偏置单元一共有四个单元。上图的输出层只有一个单元。

三.神经网络的相关参数及前向传播计算

a(j)i——第j层第i个神经元的激励

Θ(j)——权重矩阵,控制着从第j层到第(j+1)层的函数映射。(为了以示区别,这里是大写的Θ)

具体映射关系表现为:

a(2)1=g(Θ(1)10x0+Θ(1)11x1+Θ(1)12x2+Θ(1)13x3)=g(z(2)1)
a(2)2=g(Θ(1)20x0+Θ(1)21x1+Θ(1)22x2+Θ(1)23x3)=g(z(2)2)
a(2)3=g(Θ(1)30x0+Θ(1)31x1+Θ(1)32x2+Θ(1)33x3)=g(z(2)3)

hΘ(x)=a(3)1=g(Θ(2)10a(2)0+Θ(2)11a(2)1+Θ(2)12a(2)2+Θ(2)13a(2)3)

如果神经网络第j层有sj个单元,第(j+1)层有sj+1个单元,则Θ(j)就是一个sj+1∗(sj+1)维的矩阵。

如上图,Θ(1)是3*4的矩阵,Θ(2)是1*4的矩阵。

x=⎡⎣⎢⎢⎢x0x1x2x3⎤⎦⎥⎥⎥,z(2)=⎡⎣⎢⎢⎢z(2)1z(2)2z(2)3⎤⎦⎥⎥⎥∈R3

根据上面的映射关系以及a(1)=x,可知
z(2)=Θ(1)x=Θ(1)a(1)
a(2)=g(z(2))∈R3

给第二层增加偏置单元 a(2)0=1 之后,a(2)∈R4,同理
z(3)=Θ(2)a(2)
hΘ(x)=a(3)=g(z(3))
这种从输入层的激励开始向前传播到隐藏层,再传播到输出层的行为叫做前向传播(Forward Propagation)。

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

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

hΘ(x)=g(Θ(2)10a(2)0+Θ(2)11a(2)1+Θ(2)12a(2)2+Θ(2)13a(2)3)
如果忽略一些上下标,则这看上去很像逻辑回归。

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

四.利用神经网络解决复杂的非线性问题

1.首先用神经网络实现几个较为简单的例子:

①AND(与运算),其中x1,x2∈{0,1},y=x1 AND x2

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

这里写图片描述

hΘ(x)=a(2)=g(z(2))=g(Θ(1)a(1))=g(Θ(1)10x0+Θ(1)11x1+Θ(1)12x2)=g(−30+20x1+20x2)

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

这里写图片描述

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

x1x2hΘ(x)
00g(−30)≈0
01g(−10)≈0
10g(−10)≈0
11g(10)≈1

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

②OR(或运算),其中x1,x2∈{0,1},y=x1 OR x2

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

这里写图片描述

hΘ(x)=a(2)=g(z(2))=g(Θ(1)a(1))=g(Θ(1)10x0+Θ(1)11x1+Θ(1)12x2)=g(−10+20x1+20x2)

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

x1x2hΘ(x)
00g(−10)≈0
01g(10)≈1
10g(10)≈1
11g(30)≈1

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

③NOT(逻辑非),其中x1∈{0,1},y= NOT x1

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

这里写图片描述

hΘ(x)=a(2)=g(z(2))=g(Θ(1)a(1))=g(Θ(1)10x0+Θ(1)11x1)=g(10−20x1)

故我们可以得到神经网络的输出和输入的关系:
x1hΘ(x)
0g(10)≈1
1g(−10)≈0

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

2.用神经网络实现稍复杂的函数

①(NOT x1) AND (NOT x2)

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

这里写图片描述

hΘ(x)=a(2)=g(z(2))=g(Θ(1)a(1))=g(Θ(1)10x0+Θ(1)11x1+Θ(1)12x2)=g(10−20x1−20x2)

故我们可以得到神经网络的输出和输入的关系:
x1x2hΘ(x)
00g(10)≈1
01g(−10)≈0
10g(−10)≈0
11g(−30)≈0

可以看到,该神经网络实现了(NOT x1) AND (NOT x2)

②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;

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

这里写图片描述

该神经网络确实实现了hΘ(x)=x1 XNOR x2。

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

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

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

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

这里写图片描述

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

hΘ(x)=⎡⎣⎢⎢⎢1000⎤⎦⎥⎥⎥代表预测结果为行人 ; hΘ(x)=⎡⎣⎢⎢⎢0100⎤⎦⎥⎥⎥代表预测结果为小汽车;

hΘ(x)=⎡⎣⎢⎢⎢0010⎤⎦⎥⎥⎥代表预测结果为摩托车;hΘ(x)=⎡⎣⎢⎢⎢0001⎤⎦⎥⎥⎥代表预测结果为卡车。

训练数据集是(x(1),y(1)),(x(2),y(2)),⋯,(x(m),y(m)),

y(i)一定是⎡⎣⎢⎢⎢1000⎤⎦⎥⎥⎥,⎡⎣⎢⎢⎢0100⎤⎦⎥⎥⎥,⎡⎣⎢⎢⎢0010⎤⎦⎥⎥⎥,⎡⎣⎢⎢⎢0001⎤⎦⎥⎥⎥中的一个。

神经网络的目标是使hΘ(x(i))≈y(i)

关于是神经网络更为深入的内容和反向传播等的学习笔记将在Andrew Ng机器学习入门学习笔记(四)之神经网络(二)记录。

Coursera上Andrew Ng机器学习课程总结(一) 利用大约一个月的时间把coursera公开课Andrew Ng讲授的机器学习课程看完了,并且把8个编程联系也实现了,写篇总结来归纳下知识点。客观的来说,这门公开课很偏工程,老师对于数学知识能省则省,对于那些想初窥机器学习的同学,倒是很推荐看下。机器学习按照训练集有无标签分为监督学习和无监督学习。监督学习,我们经常用它处理回归问题、分类问题,而课程里介绍的有:线性回归模型、logistics回归模型、 阅读详情

相关推荐

Andrew Ng机器学习课程笔记--汇总

转载请附上原链接。 必须抱怨一下优快云。。太垃圾了,连文章标题都不能修改。Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记–week2(多元线性回归&正规公式) Andrew Ng机器学习课程笔记–week3(逻辑回归&正则化参数) Andrew Ng机器学习课程笔记–week4(神经网络) Andrew Ng机器学习课程笔记–

marsggbo的博客 4041

【基础系列】赏析Andrew Ng教授《Deep Learning》ch4 卷积神经网络

原作者:https://www.bilibili.com/video/BV1FT4y1E74V?p=84 第一周 卷积神经网络(Foundations of Convolutional Neural Networks) 1.1 计算机视觉(Computer vision) 1)领域 2)传统神经网络问题:数据量不够,而过拟合 1.2 边缘检测示例(Edge detection example) 1)结果 2)卷积运算 1.3 更多边缘检测内容(More edge detection) 1) .

qq_42889517的博客 1528

Andrew Ng Machine Learning 专题【Neural Networks】上

此文是斯坦福大学,机器学习界 superstar — Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记。力求简洁,仅代表本人观点,不足之处希望大家探讨。 课程网址:https://www.coursera.org/learn/machine-learning/home/welcome

IronYoung_不惧未来 3282

Andrew Ng机器学习入门学习笔记(四)之神经网络(二)

本文主要记录了神经网络的代价函数,神经网络中梯度下降的用法,反向传播,梯度检验,随机初始化等理论,并附上课程作业中相关部分的matlab代码及注释。有关神经网络的概念,模型,以及利用前向传播预测分类的计算可参看Andrew Ng机器学习入门学习笔记(四)之神经网络(一) http://blog.youkuaiyun.com/scut_arucee/article/details/50144225 一.神经网

SCUT_Arucee的博客 3940

Andrew Ng Machine Learning 专题【Neural Networks】下

此文是斯坦福大学,机器学习界 superstar — Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记。力求简洁,仅代表本人观点,不足之处希望大家探讨。 课程网址:https://www.coursera.org/learn/machine-learning/home/welcomeWeek 1: Introduction 笔记:http://bl

IronYoung_不惧未来 3415

AI 大模型计算机科学家群英传:机器学习和深度学习教育家 Andrew Ng

在人工智能领域,Andrew Ng 是一位无可争议的领军人物。他的名字与机器学习和深度学习紧密相连,他开创的在线课程改变了全球成千上万人的学习路径。本文将深入探讨 Andrew Ng 的学术生涯、教育理念以及他对 AI 革命的重要贡献。Andrew Ng 的主要研究领域包括神经网络、机器学习和深度学习。神经网络:研究如何使用神经网络来模拟人脑处理信息的方式。机器学习:研究如何从数据中学习并做出决策或预测。深度学习:研究如何使用深度神经网络来解决复杂的问题。

AI架构师小马 1280

Andrew Ng 卷积神经网络笔记(第一周)

使用CNN的动机CNN 多用于图像处理,选择CNN而非传统神经网络的一个原因是可以大大降低存贮和计算时间,因为输入的图像可能会很大。假设有一个1000乘1000像素的rgb图片,它的大小就是1000*1000*3,这意味着输入层有300万个维,如果用传统的神经网络,假设第一个隐藏层有1000个节点,那么第一个隐藏层就会需要上亿个参数。参数很多的话就很难找到足够多的训练样本来防止过拟合,而且空间和计算

libbyandhelen的博客 1255

Andrew Ng机器学习编程作业5完整实现与解析

Andrew Ng在Coursera平台上开设的机器学习课程,是全球范围内最受欢迎的入门级机器学习课程之一。该课程以理论与实践并重的方式,系统讲解了机器学习的核心算法与应用技巧。课程内容涵盖监督学习、非监督学习、神经网络基础以及优化算法等关键主题。编程作业5作为课程的核心实践环节之一,引导学习者实现一个完整的神经网络模型,涵盖前馈计算、反向传播、参数更新等关键流程。通过该作业,学员不仅能掌握机器学习项目的开发流程,还能理解工业级模型实现的基本范式。在本章中,我们系统讲解了在编程作业5中使用的。

weixin_42126677的博客 1030

1.神经网络和深度学习 (Andrew Ng)

3.9神经网络的梯度下降法 给出整个神经网络中每个层(输入层,隐藏层,输出层)的反向传播公式: 然后再给出每个参数的学习公式(梯度下降): 神经网络的向量表示: 以下是关于正向传播和反向传播: ...

源码森林 406

Andrew Ng机器学习课程完整作业解答指南

htmltable {th, td {th {pre {简介:《Coursera机器学习课程答案》作为入门资源,提供了Andrew Ng在Coursera平台教授的机器学习课程中所有作业的解答。这门课程覆盖了机器学习的基础知识,包括监督学习、无监督学习和强化学习等算法。学生将通过学习线性回归、逻辑回归、SVM、决策树、随机森林、神经网络、K-means聚类、PCA和DQN等模型,以及进行数据预处理、特征选择、模型训练、验证和调优的实践,来深入理解机器学习的原理和应用。

weixin_42315569的博客 740

SAP-MM-PR分配货源并转PO

SAP-MM-PR分配货源并转PO

yanzibing99的博客 5473

Andrew Ng(吴恩达) deep learning 课程 (coursera)

引言 前段时间 Andrew Ng(吴恩达)在 Coursera 开设了深度学习的课程,正如 Andrew 在 Coursera 上的机器学习课程一样,Andrew 总是面向零基础的工程师来授课,而不是有专业背景的人员。所以课程总是会力求直观且应用性强,但是往往对专业从事机器学习的人员来看略显简单,但是大牛对事物的理解还是值得参考的,所以我把课程中自己学到的要点记录如下。 第一课:神经网络...

张月鹏的博客 8284

国产麒麟系统下用Rider开发C#桌面应用:从环境配置到Avalonia UI实战

本文详细介绍了在国产麒麟系统上使用JetBrains Rider开发C#桌面应用的完整流程,重点讲解了Avalonia UI框架的实战应用。从环境配置、Rider安装到Avalonia项目创建和UI开发技巧,全面覆盖了在非Windows环境下进行C#开发的关键步骤和优化建议,助力开发者高效构建跨平台桌面应用。

weixin_27791839的博客 387

机器学习入门捷径:free-ai-resources精选Andrew NG等权威课程对比

free-ai-resources是一个精心整理的免费AI资源库,包含了机器学习、深度学习、数据科学等多个领域的优质课程、数据集和学习工具,特别适合新手快速入门机器学习。通过这个项目,你可以轻松获取Andrew NG等权威专家的课程资源,对比选择最适合自己的学习路径。 [![free-ai-resources资源概览](https://raw.gitcode.com/gh_mirrors/fr/

gitblog_01005的博客 897

基于Multisim的模电调幅发射机仿真设计

振荡器产生的高频信号的功率很小,所以有必要对高频信号进行功率放大,有利于信号的调制发射。缓冲电路将主振荡器和高频功放电路相隔离,以减小功放电路对主振荡器的影响。缓冲电路可以用射极跟随器电路来实现,其作用就是前后级的阻抗相互匹配,减小前后级的影响。总电路的仿真结果见下图:示波器1~4分别是主振荡器、缓冲电路、高频放大电路和调幅电路的输出波形。由于载波频率稳定度≤10-3,所以可以采用并联型改进电容反馈式三端振荡器(Seiler电路)谐振回路,滤除其他频率的成分,得到与载波(假设。(1)缓冲电路的设计与实现。

Eve223322的博客 4590

PCB层叠结构与阻抗计算

1.Core 和 PP PCB两个重要组成部分:Core 和 Prepreg(半固态片,简称PP)。 如下图所示, Core 的两个表面都铺有铜箔,可作为信号层、电源层、地层等导电层,Core的上下表面之间填充的是固态材料; PP的表面不铺铜,在PCB中起填充作用,其材质是半固体的树脂材料,因此比Core略软一些。 在制作多层板时,需配合使用Core和PP,一般在两个Core 之间应选PP作为填...

sinat_15677011的博客 1万+

探索机器学习的奥秘:Andrew Ng教授的机器学习课程资源推荐

探索机器学习的奥秘:Andrew Ng教授的机器学习课程资源推荐 项目介绍 你是否对机器学习充满好奇,却又不知从何入手?你是否渴望深入了解机器学习的理论与实践,却苦于找不到系统的学习资源?那么,这个开源项目正是为你量身打造的! Machine Learning By Prof. Andrew Ng 是一个汇集了Andrew Ng教授在YouTube和Coursera上的所有机器学习课程及资源的宝库...

gitblog_00212的博客 904

Winform利用动画控制实现各种特效

动画绘制控制类代码 using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Threading; using System.Windows.Forms; namespace Mengliao.CSharp.A14 { #region 动画类型枚举 // 本例为了简单起见没有使用见名知意的名称,如用于实际可将这些枚举成员更名

LilyCoder的博客 2502

Machine Learning课程 by Andrew Ng

大名鼎鼎的机器学习大牛Andrew Ng的Machine Learning课程,在此mark一下: 一:Coursera: https://www.coursera.org/learn/machine-learning/home/info 这门课是Andrew Ng在其开创的公开在线课程网站coursera上最初开设的几门课之一,assignment也有一

GarfieldEr007的专栏 4137

c#视觉应用开发中如何使用Emgu CV在C#中进行图像处理?

Emgu CV 是 OpenCV 的 .NET 包装器,可以让开发者在 .NET 语言(如 C#)中使用 OpenCV 的功能进行图像处理。在进行图像处理时,Emgu CV 提供了丰富的 API 可以使用。PictureBoxImageBox下面是一个详细的示例,演示如何使用 Emgu CV 在 C# 中进行基本的图像处理,包括加载图像、转换为灰度图像、进行边缘检测,然后显示结果。byte在这个示例中,我们使用了三个PictureBox控件来显示原始图像、灰度图像和边缘检测后的图像。

zhangzhechun的专栏 670

STM32Cube高效开发教程<基础篇>(一)----概述

一、 STM32系列器件和开发工具发展历史声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。本专栏博客参考《STM32Cube高效开发教程(基础篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。一、 STM32系列器件和开发工具发展历史。

我的博客 1172

斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感

近日,在网易公开课视频网站上看完了《机器学习》课程视频,现做个学后感,也叫观后感吧。  学习时间 从2013年7月26日星期五开始,在网易公开课视频网站上,观看由斯坦福大学Andrew Ng教授主讲的计算机系课程(编号CS229)《机器学习》(网址http://v.163.com/special/opencourse/machinelearning.html)(注:最早是在新浪公开课

lotus___的专栏 7万+

AMBA-CHI协议详解(十五)

Write transactions事务描述以及请求属性,cache line状态转换。

Crazzy_M的博客 650

斯坦福Andrew Ng教授“机器学习”26篇教程全译

收藏!斯坦福Andrew Ng教授“机器学习”26篇教程全译 发表于9小时前| 1425次阅读| 来源优快云| 17 条评论| 作者优快云 机器学习编码云计算算法斯坦福大学大数据 摘要:机器学习与数据挖掘!重中之重,热中之热。要“深入浅出,要言不烦,不卖关子,不摆噱头”讲清楚机器学习,斯坦福大学教授Andrew Ng做到了。这是他的26篇教程的翻译,建议收藏。 机器

Michael_6810的专栏 1696

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Andrew Ng机器学习课程笔记(四)之神经网络

Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录Andrew Ng课程第四章和第五章的神经网络,主

bzt820801的博客 545

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Andrew Ng机器学习课程笔记--week4

Neural Networks: Representation一、 内容概要 Neural Network Model Representation 1 Model Representation 2 Applications Examples and Intuitions 1 Examples and Intuitions 2 Multiclass Classification 二、重点&难点1

marsggbo的博客 1059

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: 机器学习实战k-近邻算法(kNN)应用之改进婚恋网站配对效果代码解
下一篇: Andrew Ng机器学习入门学习笔记(四)之神经网络(二)
SCUT_Arucee
博客等级 码龄12年 115粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值