一.非线性假设
学习了线性回归和逻辑回归,二者都有的缺点有:当特征太多时,计算的负荷会非常大。
假如:

当使用x1,x2x_1,x_2x1​,x2​的多项式进行预测时,我们可以应用的很好。
之前有了解到使用非线性的多项式项,能够帮助我们建立更好的分类模型。但是当我们有非常多的特征时,例如大于100个变量,我们希望用这100个特征来构建一个非线性的多项式模型,结果将是数量非常惊人的特征组合
即便我们只采用两两特征的组合(x1x2+x1x3+...+x2x3+x2x4+...+x99x100x_1x_2+x_1x_3+...+x_2x_3+x_2x_4+...+x_99x_100x1​x2​+x1​x3​+...+x2​x3​+x2​x4​+...+x9​9x1​00),我们也会有接近5000个组合而成的特征。这对于一般的逻辑回归来说需要计算的特征太多了。
实例:
若希望训练一个模型来识别视觉对象(例如识别一张图片上是否是一辆汽车),我们怎样才能这么做呢?
答:
一种方法是我们利用很多汽车的图片和很多非汽车的图片,然后利用这些图片上一个个像素的值(饱和度或亮度)来作为特征
解释:
如我们只选用灰度图片,每个像素则只有一个值(而非 RGB值),我们可以选取图片上的两个不同位置上的两个像素,然后训练一个逻辑回归算法利用这两个像素的值来判断图片上是否是汽车
假使我们采用的都是50x50像素的小图片,并且我们将所有的像素视为特征,则会有 2500个特征,如果我们要进一步将两两特征组合构成一个多项式模型,则会有接近3百万个的特征。普通的逻辑回归模型,不能有效地处理这么多的特征,这时候我们需要神经网络
二.神经元和大脑
1.神经网络是一种很古老的算法,它最初产生的目的是制造能模拟大脑的机器
2.神经网络是计算量有些偏大的算法。大概由于近些年计算机的运行速度变快,才足以真正运行起大规模的神经网络使得神经网络东山再起。正是由于这个原因和其他一些我们后面会讨论到的技术因素,如今的神经网络对于许多应用来说是最先进的技术。
3.当你想模拟大脑时,是指想制造出与人类大脑作用效果相同的机器。大脑可以学会去以看而不是听的方式处理图像,学会处理我们的触觉
4.模拟大脑,并不需要用上千个不同的程序去实现。相反的,大脑处理的方法,只需要一个单一的学习算法就可以了
举例1:

大脑的这一部分这一小片红色区域是你的听觉皮层,你现在正在理解我的话,这靠的是耳朵。耳朵接收到声音信号,并把声音信号传递给你的听觉皮层,正因如此,人们才能听懂说话。
神经系统科学家做实验:
把耳朵到听觉皮层的神经切断。在这种情况下,将其重新接到一个动物的大脑上,这样从眼睛到视神经的信号最终将传到听觉皮层
这样做的结果是:
听觉皮层将会学会“看”
总结:
从这个意义上说,如果人体有同一块脑组织可以处理光、声或触觉信号,那么也许存在一种学习算法,可以同时处理视觉、听觉和触觉,而不是需要运行上千个不同的程序,或者上千个不同的算法来做这些大脑所完成的成千上万的美好事情。也许我们需要做的就是找出一些近似的或实际的大脑学习算法,然后实现它大脑通过自学掌握如何处理这些不同类型的数据。在很大的程度上,可以猜想如果我们把几乎任何一种传感器接入到大脑的几乎任何一个部位的话,大脑就会学会处理它。
再举实例:
1)用舌头学会“看”
原理:
这实际上是一个名为BrainPort的系统,它现在正在FDA (美国食品和药物管理局)的临床试验阶段,它能帮助失明人士看见事物。它的原理是,你在前额上带一个灰度摄像头,面朝前,它就能获取你面前事物的低分辨率的灰度图像。你连一根线到舌头上安装的电极阵列上,那么每个像素都被映射到你舌头的某个位置上,可能电压值高的点对应一个暗像素电压值低的点。对应于亮像素,即使依靠它现在的功能,使用这种系统就能让你我在几十分钟里就学会用我们的舌头“看”东西。
2)人体回声定位
原理:
有两种方法可以实现:你可以弹响指,或者咂舌头。
现在有失明人士,确实在学校里接受这样的培训,并学会解读从环境反弹回来的声波模式—这就是声纳。如果你搜索YouTube之后,就会发现有些视频讲述了一个令人称奇的孩子,他因为癌症眼球惨遭移除,虽然失去了眼球,但是通过打响指,他可以四处走动而不撞到任何东西,他能滑滑板,他可以将篮球投入篮框中。注意这是一个没有眼球的孩子。
三.模型表示1
1.大脑中的神经网络是怎样的?
每一个神经元都可以被认为是一个处理单元/神经核(processing unit/Nucleus),它含有许多输入/树突(input/Dendrite),并且有一个输出/轴突(output/Axon)。神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。

