Coursera机器学习week4 笔记

Neural Networks: Representation

Non-linear hypotheses

我们之前学到的,无论是线性回归还是逻辑回归都有一个缺点,当特征太多时,计算负荷会非常的大。

如下:

只有x1和x2,但运用多次项进行预测时,我们的方程可以很好的预测。使用非线性的多项式能够帮助我们建立更好的分类模型。

例如我们有很多的特征,100个变量,用这100个特征构建一个非线性的多项式模型,结果将是非常大的特征组合,即使我们只才有两两特征的组合(x1x2+x1x3+x1x4+...+x2x3+x2x4+...x99x100),也会有解决5000个组合而成的特征,对于一般的逻辑回归特征是太多了。

例如:

一张图片,即使是50*50的图片,也有解决2500个特征,如果进行两两特征组合构成一个多项式模型,就约有25002/2的特征组合(接近3百万个),在大一点的图片特征就更多了,计算负荷会非常的大。

Neurons and the brain

神经网络兴起于二十世纪八九十年代,应用得非常广泛,但由于各种原因,在90年代的后期应用逐渐减少。最近,神经网络又东山再起了。

其中一个原因是神经网络是计算量偏大的算法,而现在计算机的运行速度变快很多,才足以真正运行起大规模的神经网络。

例如我们的听觉和视觉:

还有各种各样的例子:

Model representation I

在人的大脑中,每一个神经元都可以被认为是一个处理单元/神经核(processing unit/ Nucleus),它含有许多输入/树突(input/Dendrite),并且有一个输出/轴突(output/Axon)

神经网络是大量神经元相互连接并通过电脉来交流的一个网络。

神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型。这些神经元(也叫激活单元,activation unit)采纳一些特征作为输出,并且根据本身的模型提供一个输
出。下图是一个以逻辑回归模型作为自身学习模型的神经元示例,在神经网络中,参数又可被成为权重(weight)。

神经网络也可以有隐藏层:

其中x1,x2,x3是输入单元,我们把原始数据输入给它们,a1,a2,a3是中间单元,它们负责将数据进行处理,然后呈递到下一层。最后是输出单元,它负责计算h(x).

符号定义:

每一层的输出变量都是下一层的输入变量,第一层为输入层,最后一层为输出层,中间的为隐藏层,每一层都有一个偏差单元。

这样通过计算最终就可以得到hθ(x)的值。一般情况下每一层都要多加入一个变量。

我们把这样从左往右的算法称为前向传播算法(FORWARD PROPAGATION)

Model representation II

利用向量化的方法会使得计算更为简便。以上面的神经网络为例,计算第二层的值:

我们令z(2) = θ(1)x,则a(2) = g(z(2)),计算后添加a(2)0 = 1。

同样令z(2)(1)a(2) ,则hθ(x) = a(3) = g(z(3))。

多层的也类似:

由上一层输出值当作下一层输入值进行计算得到输出值给下一层。

Examples and intuitions I

以XOR(异或)为例:

当x1 = x2 时 y = 1 ,或者 y = 0

上面是“与”(AND)运算,输入层由两个变量x1和x2组成,再加上一个1,权重分别是-30,20,20。

那么hθ(x) = a1 = g(z(1)) = g(-30+20x1+20x2),将x1,x2的值代入进去,得到的值正好和“与”运算相符

再比如“或”(OR)运算,权重可以设为-10,20,20这三个,得出的结果会和“或”运算相符。

Examples and intuitions II

之前介绍了“或”和“与”,下面介绍下“非”运算,这个更简单些,只需要一个变量。

有了“或”、“与”和“非”,现在就可以计算“同或门”运算了。

由于x1 XNOR x2  = (x1 and x2 ) or ((not x1) and (not x2))

所以我们可以先计算 (x1 and x2 ) 为 a1,(not x1) and (not x2) 为 a2. 然后在计算a1 or a2 得到答案

过程如下:

Multiclass Classification

有时候我们有不止两种分类,也就是y = 2, 3, 4, 5..... 那么这种情况怎么办呢?

如果我们要训练一个神经网络算法来识别路人、汽车、摩托车和卡车,在输出层我们应该有 4 个值。

例如,第一个值为 1 或 0 用于预测是否是行人,第二个值用于判断是否为汽车。
那么[1; 0; 0; 0]可以表示路人,[0; 1; 0; 0] 可以表示汽车 等等。

输入情况就有四种了:

原文地址:https://www.cnblogs.com/xingkongyihao/p/8434834.html

时间: 2024-11-09 03:45:27

Coursera机器学习week4 笔记的相关文章

Coursera机器学习week10 笔记

