神经网络编程基础(Basics Of Neural Network Programming)

这篇博客介绍了如何编程实现逻辑回归,包括问题描述、数学符号、逻辑回归的代价函数和梯度下降法的应用。内容涵盖单样本及多样本情况,并提供了Python Basics with Numpy的作业链接,进一步探讨Logistic Regression with a Neural Network。
摘要由CSDN通过智能技术生成
如何通过编程去实现一个逻辑回归?
 
事实上,在你实现一个神经网络的过程中,编程技巧是非常重要的。
例如,当你的训练集有m个样本的时候,一种最普通的方式是使用一个循环来遍历所有的样本。
然而,在学习完本节的课程后,你将会学到一些更优雅且高效的方法。
此外,在本节课中,我们还将会讲解神经网络的训练过程中为什么会用到前向传播和反向传播,以及前向传播与反向传播表示的含义。
为了使本节内容更加容易理解,我们将以逻辑回归为例,来讲解之前的知识点。
相信即使你之前对逻辑回归有一定的了解,你也能从本课程中学到一些不一样的知识。
下面就开始本节课的学习吧!
 

问题描述

逻辑回归是一个用于二分类的算法。
现在我们来看这样一个二分类的问题:给你一副图片,你需要判断这副图片中的内容是不是猫。如果是猫的话,输出为1,否则输出为0。
我们用x表示输入图像,用y表示输出的标签。


对于上面这副图像,我们需要用一个三个矩阵来表示该图像。三个矩阵分别对应着R、G、B图像。
假设我们输入图像的大小为64*64,那么我们的整个输入图像的存储大小为3*64*64。
为了将整个图像作为一个输入向量,我们需要对该图像进行转换,转换最终的结果将会得到一个长度为64*64*3=12288的向量。


此时,我们认为我们输入向量的长度为12288。记作n x =12288。

目前,我们需要设计的一个二分类器就是接收一个长度为12288的特征向量x,并得到一个预测结果y(可以是0或者1)。

 

数学符号


现在,让我们来梳理一下本课程会涉及到的一些数学符号。

一对训练Case我们记作是(x, y),其中x表示的输入特征向量,y表示的是输出标签。

训练集的规模使用小写字母m来表示。

即(x 1 , y 1 )表示第一对训练用例,(x 2 , y 2 )表示第二对训练用例...(x m , y m )表示第m对训练用例。

此外,我们用大写的X表示整个训练集。

其中,x 1 ,x 2 ,x m 分别表示X的第1列、第二列和第m列。且每个x的长度为n x 。即X的大小为n x *m。在Python代码中:
  1. X.shape = (nx, m)
接下来,我们讨论一下输出。为了与输入一致,我们同样需要定义一个大写字母Y。
其中,Y是由y 1 ,y 2 ...y m 组成。即Y的大小为1*m。即
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值