NG课程总结7

七、神经网络

1.在参数很多时,非线性假说有弊端。

eg:

假设有3个特征值,含所有二次项的h为h=(θ0+θ1*x1^2+θ2*x1x2+θ3*x1x3+θ4*x2^2+θ5*x2x3+θ6*x3^2)

假设有n个特征值,若h含所有二次项,那么h的项数可近似为Ο(n^2 /2)

假设有n个特征值,若h含所有三次项,那么h的项数可近似为Ο(n^3)

由此可见,若n很大,项数会太多变得复杂,由此引入神经网络,它借鉴一部分生物学理论,神经可塑性(neuroplasticity)

2.模型

  • 输入:(x1,x2...xn),加上一个x0=1 (bias unit)
  • 逻辑函数:和归类中的一样,在这里也称为sigmoid (logistic) activation function

 (参数theta在这里称为权重)

  • 简化形式:

输入层   隐藏层   输出层

层1       层2       层3

将隐藏层的结点标为a1,a2...an,称作活化单元(activation units),那么:

设标号如下:

其中Θ(j)是第j层的权值矩阵,它的维度如下:

中间层的a便是这样求得的:

 ( 这个theta矩阵为Θ(2) )

我们最终要求的h(x)为:

3.向量化实现:

  • :表示g()函数内部的变量

    eg:

    第二层的结点k便为:

   

  • x,z(j)向量表示:

令x=a(1),则:

   (j>=2)

再给a(j)加上bias unit =1,那么就可以求下一个z向量:

如此不断的求,最终的输出只有一个值,也就是只有一行,那么最后的结果就是:

4.一些例子:

  • 实现逻辑与函数:

图大概如下:

  (x0=1)

若令:

那么:

  • 用与、或、非或构造非异或(两数相同为1,不同为0):

首先实现与、非或、或需要的参数如下:

图大概如下:

构造权重矩阵如下:

           (可以设两个参数代入逻辑公式验算一下,可得出非异或的结果)

将a全都写出来,可得结果:

5.实现多归类问题:

eg:分成4类

那么,=

,依此类推,下标代表属于第几个类

最终的结果的集合为:

最终的h为其中的一个元素

时间: 2024-08-10 19:15:43

NG课程总结7的相关文章

机器学习之&&Andrew Ng课程复习--- 怎样选择机器学习方法、系统

大家都说dual(对偶)问题(数学渣此前对此只是对其概念的了解)在机器学习应用中很广泛,遂写下(其实查阅纪录)以下关于dual的相关知识,这套理论不仅适用于SVM的优化问题,而是对于所有带约束的优化问题都适用,是优化理论中的一个重要部分.(也许你觉得一个IT人优化问题不重要,其实你仔细想想,现实中的很多问题,都是在有条件约束的情况下的求最优的问题) 简单来说,对于任意一个带约束的优化都可以写成这样的形式: minf0(x) s.t.fi(x)≤0,i=1,-,m hi(x)=0,i=1,-,p

Andrew Ng机器学习课程笔记(五)之应用机器学习的建议

Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录了Andrew Ng课程第五章应用机器学习的建议,主要介绍了在测试新数据出现较大误差该怎么处理,这期间讲到了数据集的分类,偏差,方差,学习曲线等概念,帮

Andrew Ng机器学习课程笔记(二)之逻辑回归

Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录了Andrew Ng课程第二章逻辑回归的笔记,主要介绍了梯度下降法,逻辑回归的损失函数,多类别分类等等 简要介绍:逻辑回归算法是分类算法,我们将它作为分类算法使用.

Andrew Ng机器学习课程笔记(四)之神经网络

Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录Andrew Ng课程第四章和第五章的神经网络,主要介绍前向传播算法,反向传播算法,神经网络的多类分类,梯度校验,参数随机初始化,参数的更新等等 1.神经网络概述

房价预测(HackerRank)

从今天开始要多做一些关于机器学习方面的竞赛题目,题目来源主要是Hackerrank和Kaggle.链接如下 Hackerrank:https://www.hackerrank.com/ Kaggle:https://www.kaggle.com/ 在Hackerrank中提交源代码,这就使得很多库都需要自己写,限制比较多.而Kaggle只需要提交数据,所以随便怎么搞都行.现在来讲第一道题,房价预测,这是Andrew Ng课程里的比较经典的例子.题目描述如下 题目:https://www.hack

Backpropagation 算法的推导与直观图解

摘要 本文是对 Andrew Ng 在 Coursera 上的机器学习课程中 Backpropagation Algorithm 一小节的延伸.文章分三个部分:第一部分给出一个简单的神经网络模型和 Backpropagation(以下简称 BP)算法的具体流程.第二部分以分别计算第一层和第二层中的第一个参数(parameters,在神经网络中也称之为 weights)的梯度为例来解释 BP 算法流程,并给出了具体的推导过程.第三个部分采用了更加直观的图例来解释 BP 算法的工作流程. 注:1.

stanford coursera 机器学习编程作业 exercise4--使用BP算法训练神经网络以识别阿拉伯数字(0-9)

在这篇文章中,会实现一个BP(backpropagation)算法,并将之应用到手写的阿拉伯数字(0-9)的自动识别上. 训练数据集(training set)如下:一共有5000个训练实例(training instance),每个训练实例是一个400维特征的列向量(20*20 pixel image).用 X 矩阵表示整个训练集,则 X 是一个 5000*400 (5000行 400列)的矩阵 另外,还有一个5000*1的列向量 y ,用来标记训练数据集的结果.比如,第一个训练实例对应的输出

[机器学习] Coursera笔记 - Support Vector Machines

序言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,包括在线课程或Tutorial的学习笔记,论文资料的阅读笔记,算法代码的调试心得,前沿理论的思考等等,针对不同的内容会开设不同的专栏系列. 机器学习是一个令人激动令人着迷的研究领域,既有美妙的理论公式,又有实用的工程技术,在不断学习和应用机器学习算法的过程中,我愈发的被这个领域所吸引,只恨自己没有早点接触到这个神奇伟大的领域!不过我也觉得自己非常幸运,生活在这个机器学习技术发展如火如荼的时代,并且做着与之相关的工作

【投稿】Machine Learing With Spark Note 3:构建分类器

本文为数盟特约作者投稿,欢迎转载,请注明出处"数盟社区"和作者 博主简介:段石石,1号店精准化推荐算法工程师,主要负责1号店用户画像构建,喜欢钻研点Machine Learning的黑科技,对Deep Learning感兴趣,喜欢玩kaggle.看9神,对数据和Machine Learning有兴趣咱们可以一起聊聊,个人博客: hacker.duanshishi.com Spark构建分类器 在本章中,我们会了解基本的分类器以及在Spark如何使用,以及一套如何对model进行评价.调