神经网络(1)--No-linear hypotheses

为什么我们已经有了linear regression与logistic regression算法还要来学习神经网络这个另外的算法呢,让我们来看看几个复杂的no-linear hypotheses

想要对上面图中的trainning data做logistic regression的话,你可以做的是apply logistic regression with a lot of nonlinear features(如上图中的g(θ0+....),它是一个sigmoid function),如果包括了足够多的多项式的话,然后你可能会得到上图中的那条粉色的hypotheses(完全将positive与negative分开),当只有两个features这种多项式的方法很好,因为你可以把所有关于x1,x2的多项式包括进来。但是在实际生活中,我们可能会遇到远远多于2个features的问题。

如我们还是举卖房子的例子,现在房子的feature有100个,是个分类问题,对房子下个季度能否卖出做预测。

如果将所有的二次项都包括进来的话,将有5000个features(O(n2)),如果将这些features都考虑的话,不是一个好算法因为会出现overfitting的问题并且处理这么多的features计算也很耗时,当然可以考虑只包括这些二次项中的一部分,比如只考虑x12,x22,x32....x1002,这样只有100个features了,但是因为没有足够多的features,实际上画出来的图像是类似于椭圆的图像,所以不可以画出像左上图那样的hypotheses。

如果考虑三次项的话,features有大约170000,这是一个很大的数量,不是一个好的处理方式。

对于很多机器学习的问题来说,features都很大,让我们来看一个关于computer vision的问题。假设我们想知道一幅图片是否是一辆车。

为什么computer vision的问题很复杂,因为在我们看来很容易辨别这是一辆车,但是对于计算机来说却很难,因为它看到的和我们是不同的。比如就车把手那一小块地方来说,计算机看到的是一个像素强度值的矩阵(告诉我们每个像素点的brightness),实际上计算机看到的是这个矩阵,然后告诉我们这是一辆车的门把手。

实际上我们在使用machine learning to build a car detector,我们要处理一个label training set(有一些label 为car的例子,有一些label 不为car的例子),然后我们把这个training set给我们的learning algorithm去训练,然后你可以用一张新的图片来test,看是否来正确识别出它是否为一辆车。

取两个位置的像素点,然后再下面的图中plots相应的点,用+表示是car,用-表示不是car,随着训练集中的点的plot,我们可以看出这是一个Non-linear hypotheses

如果每幅图片取50*50个像素点,则有2500个像素点,我们的features个数为2500个,则我们的测试x是一个维度为2500的向量,向量里面的元素为每个像素点的值,如果图片是灰度表示的话,值在0-255之间。如果图片是用RGB表示的话,则有7500个features。features为2500时,如果我们用二次项来计算这个No-linear hypotheses,把所有的二次项都包括进来的话,则大约有3 million的features,这个太大了,来完成计算太费时,可能也完不成计算。

所有simple logistic regression together with adding in with maybe 二次项或者三次项的方法----不是一个好的当很大时学习复杂的nonlinear hypotheses的方法,因为你会得到很多features。

神经网络是经验证了的一种更好的处理这种当n很大时的复杂问题的方法(complex nonlinear hypotheses)

转载于:https://www.cnblogs.com/yan2015/p/4896214.html

