吴恩达机器学习笔记5-逻辑回归
分类问题
分类的时候,我们通常让0为负类,1为正类。
有时候,线性回归并不能很好的解决分类问题。比如如下图所示的训练集,增加了一个样本,直线由粉红色变成了蓝色,得到了一个更坏的假设。
逻辑回归实际上是分类算法,不要被它名字所骗了。 逻辑回归也叫做对数几率回归,明明是分类算法,为什么叫做回归呢?因为它仅仅是在线性回归的基础上,将线性模型通过一个函数,转化为结果只有0/1的分类模型。
假设表示(Hypothesis Representation)
g()函数是逻辑函数,h0(x)是假设函数。
例如检测肿瘤是否为恶性肿瘤,x0默认为1,将x1设为肿瘤的大小,带入假设函数h0(x),得到h0(x)为0.7.所以有百分之70的可能是恶性肿瘤。
但是,这是一个分类任务,y必须是0或1。
决策边界(decision boundary)
假设函数有什么用呢?在计算着什么呢?
可以这样:当假设值大于等于0.5时,预测y=1;反之。
那假设函数怎样才大于等于0.5呢?由函数曲线图可以看出,当z大于等于0时,也就是θ的转置×x大于等于0时,g(z)大于等于0.5,也就是h0(x)大于等于0.5。
下面,再看两组训练集:
代价函数(Cost function)
什么是代价函数?
代价函数就是预测值和真实值的误差,用来衡量模型的好坏。
关于代价函数相关的性质:
假设有训练样本(x, y),模型为h,参数为θ。h(θ) = θTx(θT表示θ的转置)。则代价函数有以下性质:
- 对于每种算法来说,代价函数不是唯一的;
- 代价函数是参数θ的函数;
- 总的代价函数J(θ)可以用来评价模型的好坏,代价函数越小说明模型和参数越符合训练样本(x, y);
- J(θ)是一个标量;
如何确定代价函数参数θ?
为了寻找更好的模型h,要使得J(θ)值越小。因此需要不断改变θ的值,从而得到更小的J(θ)。若J(θ)=0,表示模型完美拟合了观察数据,没有任何误差。
代价函数常见的形式:
可以这样做是因为y要么是1,要么是0。
当假设h(θ)=1时,如果y是1,那么cost=0;如果y=0,那么cost=∞。
当假设h(θ)=0时,如果y时1,那么cost=∞;如果y=0,那么cost=0。
简化代价函数 和 梯度下降(Simplified cost function and gradient descent)
如何写错逻辑回归的代价函数?(蓝色字)
逻辑回归代价函数如下:(由最大似然法得出来的,由于该代价函数是凸的,所以使用梯度下降能获得全局最优解。)
如何运用梯度下降来拟合出逻辑回归参数?
‘’:=‘’表示赋值,α是一个数字,被称为学习速率(步长)。如下山的时候,我们迈出的步子很大,α就很大,否则α就很小
思考:如何用向量法更新θ?
高级优化(Advanced optimization)