神经元利用微弱的电流/动作电位进行沟通。如果神经元想要传递一个消息,它就会就通过它的轴突,发送一段微弱电流给其他神经元,这就是轴突。
这是一条连接到输入神经,或者连接另一个神经元树突的神经,这个神经元接收消息,做一些计算,然后可能会反过来将在轴突上的自己的消息传给其他神经元。这就是所有人类思考的模型:我们的神经元把自己的收到的消息进行计算,并向其他神经元传递消息。这也是我们的感觉和肌肉运转的原理。
神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型。这些神经元(也叫激活单元,activation unit)采纳一些特征作为输出,并且根据本身的模型提供一个输出。
示例:(神经网络中,参数又可被称为权重)
一个以逻辑回归模型作为自身学习模型的神经元。
我们设计出类似于神经元的神经网络,如下

其中
x1,x2,x3x_1,x_2,x_3x1​,x2​,x3​是输入单元,我们将原始数据输入给他们
a1,a2,a3a_1,a_2,a_3a1​,a2​,a3​是中间单元,它们负责将数据进行处理,然后呈递到下一层
最后一层是输入单元,负责计算hθ(x)h_\theta(x)hθ​(x)

神经网络模型是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量

下图为一个3层的神经网络,第一层成为输入层(Input Layer),中间一层成为隐藏层(Hidden Layers),最后一层称为输出层(Output Layer)。我们为每一层都增加一个偏差单位(bias unit)(即x0,a0x_0,a_0x0​,a0​等)


上面进行的讨论中只是将特征矩阵中的一行(一个训练实例)喂给了神经网络,我们需要将整个训练集都喂给我们的神经网络算法来学习模型。
我们知道:每一个a都是由上一层所有的x和每一个x所对应的决定的(我们把这样从左到右的算法称为前向传播算法( FORWARD PROPAGATION ))
四.模型表示2
我们将计算式子向量化,使得计算更为简便,以上述神经网络为例,计算第二层的值


进一步理解神经网络工作原理
遮挡左部分

可近似看作逻辑回归算法,以a0,a1,a2,a3为特征值进行计算

五.特征和直观理解1
1.普通的逻辑回归中,我们被限制为使用数据中的原始特征x1,x2,...,xnx_1,x_2,...,x_nx1​,x2​,...,xn​,我们虽然可以使用一些二项式项来组合这些特征,但是我们仍然受到这些原始特征的限制
2.本质上讲,神经网络能够通过学习得出其自身的一系列特征。在神经网络中,原始特征只是输入层,在我们上面三层的神经网络例子中,第三层也就是输出层做出的预测利用的是第二层的特征,而非输入层中的原始特征,我们可以认为第二层中的特征是神经网络通过学习后自己得出的一系列用于预测输出变量的新特征。
3.神经网络中,单层神经元(无中间层)的计算可用来表示逻辑运算,比如逻辑与(AND)、逻辑或(OR)。
举例and函数:


因此
(or函数与之方法类似,只是运算不同)

六.样本和直观理解2

七.多类分类
如果我们要训练一个神经网络算法来识别路人、汽车、摩托车和卡车多类别分类时,我们的输出层则该有4个值,例如,第一个值为1或0用于预测是否是行人,第二个值用于判断是否为汽车。
输入向量x有三个维度,;两个中间层,输出层4个神经元分别用来表示4类,也就是每一个数据在输出层都会出现[abcd]T[a b c d]^T[abcd]T,且a,b,c,d中仅有一个为1,表示当前类。下面是神经网络的可能结构示例:
输出结果可能是以下四种情形之一:

