吴恩达深度学习听课笔记

我对Logistic回归的全部理解

Q1:logistic中为什么要用sigmod函数?

A1:情境是这样的:

       已知输入x,我们想要的预测值yhat=P(y=1|x),即给定x的条件下,y等于1的概率。

       参数是w, b

       输出:yhat=wx+b  

       这个输出就是线性回归了,但线性回归不是一个好的二分类做法,因为我们希望yhat是给定x条件下y等于1的概率,既然是概率应该是在[0,1]之间的。而线性回归的wx+b算出来可能比1大的多,可能是负值。所以我们用sigmoid函数作用在线性回归上,即输出是sigmoid(wx+b)

     以上所述可参见如下图:

吴恩达深度学习听课笔记

Q2:


      



Logistic回归:

1. RELU函数是Sigmoid函数在算法上的改进,因为sigmoid函数当自变量非常大的时候,函数值接近于1,梯度近于0;当自变量非常小的时候,函数值接近于0,梯度近于0;而梯度近于0对梯度下降法是非常不利的,会导致梯度下降的非常慢。

2.RELU函数的成因:

ReLU 它的数学表达式如下: 

f(x)=max(0,x)

很显然,输入信号<0时,输出都是0,>0 的情况下,输出等于输入。

当x>0时,梯度是1,可以让梯度下降法快速收敛

3.Logistic推导:

           y_pred=6(wTx+b)

  Logistic的损失函数是:

      L(y_pred,y)=-(y*log(y_pred)+(1-y)log(1-y_pred))

用以下两个极端的情况理解为什么L(y_pred,y)能够起作用:

(1).当y=1时,L(y_pred,y)=-log(y_pred) 。我们想让L越小,这意味着log(y_pred)越大,y_pred越大,y_pred不会==1(因为sigmoid函数),会无限接近于1

(2).当y=0时,L=-(1-y)log(1-y_pred)。我们想让L越小,这意味着log(1-y_pred)越大,意味着y_pred越小,y_pred不会==0(因为sigmoid函数),会无限接近于0

损失函数是对单个样本衡量预测值与真实值之间的差距。


成本函数 Cost Function:定义为对于m个样本而言就是:(m个样本的损失函数的和)/m

成本函数衡量了w和b在训练集上 的效果

详情如下:

 吴恩达深度学习听课笔记

Logistic函数不用(y_pred-y)的平方作为损失函数是因为调优的时候会发现变成了非凸优化问题




4.“凸优化”意味着:能用梯度下降法找到一个全局最优解;“非凸优化”意味着:用梯度下降法找到的可能是局部最优解,不是全局最优解,因为下降下降可能掉到一个相对较低的坑里(局部最优解),但不是最低的坑里(全局最优解)。

5.梯度下降法(恍然大明白):


吴恩达深度学习听课笔记

上图假设w是一个实数(对应一维的x)

为什么梯度下降法能收敛到全局最优解?答案如下图


吴恩达深度学习听课笔记