Stanford 机器学习笔记 Week5 Neural Networks: Learning

Coursera Machine Learning 第五周week5 ex4Neural Networks Learning编程全套满分题目+注释 立即下载

Cost Function and Backpropagation

Cost Function

在求取神经网络权重矩阵时,第一步也是要先写出cost function。它的cost function就是带rugularization

的logistic regression的加强版,因为在多种类分类中每个数据不再只有一个输出y(i),而是有K个0/1输出组

成一个向量(K为种类数),因此神经网络的cost function为:
这里写图片描述

注意后面的regularization部分仍然不计算bias unit(θ0)

Cost Function and Backpropagation

同样,在做gradient descent时需要先知道J(θ)以及每个参数关于J(θ)的偏导数,包括每层的权重矩阵(L)

中的每个元素(i,j),是个3重循环。

用δl,j表示第l层第j节点对最终结果的残差有多少影响。首先最后一层很好计算,使用δ(last) = a(last) - y即

可。计算隐藏层的δ可以使用以下公式:

这里写图片描述

!上图有错误:g’(z) = g(z) * (1 - g(z))

证明可以看这里:http://blog.youkuaiyun.com/abcjennifer/article/details/7758797

需要记住的就是J(θ)关于权重参数Θ(l,i,j)的偏导数就是a(l,j),*δ(l+1,.i)。注意不需要求δ(1),因为第一层是输

入层,不需要修改。

整体的back propagation算法如下图所视:
这里写图片描述

注意for i = 1 to m中的i和下面的i没有关系,这里有歧义。

上述矩阵中,a(i)(除最后一层外),D是包含bias unit的,z和δ是不包含bias unit的。

最后计算出的D矩阵就是所要的偏导数矩阵。

Backpropagation in Practice

Implementation Note: Unrolling Parameter

fminunc的语法为:

optTheta = fminunc(@(t)costfunction(t, X, y, lambda), initial_theta, options)

[ J, grad ] = costfunction(theta, X, y, lambda)

在logistic regression中,grad,initial_theta,theta都是向量,而到了神经网络中这些都变成了矩阵,这

里讲一种方法把这些矩阵转换为向量。在octave中使用A = A(:)就可以把一个矩阵转换成列向量,使用A =

reshape(A, (m,n))就可以把A还原回m*n矩阵。

因此,[ J, gradVec ] = costfunction(thetaVec, X, y, lambda) 的过程为:

1.reshape thetaVec 得到初始权重矩阵
2.通过forward/backward propagation得到偏导数矩阵D
3.把D转换成向量gradVec返回

Gradient Checking

在编写backward propagation时有可能出现bug,即使看起来J(θ)确实在递减,其中也可能隐含着错误。本

节介绍一种方法来确定所求的偏导矩阵是否正确。

一种估计J(θ)在θ点导数的方法:

取e为极小值(通常10^-4),连接J(θ-e)和J(θ+e)两点,认为该直线的斜率就是在θ点的导数。

当θ包含多个参数时依然可以使用这种方法:

这里写图片描述

最后检查这个估计值是否约等于求出的偏导矩阵D

Random Initialization

theta的初始值不能随便取,如果全取0的话,不仅每个ai,j会相等,它们关于J(θ)的偏导数也相等,因此

每一层的theta值依然会保持相等。为了解决这个问题,对于theta的初值要随机初始化为[-ε,ε]之间的随机

数。

使用Theta = rand(m,n) * (2*ε) - ε。 其中rand()生成(-1,1)之间的数。

Putting It Together

在构造神经网络时,一般来说每个隐藏层的节点数量最好相同,而且多于输入层节点数量,通常是数量越多

效果越好。

总的步骤为:

1.随机初始化权重矩阵

2.对于每个数据x(i),使用forward propagation计算hθ(x(i))

3.使用hθ(x(i))计算J(θ)

4.使用backward propagation计算偏导数矩阵D

5.使用Gradient Check对D矩阵进行检查

6.使用gradient descent+backward propagation求出最佳权重矩阵

尽管J(θ)是non-convex的,gradient descent等算法一般会找到一个非常优的局部最优解(尽管可能不是全

局最优解)。

Application of Neural Networks

Autonomous Driving

本节介绍了一个神经网络的应用:自动驾驶,原理是把一个人在一段时间内的驾驶操作序列作为训练集,每

秒钟20次用照相机记录车前方道路情况,及此时驾驶员做的驾驶操作。接下来就是用神经网络进行决策了。

machine-learning-ex4(编程作业:Neural Networks Learning,程序运行结果正确) 立即下载

相关推荐

andrew ng machine learning编程作业代码5

斯坦福大学andrew ng machine learning编程作业代码,第五课ex5

Andrew Ng机器学习week5(Neural Networks: Learning)编程习题