Large scale machine learning Learning with large datasets 如果我们有一个低方差的模型,增加数据集的规模可以帮助你获得更好的结果.我们应该怎样应对一个有 100 万条记录的训练集? 以线性回归模型为例,每一次梯度下降迭代,我们都需要计算训练集的误差的平方和,如果我们的学习算法需要有 20 次迭代,这便已经是非常大的计算代价. 首先应该做的事是去检查一个这么大规模的训练集是否真的必要,也许我们只用 1000 个训练集也能获得较好的效果,我们可

Coursera机器学习week11 笔记

Application example:Photo OCR Problem description and pipeline 图像文字识别应用所作的事是,从一张给定的图片中识别文字.这比从一份扫描文档中识别文字要复杂的多. 为了完成这样的工作,需要采取如下步骤: 1. 文字侦测(Text detection)——将图片上的文字与其他环境对象分离开来 2. 字符切分(Character segmentation)——将文字分割成一个个单一的字符 3. 字符分类(Character classifi

coursera机器学习技法笔记(15)——Matrix Factorization

15 Matrix Factorization 15.1 Linear Network Hypothesis 将类别数据转换成向量数据,然后以每个样本的向量数据作为输入,评分数据作为输出,利用3层神经网络进行特征萃取. 由于向量特征数据大量稀疏,因此中间层的tanh函数并不会起什么作用,可以直接换成线性模型,即Linear Network. 将第1/2层网络的权重设为VT,第2/3层网络权重设为W,则该模型可以表述为: h(x)=WTVx 如果x是一个只有1个元素为1的向量,则该式可以写成: h

coursera机器学习技法笔记(13-14)——deep learning & RBFNetwork

13 Deep Learning 13.1 Deep Neural Network 将神经网络的层数增大,即称为深度学习.深度学习一般在输入数据为row data的时候使用,因为这些数据很难人为构造出合适的特征.深度学习一般面临如下挑战: (1)神经网络结构的决定:一般只能通过人的主观领域知识来决定神经网络结构,例如图像识别中的convolutional NNet,即认为相邻的像素才有必要连接到下一层的同一神经元. (2)模型复杂度:由于高层神经网络会有很多变量,因此显然会提高模型复杂度.但是一

coursera机器学习技法笔记(12)——Neural Network

12 Neural Network 12.1 Motivation 在神经网络的节点上使用感知机,那我们可以把神经网络看作是通过不同感知机以及常数的线性组合得到一个新的特征,将新的特征加上一个常数再进行线性组合得到结果.其原理和aggregation类似,但是在神经网络中进行了多层级的aggregation. 从生物的角度来说神经网络模拟了人脑神经网络. 12.2 Neural Network Hypothesis 如果神经元节点都用线性回归的话,那么无论怎么组合最终都是个线性回归,模型的能力没

coursera机器学习技法笔记(9-11)——decision tree & Random forest & GBDT

9 Decision Tree 9.1 Decision Tree Hypothesis 本节主要讲述了决策树的两种解释,一种是决策树是由叶子节点和路径组成的,当选择叶子节点对应的路径时采用对应的叶子节点结果:另一种观点是由分叉的树递归组成,当选择某一分支时将采用分支对应的子树的演算法结果. 决策树的优点在于可解释性强,高效.缺点是理论保证不足,并且算法多样. 9.2 Decision Tree Algoithm 决策树主要有4个关键部分: (1)分支分成几支? (2)该怎么分支? (3)什么时

coursera机器学习技法笔记(7-8)——blending and bagging & Adaptive Boosting

7 Blending and Bagging 7.1 Motivation of Affregation 之前都是通过特征转换达到更好的分类目的,而有另一种思路就是将多个模型的分数线性组合起来以期得到更好的效果.它们的权重应为x的函数,这样能包含投票.取最大等多种情况. 7.2 Uniform Blending 本节从理论上探讨了blend的可行性: G(x)=1T∑Tt=1gt(x) 则: avg((gt?f)2)=avg((gt?G2))+(G?f)2 可以看出,任选一个g_t其误差期望是大

Coursera机器学习week7 笔记

Support Vector Machines(支持向量机) Optimization objective 与逻辑回归和神经网络相比,支持向量机,或者简称 SVM.在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式. 这是逻辑回归里的,右边是S型激励函数,我们用z表示θTx 但y = 1 和 y = 0 时的函数图如下: 在逻辑回归中使用SVM如下: 然后最小化这个目标函数,得到 SVM 学习到的参数 C. Large Margin Intuition 人们有时将支持向量机看作是大间距分

Coursera机器学习week9 笔记

Anomaly detection(异常检测) Problem motivation 给定数据集,先假设它们都是正常的,如果有一新的数据,想知道是不是异常,即这个测试数据不属于该组数据的几率如何. 在上图中,在蓝色圈内的数据属于该组数据的可能性较高,而越是偏远的数据,其属于该组数据的可能性就越低. 这种方法称为密度估计 Gaussian distribution 用高数函数来检测是否异常,一般正常的数据都会集中在某个范围,如果一个数据出现在密度很疏密的地方,那么就有很大的几率是异常的. 类似与高