week_4
Andrew Ng 机器学习笔记---by Orangestar
Week4_Neural Networks : Representation
1. Non-linear Hypotheses
当特征量非常多的时候,训练分类器is not a good idea
会产生非常多的特征量
而,神经网络则可以在特征量非常大的时候,works well
2. Neurons and the Brain
神经网络的最初目的是,模仿人脑

大脑的神奇之处
3. Model Representation I(一些术语)
如何表示神经网络?
人脑中的神经网络


至于电脑上面的神经模型,我们通过非常简单的构造来模拟神经元的工作
一个模型例子
树突,轴突

一些术语:
Sigmoid(logistic) activation function:激励函数
\(\theta\)我们可能叫它叫做一个东西的权重,也叫参数
其中我们而外加的x_0,可以叫做偏执单元bias unit,
偏置单元一般都设为1,再通过需要进行调整
上面的只是一个十分简单的神经元模型
接下来看看更复杂的及其一些定义术语
从左到右,分别叫做:
输入层,隐藏层,输出层
输入层/输出层:顾名思义,输出或者输入参数
隐藏层:训练集中看不到的层
事实上,所有非输出层和输入层的,都叫隐藏层
那么,如何计算?
如下图 计算步骤

为什么是3*4?
因为,bias,\theta_0,和x_0没有写出来!
所以,总结
如果网络有\(s_j\) 个单元在 j层上,\(s_{j+1}\)在j+1上,
则\(\theta^{(j)}\) 的维数就是\(s_{j+1} * (s_j+1)\)
就是,\(\theta^{(j)}\)是射线,能设多少条线都不会计算吗!?
可以联想映射的内容
4. Model Representation II (展示一个向量化的实现方法)(前向传播)
在之前,计算可以表示为向量计算
Forward propagation: Vectorized implementation
前向传播!

向量化实现方法
由线性代数知识不难理解!
就是把多项式方程组用矩阵或者向量来表示
Other network architectures
architectures指的是神经元的架构

本节总结

这是上节的计算神经元的方法
这节我们用向量来计算
定义了一个新的变量\(z^{(j)}_k\)
其中,J代表第几层。k代表第几个节点node就是说:(举个小栗子)

然后,
所以,用向量来表示就是:

其中,x就是第一层(输入层)的向量表示。只不过换了一个符号。\(x = a^{(1)}\)
复写方程为:\(z^{(j)} = \Theta^{(j-1)}a^{(j-1)}\)
注释:
*我们可以将矩阵$\Theta^{(j-1)} $ 乘与a(j-1),来得到z(j)
[$\Theta{(j-1)} $]: 维数为×(n+1),其中s_j是激励节点的数量)
如图:
然后,可以得到a^(j)

计算完之后,可以加上偏置项

然后:

5. 神经元的具体例子1
为什么神经网络可以用来学习复杂的非线性假设?
在下面这个例子中,x_1和x_2只有0,1两个取值。
所以,
y只有2个取值
OR或,AND与,XOR异或,NOR或非,NAND与非,XNOR异或非 异或只当两个数相同取0,不同取1
所以,图像为:

下面讲解其中的神经元(与)其他的大同小异

线上的数值为权重
右下角的表格叫做真值表
6.如何计算非线性的假设函数
先看一个NOT X_1的神经元

嘛...差不多就这种感觉,要建立逻辑电路差不多,就把加权附上去,按照你想让它怎么样
然后,我们可以将逻辑神经元进行组合:

如图,组合为一个x_1 XNOR x_2
这样就可以计算出一个很复杂的函数
可以用矩阵来表示:
然后可以conbine起来。做出一个更复杂的逻辑门:
其中:
7. Multiclass Classification 用神经网络做多类别分类
直观感受,只要设多几个分类器就行