吴恩达机器学习 6.神经网络学习相关推荐

  1. 吴恩达机器学习[9]-神经网络学习

    神经网络学习 Neural Network 非线性假设 Non-linear hypotheses 神经元与大脑 Neurons and the brain 模型展示1 Model represent ...

  2. 吴恩达机器学习:神经网络学习和作业

    神经网络 (一)神经网络模型理解 1.1 模型 1.2 神经网络模型(前馈) 1.3 建立神经网络模型 1.4 多元分类 1.5 循环神经网络与对称连接网络 (二)神经网络模型实现 2.1 代价函数 ...

  3. 下载量过百万的吴恩达机器学习和深度学习笔记更新了!(附PDF下载)

    今天,我把吴恩达机器学习和深度学习课程笔记都更新了,并提供下载,这两本笔记非常适合机器学习和深度学习入门.(作者:黄海广) 0.导语 我和同学将吴恩达老师机器学习和深度学习课程笔记做成了打印版,放在g ...

  4. 吴恩达机器学习4——神经网络

    吴恩达机器学习4--神经网络 1. 非线性假设 2. 神经网络算法 2.1 神经元 2.2 神经网络 3. 神经网络算法实例 3.1 例子1:单层神经网络表示逻辑运算 3.2 例子2 4. 多分类 1 ...

  5. 手机上的机器学习资源!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>.CS229数学基础等,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成 ...

  6. 新建网站了!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成了网页版,可以在线阅读 ...

  7. 吴恩达深度学习笔记_Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成了网页版,可以在线阅读 ...

  8. 吴恩达机器学习与深度学习作业目录 [图片已修复]

    python3.6 (一) 吴恩达机器学习作业目录 1 吴恩达机器学习作业Python实现(一):线性回归 2 吴恩达机器学习作业Python实现(二):logistic回归 3 吴恩达机器学习作业P ...

  9. 吴恩达机器学习ex1-matlab版学习总结笔记-(1)单变量线性回归

    作业任务项一:5*5矩阵A 代码如下: A=eye(5); eye()是单位矩阵,除了对角线为1,其余项都为0.5为矩阵维度,即生成5*5矩阵. 作业任务项二:单变量线性回归预测 代码如下: data ...

最新文章

  1. Spring入门第一例
  2. 【PAT甲级 环最短距离】1046 Shortest Distance (20 分) Java、C++
  3. 干支纪年法简便算法_民间玄学:那些年我理解的何谓“天干”,“地支”,“干支”...
  4. 宝塔php开启zip组建,宝塔面板如何开启php扩展
  5. CPU,内存, 硬盘,指令之间的关系
  6. 学python lesson2
  7. 通过bat文件一键配置电脑IP
  8. CentOS7常用工具包安装
  9. 海湾gst5000协议号_海湾GST5000控制器说明书(DEMO)预案.doc
  10. 短视频开发app,Android 强制应用全局横屏或竖屏
  11. 海关179号出口清单报文CEB603Message描述规范
  12. ug后处理如何加密_UG后处理修改方法
  13. Python SyntaxError: Missing parentheses in call to 'print'
  14. Android adb.exe程序启动不起来 具体解决方法
  15. 负数时的有符号整型和无符号整型的转换
  16. 浅谈 web 端测试点
  17. Git命令行操作详解
  18. 泰迪杯-数据挖掘挑战赛
  19. 陳三甲网络笔记:王力宏直播买课600多万,你能否年赚30万
  20. 每日 30 秒 ⏱ 复制内容到剪贴板

热门文章

  1. 获取目录文件.bat
  2. jira7.3.6的安装步骤
  3. c#仿照qq登录界面编辑框内容操作
  4. javascript 调用C++函数
  5. ASP.NET MVC 使用 Log4net 记录日志
  6. Spring(一)--作用、IOC容器细节、搭配环境、Spring实验
  7. 正则表达式(一) -- 元字符(转)
  8. 索引深入浅出(6/10):选择正确并合适的聚集索引键
  9. Linux下多进程服务端客户端模型二(粘包问题与一种解决方法)
  10. Dedecms v5.7 CKEditor编辑器回车键换行改为分段