干货|吴恩达Coursera课程教你学习神经网络!


吴恩达Coursera机器学习课程系列笔记讲解

课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础

干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归

干货|机器学习零基础?不要怕,吴恩达课程笔记第三周!逻辑回归与正则


Neural Networks: Representation

1
 Motivation

之前讲的Linear regression和Logistric regression都是线性分类器(linear classification),因为它们都只能用一条线来分类。

然而很多情况下,我们的分界线不见得是一条简单的曲线,可能就是一条弯来弯去的曲线,所以我们需要一个非线性分类器来划分这个数据集。

我们可以使用如下的式子去假设这个非线性模型:但是如果特征很多很多,比如说一幅图像,我们用每一个像素去表示一个特征的话,这个计算量将是无比巨大的,所以更普及的一个方法是使用神经网络(Neural Networks)。

神经网络,顾名思义,就是模仿了人类大脑的构造了,一层一层的进行计算,最后得出一个结果。

每一层对上一层的数据进行一个抽象得出一系列的决策,然后下一层在对这一层得出的决策再进行一个抽象的到更高层次的决策,就这样一层一层下去,直到最后一层的出一个终极决策,输出结果。

我们的大脑中使用“神经元(neuron)”去感知,去连接其他的神经。

类比一下,在神经网络中也是如此,我们在每一层中,弄几个神经元来感知(=计算),然后讲决策传个下一层的神经元……以此类推直至最后一个输出层的神经元。

2
 Model Representation


首先看一下一个神经元是怎么工作的:

然后再来看由多个这样的神经元组成的简单的三层神经网络是怎么样工作的:

下面,我们把这一系列的计算公式展开来,然后再合并成colume vector相乘的格式,最后再合并成matrix相乘的形式。sigmoid函数用σ(z)来表示。

以上便是一个三层的神经网络的工作流程,再复杂的也是这样一层一层计算的。

这里最容易弄混淆的就是转换成矩阵的这一步了。有一个比较好的检验矩阵表示是否正确的方法,就是去check一下矩阵相乘之后的维度,如果相乘的时候维度对不上,尝试转置一下。

另外在这门课程中,我们的向量都是column vector,即竖的向量;矩阵都是row represented matrix,即以一行为数据。

3
 Multiclass Classification

上一周的课程中已经讲过如何使用“one-to-rest/all”的方法来进行多分类问题了,就是k个二分类器把属于这一类的分别挑出来。

这样的话,需要分别训练k个二分类器。接下来,我们使用神经网络进行多分类,只要训练一个分类器即可。说是一个分类器,其实是k个分类器的集合器,我们把k个分类器分别放在了隐藏层的k个神经元中。

然后这k个神经元自然会输出k个结果,将这些结果使用softmax函数转换成概率,然后取概率最大的那一个类别即可。

细节图如下:

其中的softmax函数是为了让这几个分类器的结果具有可比性而引入了一个函数,它将把这些结果转换成“同一分布”的概率,即这k个概率总和为1。下面式子中的z是一个K维向量:

比如接下来我们需要通过神经网络去识别一幅图像。

我们将图像中的每一个像素作为一个特征,输入到如上的多分类神经网络中去,并且告诉神经网络,这幅图是什么,然后让它自己去比较预测结果和正确结果,使用back propagation的方法去纠正错误,学习像素与类别之间关系。如此一来,输入一幅全新的图像后,这个神经网络就可以知道类别什么了。

和上面的细节图一样,W用来表示隐藏层的3个神经元即3个二分类器(cat分类器、dog分类器、ship分类器),最后3个分类器输出三个类的概率(cat score、dog score、ship score),结果dog的概率最大,但是正确的类别是cat,所以需要神经网络去比较预测结果和正确结果,然后使用back propagation的方法去纠正错误,下一次将会讲到,如何比较结果,如何纠正错误。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

笔记本内置扬声器三强PK

内置扬声器PK要点外观设计差异。外表是否美观直接影响使用者的心情,扬声器的结构设计直接影响放音效果。实际听音较量。利用真实的人耳感受则是最能体现扬声器实际效果的。奥特蓝星:音质纯净,低音欠佳代表机型:惠普,华…

mysql内连接查询原理_MySQL全面瓦解12:连接查询的原理和应用

概述MySQL最强大的功能之一就是能在数据检索的执行中连接(join)表。大部分的单表数据查询并不能满足我们的需求,这时候我们就需要连接一个或者多个表,并通过一些条件过滤筛选出我们需要的数据。了解MySQL连接查询之前我们先来理解下笛卡尔积的原理。数据…

如何在 .NET 中使用 Kafka

Kafka 是一个开源的,分布式的,可扩展的,高性能的发布订阅模式的消息中间件,如果你要构建一个处理海量数据的系统,那么 Kafka 将会是一个非常好的选择,这篇文章我们将会讨论如何基于 Kakfa 构建一个发布订阅…

傅里叶变换和拉普拉斯变换的物理解释及区别

傅里叶变换在物理学、数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学、海洋学、结构动力学等领域都有着广泛的应用(例如在信号处理中,傅里叶变换的典型用途是将信号分解成幅值分量和频率分量)。傅里叶变换能将满足一定条件的…

Teleport 开源堡垒机的使用

公司的服务器可能会存在这样一种情况,具体的应用是部署在一个或多个内网服务器上,然后由一台外网服务器通过代理的方式对外提供服务,例如下图:我们如果需要进入到内网服务器进行操作就必须先要进入外网服务器,然后再远…

python拼图游戏_乐趣无穷的Python课堂