神经网络(1)--Non-linear hypotheses,为什么我们要学习神经网络这种算法来处理non-linear hypotheses...相关推荐

  1. bp 神经网络 优点 不足_深度学习之BP神经网络--Stata和R同步实现(附Stata数据和代码)

    说明:本文原发于"计量经济圈"公众号,在此仅展示Stata的部分.R部分请移步至本人主页的"R语言与机器学习--经济学视角"专栏,或点击下方链接卡跳转. 盲区行 ...

  2. 01.神经网络和深度学习 W4.深层神经网络(作业:建立你的深度神经网络+图片猫预测)

    文章目录 作业1. 建立你的深度神经网络 1. 导入包 2. 算法主要流程 3. 初始化 3.1 两层神经网络 3.2 多层神经网络 4. 前向传播 4.1 线性模块 4.2 线性激活模块 4.3 多 ...

  3. 神经网络学习小记录52——Pytorch搭建孪生神经网络(Siamese network)比较图片相似性

    神经网络学习小记录52--Pytorch搭建孪生神经网络(Siamese network)比较图片相似性 学习前言 什么是孪生神经网络 代码下载 孪生神经网络的实现思路 一.预测部分 1.主干网络介绍 ...

  4. [翻译] 神经网络与深度学习 第三章 提升神经网络学习的效果 - Chapter 3 Improving the way neural networks learn

    目录: 首页 译序 关于本书 关于习题和难题 第一章 利用神经网络识别手写数字 第二章 反向传播算法是如何工作的 > 第三章 提升神经网络学习的效果 第四章 可视化地证明神经网络可以计算任何函数 ...

  5. 神经网络与深度学习(五)前馈神经网络(2)自动梯度计算和优化问题

    注:本次使用的数据集依旧是前两章的Moon1000数据集  from nndl.dataset import make_moons [详细代码见 神经网络与深度学习(五)前馈神经网络(1)--二分类任 ...

  6. eclipse创建神经网络_使用Eclipse Deeplearning4j构建简单的神经网络

    eclipse创建神经网络 神经网络导论 深度学习包含深度神经网络和深度强化学习,它们是机器学习的子集,而机器学习本身就是人工智能的子集. 广义地说,深度神经网络执行机器感知,该机器感知从原始数据中提 ...

  7. 卷积神经网络训练准确率突然下降_详解卷积神经网络:手把手教你训练一个新项目...

    作者:Tirmidzi Aflahi 原文链接:https://thedatamage.com/convolutional-neural-network-explained/Tirmidzi Afla ...

  8. 神经网络学习笔记(一) RBF径向基函数神经网络

    神经网络学习笔记(一) RBF径向基函数神经网络 2018年08月06日 13:34:26 吃机智豆长大的少女乙 阅读数:2735 RBF径向基函数神经网络 初学神经网络,以下为综合其他博主学习材料及 ...

  9. 神经网络反向传播的作用,双向传播的神经网络

    如何理解神经网络里面的反向传播算法 反向传播算法(Backpropagation)是目前用来训练人工神经网络(ArtificialNeuralNetwork,ANN)的最常用且最有效的算法. 其主要思 ...

  10. 神经网络的三种训练方法,如何训练一个神经网络

    1.神经网络有哪些主要分类规则并如何分类? 神经网络模型的分类 人工神经网络的模型很多,可以按照不同的方法进行分类.其中,常见的两种分类方法是,按照网络连接的拓朴结构分类和按照网络内部的信息流向分类. ...

最新文章

  1. 零知识证明实践教程,第一部分
  2. C语言将字符串转换成对应的数字(十进制、十六进制)【转】
  3. RE|GoF23种设计模式-动态代理
  4. Go语言的分词器(sego)
  5. how to build a paper's architecture?
  6. 基于openvswitch+Docker构建SDN网络测试环境 (使用ovs-docker进行构建)
  7. 被罚 50 亿美元,Android 究竟招谁惹谁了?
  8. PostgreSQL\GPDB 多维数据透视典型案例分享
  9. asp.net c# 常见面试试题总结汇总(含答案)
  10. bash中符号那点事
  11. jxls对比_jxls-2.x导出excel入门——基本操作
  12. 5ecsgo启动失败2错误代码2_单机多实例--启动2个Elasticsearch Cluster
  13. 简历javaweb项目描述怎么写_JavaWeb开发项目经验简历范文
  14. 打包labview程序
  15. lopa分析_保护层分析(LOPA)方法简介1.ppt
  16. 《东周列国志》第二十回 晋献公违卜立骊姬 楚成王平乱相子文
  17. 全国通用 专升本计算机基础(简答题背诵可用)
  18. 如何用支付宝对支付宝转账
  19. 磁盘管理有磁盘0 磁盘分区1 2 5 6 7 这样 我C盘不够用 这意思是可以把这些磁盘划分到C盘里的意思吗?
  20. 1KB=多少B=多少byte=多少bit

热门文章

  1. axios发送登录请求_使用axios实现登录功能(前后端联调)
  2. IMEI 码的校验和生成
  3. oracle 监听程序当前无法识别连接描述符中请求的服务_最新版Web服务器项目详解 04 http连接处理(上)...
  4. java 圆的交点_java求两个圆相交坐标
  5. 硬计算、软计算与混合计算
  6. 数学之美系列 4 -- 怎样度量信息?
  7. 纪念品分组pascal程序
  8. oracle sql 艺术,Oracle PL/SQL 从if 到 then的“艺术鉴赏”
  9. 感知器的c++实现_使用FastAI和PyTorch的多层感知器
  10. java servicefactory_Java DirectoryServiceFactory.getDirectoryService方法代碼示例