【深度学习】第一门课 神经网络和深度学习 Week 2 神经网络基础

2.1 二元分类

前言

第二周的主题是学习神经网络的基础知识。

实现神经网络需要用到一些重要的技术和技巧,比如怎样处理包含大量样本的训练集。

在神经网络的计算中,还会有前向暂停、前向传播、反向暂停和反向传播等步骤,本周会对它们进行详细的介绍。

本周课程中会使用逻辑回归这个算法来帮助大家理解这些概念。

正题

逻辑回归算法一般用于二元分类问题,下面这个问题就是一个典型的二元分类问题。

题目

输入一张图片,若识别这张图片里有猫,则输出标签1作为结果,否则输出标签0作为结果。

【深度学习】第一门课 神经网络和深度学习 Week 2 神经网络基础_第1张图片

分析

图片在计算机中的表示方法

计算机中有红、绿、蓝三种色块,三种色块按照不同的深浅度叠加就是一个像素,一张图片就由许多像素组成。

我们用三个矩阵来表示三种色块,矩阵中的元素值就是像素的强度值,这里用三个5x4的矩阵来表示一张图片:

【深度学习】第一门课 神经网络和深度学习 Week 2 神经网络基础_第2张图片

为了将图片输入到计算机中,我们需要将像素值放到一个特征向量里,这是一个列向量,从上到下地存放像素值,先存放第一个矩阵的第一行,再存放第一个矩阵的第二行,......,最后存放第三个矩阵的最后一行。

这个特征向量的行数就是所有像素的数量(注意不是像素值的和),我们通常用x来表示特征向量,用n来表示特征向量的维度(即行数)。

【深度学习】第一门课 神经网络和深度学习 Week 2 神经网络基础_第3张图片

所以,在二元分类问题中,我们的目标就是构建一个分类器,它以图片的特征向量作为输入,然后输出结果y(1或0),也就是预测图片中是否有猫。

符号定义

接下来我们说明一些在下面的课程中会用到的符号。

  • x

表示一个输入的n维的数据(向量)。

  • y

表示输出结果,取值范围为{1,0}。

  • (x(i),y(i))

表示第i组数据,(i)为上标,可以是训练数据,也可以是测试数据,这里默认为训练数据。

  • X=[x(1),x(2),⋯,x(m)]

大写的X表示所有训练数据集的输入值,放在一个n行m列的矩阵中,其中m表示样本个数。

有时候会出现训练样本按行堆叠起来的矩阵,这时候要将其转置,这样处理起来才更简单。

  • Y=[y(1),y(2),⋯,y(m)]

大写的Y表示所有训练数据集的输出值,放在一个1行m列的矩阵中,也就是一个行向量。

在python中,输出X的命令是:X.shape;输出Y的命令是:Y.shape。

2.2 逻辑回归算法

前一篇文章提到,给定一个特征向量x作为输入,x对应着一张图片,我们需要一个算法来预测图片里是否有猫,这里注意,我们的输出是预测,所以只是对实际值y的预测,用y^来表示。

y^是预测值,也就是y=1的概率,其取值范围为[0,1]。

此时,再给出两个参数,n维向量w是逻辑回归的参数,b是偏差,利用公式y^=w(T)x+b可以粗略地得出一个预测值,但是不能保证这个值处于0和1之间。

上面的这个公式其实就是线性回归的公式,但仅仅靠这个公式是无法解决二分类问题的,需要再使用Sigmoid函数。这个函数能将线性回归公式的结果转化为介于0和1之间的概率。
 

你可能感兴趣的:(深度学习,神经网络,机器学习)