多分类的时候,一般y值为如图所示,而不是简单的数值,因为这样更容易表示!
week_4的更多相关文章
- 【Duke-Image】Week_4 Image restoration
Chapter 5 Image Restoration and Reconstruction 图像复原与重建 5.1 A Model of the Image Defradation/Restorat ...
- 使用cJSON库解析JSON
cJSON库的下载 cJSON是一个基于C的JSON解析库,这个库非常简单,只有cJSON.c和cJSON.h两个文件,支持JSON的解析和封装,需要调用时,只需要#include "cJS ...
- Qt平台下使用QJson解析和构建JSON字符串
前言 上一篇介绍了C语言写的JSON解析库cJSON的使用:使用cJSON库解析和构建JSON字符串 本篇文章介绍,Qt开发环境下QJson库的使用示例,JSON解析配合API接口,就可以实现一些有趣 ...
- 使用cJSON库解析和构建JSON字符串
使用cJSON库解析和构建JSON字符串 前言 其实之前的两篇博文已经介绍了json格式和如何使用cJSON库来解析JSON: 使用cJSON库解析JSON JSON简介 当时在MCU平台上使用时,会 ...
- HttpClient设置忽略SSL,实现HTTPS访问, 解决Certificates does not conform to algorithm constraints
话不多说,直接上代码. 测试API: https://api.k780.com/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f7 ...
随机推荐
- Java复制Word文档
Microsoft Word 提供了许多易于使用的文档操作工具,同时也提供了丰富的功能集供创建复杂的文档使用.在使用的时候,你可能需要复制一个文档里面的内容到另一个文档.本文介绍使用Spire.Doc ...
- Netty 学习(十):ChannelPipeline源码说明
Netty 学习(十):ChannelPipeline源码说明 作者: Grey 原文地址: 博客园:Netty 学习(十):ChannelPipeline源码说明 CSDN:Netty 学习(十): ...
- Linux实战笔记_CentOS7_格式化磁盘
fdisk -l #检查是否添加成功(添加一块磁盘并重启计算机后) fdisk /dev/sdb #格式化磁盘 mount /dev/sdb1 /opt #挂载到/opt目录 df -h #查看是否挂 ...
- Java模拟生产者-消费者问题。生产者不断的往仓库中存放产品,消费者从仓库中消费产品。其中生产者和消费者都可以有若干个。在这里,生产者是一个线程,消费者是一个线程。仓库容量有限,只有库满时生产者不能存
需求分析:生产者生产产品,存放在仓库里,消费者从仓库里消费产品. 程序分析: 1.生产者仅仅在仓储未满时候生产,仓满则停止生产. 2.消费者仅仅在仓储有产品时候才能消费,仓空则等待. 3.当消费者发现 ...
- Java I/O(4):AIO和NIO中的Selector
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 在Java NIO的三大核心中,除了Channel和Buffer,剩下的就是Selector了.有的地方叫它选择器,也有叫多路复用器的(比如Ne ...
- json文本数据
本文主要针对三个问题:json格式数据,text数据与json数据之间的关系,json和python字典的区别 1.什么是json数据? json是文本数据,可以在网络中传输的通用数据,它是具有特定格 ...
- 基于案例分析 MySQL Group Replication 的故障检测流程
故障检测(Failure Detection)是 Group Replication 的一个核心功能模块,通过它可以及时识别集群中的故障节点,并将故障节点从集群中剔除掉.如果不将故障节点及时剔除的话, ...
- VBA---文件操作
Text文件操作 Workbooks.OpenText() 载入一个文本文档,并将其作为包含单个工作表的新工作簿进行分列处理. 语法: 表达式.OpenText(Filename,StartRow, ...
- 执行xxx.sh脚本的两种方式
因公司测试环境的登录模式有2种,大佬们直接写了个脚本完成一键切换,看了其中的脚本文件,其中出现了send "sh out.sh\r":一直疑惑这里的sh out.sh的意思...查 ...
- onps栈使用说明(3)——tcp、udp通讯测试
4. tcp客户端 在协议栈源码工程下,存在一个用vs2015建立的TcpServerForStackTesting工程.其运行在windows平台下,模拟实际应用场景下的tcp服务器.当tcp客户端 ...