首页 > 其他分享 >机器学习 吴恩达 第八章 笔记

机器学习 吴恩达 第八章 笔记

时间:2023-01-19 02:22:21浏览次数:32  
标签:吴恩达 函数 算法 笔记 神经网络 第八章 theta 代价 我们

八、神经网络的学习(Neural Networks: Learning)

  在本节,我们学习一个新的神经网络算法.它能在给定训练集的同时,为神经网络拟合参数.与其他算法一样,我们从代价函数开始.

8.1 代价函数

  首先引入一些便于稍后讨论的新标记方法:
  假设神经网络的训练样本有\(m\)个,每个包含一组输入\(x\)和一组输出信号\(y\),\(L\)表示神经网络层数,\(s_l\)表示第\(l\)层的单元(神经元)数,但不包括偏差单元,\(S_L\)(因为\(L\)=4)代表最后一层中处理单元的个数.
  将神经网络的分类定义为两种情况:二类分类和多类分类.
image
  现在来为我们的神经网络定义代价函数.我们回顾逻辑回归问题中我们的代价函数为:
image
  在逻辑回归中,我们只有一个输出变量,又称标量(scalar),也只有一个因变量.但是在神经网络中,我们可以有很多输出变量,我们的\(h_{\theta}(x)\)是一个维度为\(K\)的向量,并且我们训练集中的因变量也是同样维度的一个向量.因此我们的代价函数会比逻辑回归更加复杂一些,为:
\(h_{\theta}(x) \in R^K\),并且

\[(h_{\theta}(x)) _ {i} = i^{th} output \]

image
  因为我们比逻辑回归问题多了\(k-1\)个分类器(输出).所以需要\(\sum_{k=1}^k\).代价函数的第二项类似正则化的代价,不需要算偏差值的项的代价(也就是\(i=0\)的\(\theta\)).
  这个看起来复杂很多的代价函数背后的思想还是一样的,我们希望通过代价函数来观察算法预测的结果与真实情况的误差有多大,唯一不同的是,对于每一行特征,我们都会给出\(K\)个预测.基本上我们可以利用循环,对每一行特征都预测\(K\)个不同的结果.然后在利用循环在\(K\)个猜测里选可能性最高的那一个.将其与\(y\)的实际数据比较.
  正则化的那一项只是排除了每一层\(\theta_0\)后,每一层的\(\theta\)矩阵的和.最里层的循环\(j\)循环所有的行(由\(s_{l+1}\)层的激活单元数决定).请注意不是\(s_l+1\).循环\(i\)则循环所有的列,由该层(\(s_l\)层)的激活单元数所决定.即:\(h_{\theta}(x)\)与真实值之间的距离为每个样本-每个类输出的加和,对参数进行regularizationbias项处理所有参数的平方和.
  同样,这个代价函数就算计入了\(\theta_0\)也不会与原来的有较大差别.但是我们更多采用不计入的规则.

9.2 反向传播算法

  本节我们讲述如何最小化神经网络的代价函数的方法.
  下面是我们的代价函数,我们要做的就是找到参数\(\theta\)以此最小化代价函数.为了使用梯度下降或者其他优化算法,我们需要代码计算\(J(\theta)\)和它的偏导数.显然\(\theta\)在每层都是一个矩阵,我们要对每一个进行偏导.
image
  计算成本函数只需要上面的公式,所以本节注重偏导数计算.
  我们从样本集中只有一个样本的情况开始说起:

标签:吴恩达,函数,算法,笔记,神经网络,第八章,theta,代价,我们
From: https://www.cnblogs.com/newblg/p/17060436.html

相关文章

  • CSS3学习笔记
    CSS3学习笔记            CSS3选择器总结(表格)html标签有2种关系:包含关系和并列关系;CSS3选择器分类:基本选择器、组合选择器、属性选择器、伪类......
  • 扩欧学习笔记
    扩欧这玩意儿暑假就学了,但是一直仅限于背\(y=\cdots\),背完就忘,于是搞个学习笔记加深印象。解方程\(ax+by=\gcd(a,b)\)设\(ax_1+by_1=\gcd(a,b)\),\(bx_2+(a\modb)y_2=......
  • JavaScript学习笔记—instanceof和hasOwn
    1.instanceof用来检查一个对象是否是一个类的实例检查的是对象的原型链上是否有该类实例(只要原型链上有该类实例,就会返回true)Object是所有对象的原型,所以任何对象和Ob......
  • 学习笔记——Tomcat中的结点(Server、Service、Connector、Container、Engine、Host、C
    2023-01-18一、Tomcat中的结点1、Server(服务器)Server代表整个Tomcat服务器,一个tomcat只有一个ServerServer中包含至少一个Service组件,用于提供具体服务。2、ServiceS......
  • JavaScript学习笔记—原型对象
    1.访问一个对象的原型对象(1)对象.__proto__(2)Object.getPrototypeOf(对象)一般用第二种,第一种不安全2.原型对象中的数据(1)对象中的数据(属性、方法等)(2)constructor(对象......
  • 学习笔记——Spring声明式事务管理;Spring中支持事务管理;使用声明式事务管理;Spring声明
    2023-01-18一、Spring声明式事务管理1、事务四大特征(ACID)(1)原子性(2)一致性(3)隔离性(4)持久性2、事务三种行为(1)开启事务:connection.setAutoCommit(False)(2)提交事务:conne......
  • 「学习笔记」后缀自动机与广义后缀自动机
    本文仅为方便理解,没有具体证明过程,推荐理解主要原理后去阅读详细证明过程。后缀自动机是一个处理字符串子串相关问题的优秀的算法。引入首先来考虑这样一个问题:如何存......
  • 「学习笔记」后缀数组
    后缀数组,即\(sa\)数组,代表的是一个字符串所有后缀按照字典序排序后,排名第\(i\)的后缀的开头位置。举个例子:aabaaab的所有后缀有:编号前缀1aabaaab2......
  • 「学习笔记」莫比乌斯反演套路总结
    基本套路Crash的数字表格/JZPTAB求:\[\sum_{i=1}^n\sum_{j=1}^m\mathrm{lcm}(i,j)\]\[\begin{aligned}&\sum_{i=1}^n\sum_{j=1}^m\mathrm{lcm}(i,j)\\=&\sum_{i=......
  • 「学习笔记」分块
    layout:posttitle:「学习笔记」分块date:2021-10-29tags:算法分块莫队暴力分块是一种优化暴力的思想,一般情况下用于查询与修改复杂度差距过大的情况。分块......