Python world/特慧编/你所认为的.........pythonpython&枯燥、无趣boring“安全”提示走进特慧编走进“python编程课”让我们进入真正的编程世界,培养逻辑数理思维,学习掌握python特色,让你的学习过程不再枯燥、不再无趣~~~下面跟着我的脚…

让 Python 更加充分的使用 Sqlite3

我最近在涉及大量数据处理的项目中频繁使用 sqlite3。我最初的尝试根本不涉及任何数据库,所有的数据都将保存在内存中,包括字典查找、迭代和条件等查询。这很好,但可以放入内存的只有那么多,并且将数据从磁盘重新生成或加载到内存…

techempower之Plaintext上7百万RPS

在Plaintext这项测试中第一阶梯的分隔线基本算是7百万RPS,Beetlex并没有到到这一阶梯停留在69X万RPS处,虽然只差那数万但在排名上让人感觉不爽。Beetlex在很多项测都微微领先aspcore,但在最基础项落下一点点的确让我感觉到不太满意,更希望Bee…

详解全排列算法

简介给定 {1, 2, 3, , , n},其全排列为 n! 个,这是最基础的高中组合数学知识。我们以 n4 为例,其全部排列如下图(以字典序树形式来呈现):我们很容易想到用递归来求出它的所有全排列。仔细观察上图&#xff…

VS2019 调试技巧之附加进程

C# 创建服务并附加到进程进行调试步骤一:在任务栏右键-》》点击任务管理器-》》选择服务,找到启动的进程PID或者WINR 进入cmd命令 输入 netstat -ano | find "进程端口" 找端口步骤二:VS中找到“调试”菜单,选择“…

sql同时向两个表插入数据_SQL入门-数据库和客户端的安装,表的创建和数据插入...

1、如何验证MySQL数据库安装成功按照上图操作打开SQL命令行客户端输入安装MySQL时设置的密码并按enter键,得到下图:如果有显示出来红框里的内容,就表示安装成功。红框里的内容表示的是MySQL数据库版本号。2、如何用客户端(Navicat…

我是怎么进入Oracle这样的大企业的?

导语:人工智能是泡沫么?AI产业的未来将何去何从?机器学习又该怎么学习?AI行业从业者又是怎么看待这个行业的呢?踏入一个行业之前最好对这个行业有个全方位的了解。本文作者饶毅,现就职于甲骨文公司。AI行业…

websocket文档_WebSocket推送 原理扫盲到上手实践

关于服务端推送技术,大家比较熟悉的可能就是轮询,但是轮询只能是由客户端先发起http请求。在HTTP1.1中的keep-alive方式建立的http连接,但是一个Request只能对应一个Response,而且这个Response是被动的,不能主动发起。…

DISCUZ7.2在通达OA2009桌面显示技巧

最近在测试DISCUZ 和通达...猛然间看到,,,可以DISCUZ可以和通达完美结合,禁不住进行了测试.....效果还挺好的...最初效果图如下:感觉挺别扭的,于是将DISCUZ调用代码更改了代码如下:[show1] <table width"100%" > <tr> <td alignleft> <di…

如何在 ASP.Net Core 中使用 Lamar

ASP.Net Core 自带了一个极简的 开箱即用 的依赖注入容器&#xff0c;实际上&#xff0c;你还可以使用第三方的 依赖注入容器 来替代它&#xff0c;依赖注入是一种设计模式&#xff0c;它能够有效的实现对象之间的解耦并有利于提高单元测试和维护性&#xff0c;你可以使用 依赖…

扎克伯格做了26张PPT,员工效率提10倍,已被疯狂传阅!

1、时间常有&#xff0c;时间在于优先。2、时间总会有的&#xff1a;每天只计划 4&#xff5e;5 小时真正的工作。3、当你在状态时&#xff0c;就多干点&#xff1b;不然就好好休息&#xff1a;有时候会连着几天不是工作状态&#xff0c;有时在工作状态时却又能天天忙活 12 小时…

2010南非世界杯32强手绘海报

2010南非世界杯32强手绘海报 2010年南非世界杯已经进入最后的倒计时&#xff0c;近日&#xff0c;ESPN推出了一组以世界杯32强为主题的手绘海报。在这组颇有漫画性质的海报中&#xff0c;32强每支球队的特点都是展现得淋淋尽致&#xff0c;卡卡、梅西、C罗、托雷斯等球星也自然…

鹅厂二面,Nginx回忆录

上周二面鹅厂&#xff0c;面试官问出了“nginx你了解吗&#xff1f;”这样宽泛直白的句式&#xff0c;我一时抓不到重点&#xff0c;一时语噻。下班想了一下&#xff0c;平时潜移默化用到不少nginx的能力&#xff0c;但在面试的时候没有吹成对应的概念。面谈nginx核心能力nginx…

干货|吴恩达Coursera课程教你学习神经网络二!

上一周的课程中讲了神经网络的结构以及正向传播(feed forward)过程&#xff0c;了解了神经网络是如何进行预测的&#xff0c;但是预测的结果怎么和真是结果进行比较以及发现了错误如何修改还没有提及。这一周的课程中&#xff0c;介绍了cost function作为结果比较的标准以及bac…

vue预加载动态生成runtime.js_预渲染 prerender-spa-plugin 避坑指南

预渲染原理在webpack打包结束并生成文件后&#xff08;after-emit hook&#xff09;&#xff0c;会启动一个server模拟网站的运行&#xff0c;用puppeteer&#xff08;google官方的headless 无头浏览器浏览器&#xff09;访问指定的页面route&#xff0c;得到相应的html结构&am…