2.神经网络基础 记录与心得

根据吴恩达先生的深度学习视频,记录下自己学习的过程。

以下内容为个人见解,若有错误请指正赐教。

 

首先,对于一张图片,计算机怎么看这张图片呢? RGB模式下的图片,有三种红色,绿色,蓝色的颜色通道,可以通过每一个颜色通道强度值的不同来组合成我们所看到的图片。比如一个256x256像素的图片,我们可以得到三个256x256像素的矩阵,每一个矩阵的值就代表每一个像素的一个颜色通道的强度值。

1.逻辑回归(logistic regression)

逻辑回归是一个用于二分类的回归分析,比如一张图片,如果图片有你要的目标就输出1作为结果,否则就输出0作为结果,

实际上并不一定是用于二分类,应该也可以用多次逻辑回归来进行多分类。

实际输出值 y,预测输出值,输入特征x ,逻辑回归的参数w,实数b表示偏差

在我们在做线性回归时经常有 ,来进行预测y。

而实际上,我们希望y的值在[0,1]之间,这样代表物体是与不是的概率,更加直观。我们约定  ,即算法的输出  是给定训练样本 x  条件下 y  等于1的概率。

所以我们用sigmoid函数,将线性函数转换为非线性函数。

,在这里z是一个实数,若z非常大,则这个关于z的sigmoid函数的值近似为1,若z非常小,则+1的值会非常大,从而这个sigmoid的值趋近于0。经过这样的操作,y的值就在0到1之间了。 

因此当你实现逻辑回归时,你的工作就是去让机器学习参数w 以及b 这样才使得 成为对y=1 这一情况的概率的一个很好的估计。

为了训练逻辑回归模型的参数参数w 和参数b,我们需要一个代价函数,通过训练代价函数来得到参数w和参数b

损失函数:(Loss function)

我们也需要一个损失函数,来衡量我们这个回归分析的状况,损失函数就是用来衡量实际值和预测值之间有多接近

每一个输入和输出都对应有一个Loss函数的值

我们在逻辑回归中用到的损失函数是:,我们的期望是损失函数越小越好,越小就说明我们的预测值和真实值越接近。

 

我们用代价函数(成本函数)J(w,b)来训练w和b,函数J(w,b)是带有求和的全局代价函数,实际上是1到m 项各个损失的平均,m是数据集的容量 是训练样本的预测值,==

我们要找的是J(w,b)的最小值所对应的参数w和b。所以我们有必要让代价函数为凸函数(convex function),实际上是一个凹状的样子,像一个碗一样。

先在J(w,b)上初始化w和b,然后往最陡的地方前进,不断迭代直到走到最优解的地方,得到w和b。这就是梯度下降法。

 2.向量化

向量化是一种有效的快速的方法,可以去除代码中的for循环,相比于for循环,运算速度能快几百倍。

一般用for循环需要遍历每一个数据,而向量化是把要输入的数据看成向量的形式,进行向量的加减乘除等运算,一次运算就能得到结果,在python中的代码段也很短。

在python中,z=np.dot(w.T,x)+b这样一行代码就能得到z的值。
python中的广播功能,可以自动复制向量使其能够满足矩阵运算的条件,就比如上式中的b就体现了广播功能,在这里不做展开。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值