* nnCostFunction.m function [J grad] = nnCostFunction(nn_params, ... input_layer_size, ... hidden_layer_size, ... ...

weixin_30883311的博客 749

用MATLAB从零实现六足机器人步态仿真:交替三角与波动步态保姆级教程

本文详细介绍了如何使用MATLAB从零实现六足机器人的两种经典步态仿真:交替三角支撑步态和波动步态。通过参数定义、相位设置、运动轨迹生成和三维可视化等步骤,帮助读者掌握六足机器人步态规划的核心技术。教程包含完整代码和详细解析,适合机器人爱好者和相关专业学生学习实践。

weixin_26765363的博客 228

Coursera机器学习 week5 神经网络的学习 编程作业代码

这是Coursera上Week6的神经网络的学习部分的编程作业代码。经过测验,全部通过。下面是 sigmoidGradient.msigmoidGradient.m 的代码:% sigmoidGradient.mfunction g = sigmoidGradient(z) %SIGMOIDGRADIENT returns the gradient of the sigmoid function %

请叫我AXin 8752

OSGEarth三维可视化避坑指南:如何高效加载SHP/TIF地理数据?

本文详细介绍了OSGEarth在三维地球可视化中高效加载SHP/TIF地理数据的实战策略,包括空间参考系配置、性能优化、二三维联动等关键技巧。通过具体案例和代码示例,帮助开发者解决坐标偏移、性能卡顿等常见问题,提升三维GIS开发效率。

weixin_29216957的博客 222

5G物理层基础知识

1、关于RB和RE (1) RB(Resource Block,资源块)频率上连续12个子载波,时域上一个slot(时隙,14个ofdm符号) (2) RE(Resource Element,资源单元)频率上一个子载波,及时域上一个ofdm符号 注意:协议规定,5G每个时隙(非扩展CP)的符号数为14个(扩展CP情况下每个时隙有12个符号),而LTE(非扩展CP)每个时隙的符号数为7个。 简单说:一个12X14的方格,大的整个叫一个RB,每一个小块叫一个RE。另外,一个RE可存放一个调制符号(mo.

qq_39074243的博客 2万+

[Coursera机器学习]Neural Networks Learning WEEK5编程作业

1.3 Feedforward and cost functionRecall that the cost function for the neural network (without regularization) is J(θ)=1m∑mi=1∑Kk=1[−y(i)klog((hθ(x(i)))k)−(1−y(i)k)log(1−(hθ(x(i)))k)]J(\theta ) = \fra

Index.html 3257

30、模态组合规则在振动分析中的应用

本文详细介绍了模态组合规则在振动分析中的应用,重点讨论了绝对峰值叠加法(SRSS)和完全二次组合(CQC)的理论基础、应用场景及优缺点。通过具体工程实例,展示了模态组合规则在地震载荷下结构响应分析中的实际效果,并提供了应用步骤和注意事项,为结构设计和安全评估提供了科学依据。

nice1的博客 222

Coursera机器学习-Week 5-测验:Neural Networks: Learning

1 描述 解析 根据题目给定的公式大胆的猜 Δ(k)ij:=Δ(k)ij+δ(k+1)i∗(a(k))jΔij(k):=Δij(k)+δi(k+1)∗(a(k))j\Delta_{ij}^{(k)} := \Delta_{ij}^{(k)} + \delta_i^{(k + 1)} * (a^{(k)})_j,所以题目选择 DDD。 2 描述 解析 因为 Theta1Thet...

逐梦者 2100

性能测试能力提升-线程、并发、吞吐量、TPS、QPS、响应时间

接着上一篇的知识:性能测试能力提升-关于性能测试,本篇文章,我们将主要介绍以下几方面的知识: 线程数&并发用户数 相对并发&绝对并发 吞吐量 TPS&QPS 响应时间

程序员小杨哥的博客 4589

selenium绕过检测,规避检测

现在不少大网站有对selenium采取了监测机制。比如正常情况下我们用浏览器访问淘宝等网站的 window.navigator.webdriver的值为 undefined或者为false。而使用selenium访问则该值为true。那么如何解决这个问题呢?我们正常浏览器登录查看,window.navigator.webdriver的值为false我们通过selenium打开的网页,测试,可见window.navigator.webdriver的值为true。

景天科技苑 1万+

Stanford 机器学习 Week5 作业: Neural Networks: Learning

randInitializeWeightepsilon_init = 0.12; W = rand(L_out, 1 + L_in) * 2 * epsilon_init - epsilon_init;sigmoidGradientg = sigmoid(z) .* (1 - sigmoid(z));nnCostFunctionTheta1 = reshape(nn_params(1:hidden_

Baoli1008的专栏 1706

使用STARTER V5.6软件将项目文件下载到S120驱动器控制单元CF卡中的具体方法演示

使用STARTER V5.6软件将项目文件下载到S120驱动器控制单元CF卡中的具体方法演示

Robot_PLC_HMI_Automation 1913

[Coursera][Stanford] Machine Learning Week 4

时间:8月16日 -- 18 日

Fighting 1624

路径规划 | 图解粒子群(PSO)算法(附ROS C++仿真)

粒子群算法(PSO)的基本思想是模拟鸟群觅食机制,将鸟类的觅食方向分为自我认知部分和社会部分,个体自主探索群体周围空间的同时,也随着群体的主流方向前进,不断逼近最优目标。本文详解PSO算法基本概念,并给出ROS C++实现加深理解

FRIGIDWINTER的博客 2616

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Coursera_Stanford_ML_ex4_神经网络训练 作业记录

Coursera_Stanford_ML_ex4_Neural Networks Learning week5 作业记录

Haochen-Best 4202

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

机器学习笔记week5(Andrew NG)

机器学习笔记week5(Andrew NG)martin机器学习笔记week5Andrew NG cost function BPBackPropagation算法 cost function下图分别是逻辑回归和神经网络的cost function,可以看到,神经网络的代价函数比逻辑回归多了一层求和,原因是神经网络的输出层包含K个输出节点,如果要进行多分类的话需要确定哪一节点是1,从而将输出结果表达

ice_martin的博客 1215

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Machine Learning(Andrew)Week5

Neural Networks:Learning 上一周说到神经网络的表示:   有如下公式: 如果增加隐藏层,就是增加 ai 如果是多元分类的话,就是在最后hθ(x)变多。如,三类的分类:   现在,要做学习了,所以需要看成本函数。回顾逻辑回归中的成本函数:   神经网络的成本函数却要复杂很多:   在hθ(x)部分,

DanaMeng的专栏 1619

Coursera机器学习 Week5 笔记

Neural networks: learning

Shenglei Sketches 1460

Machine Learning - Andrew Ng on Coursera (Week 5)

本篇文章将分享Coursera上Andrew Ng的Machine Learning第五周的课程,主要内容有如下,详细内容可以参考文末附件: 代价函数及后向算法 Cost function(代价函数) Backpropagation algorithm(BP算法 or 反向传播算法) 后向算法求解神经网络模型 Implementation note

Leo的博客 1850

Machine Learning week 5 quiz: Neural Networks: Learning

Neural Networks: Learning 5 试题 1.  You are training a three layer neural network and would like to use backpropagation to compute the gradient of the cost function. In

GarfieldEr007的专栏 1万+

Coursera Machine Learning 第五周编程week5 ex4Neural Networks Learning编程全套满分题目+注释

资源链接:http://download.youkuaiyun.com/download/sinat_39805237/10152688 正常设置迭代次数和lambda的结果 当保证lambda不变,改变迭代次数为150次(在ex4.m中Part8中修改),准确率达到99% 当保证迭代次数为50不变时,改变lambda=0.01,准确率可到96%,由于初始化的随机性可能略有偏

sinat_39805237的博客 1460

coursera Stanford Machine Learning Week5 Ex4机器学习 实验4

Programming Exercise 4:Neural Networks Learning 1.神经网络 1.1 观察数据 本次实验数据与实验3一样,是m=5000个手写数字的灰阶图像。其中每个数字(0--9)各500个,每个图像为20x20的像素。所以X为5000x400的Matrix。Y对应每个图像的值(10 -- 9)10代表数字0。displayData函数将从数据集X中随机选1...

jimtoot的博客 1279

MachineLearning笔记week5 NeuralNetworkLearning

5.1 Cost Function Let’s first define a few variables that we will need to use: L = total number of layers in the network slsls_l = number of units (not counting bias unit) in layer lll K = number o...

dingyu 394

Matlab吴恩达机器学习编程练习ex4:神经网络Neural Networks Learning

本文基于吴恩达老师第五周的练习,在这次的练习中,你将会实现神经网路的后向传播算法(BP神经网络)。 作业大纲1 神经网络 Neural Networks ex4.m1.1 数据可视化1.2 模型表示1.3 前向传播和代价函数 nnCostFunction.m三级目录 1 神经网络 Neural Networks ex4.m 在以前的练习中,你实现了神经网络的前向传播并且用已知的权重进行手写数字的预测。在这次的练习中,你将实现后向传播算法进行参数的学习。 1.1 数据可视化 就和上周一样展示数据,有5000个

weixin_44389971的博客 3155

Machine Learning week 5 programming exercise Neural Network Learning

Neural Networks Learning Visualizing the data 这次试用的数据和上次是一样的数据。5000个training example,每一个代表一个数字的图像,图像是20x20的灰度图,400个像素的每个位置的灰度值组成了一个training example。 Model representation 这里我们使用如下的模型,

心中永远的正能量 2万+
上一篇: 《机器学习实战》实践心得 kNN篇
下一篇: Stanford 机器学习 Week5 作业: Neural Networks: Learning
Baoli1008
博客等级 码龄12年 70粉丝 293原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值