决策边界、代价函数、多元分类

1.决策边界:根据logistic回归方程的假设函数h(x)=g(\Theta T*x),g(z)=1/(1+e^(-z)),g(z)\in{0,1},可知当g(z)>=0.5时z>=0,相反z<0,分类时只要满足\Theta T*x>=0就可以实现分类,当参数\Theta确定时,即可绘制出一条线,关于线性可分,非线性可分,请移步这里(看完记得回来哦,接下来的内容更精彩)https://blog.csdn.net/u014755493/article/details/70182532。另:决策边界只由参数theta决定,跟训练集无关,而参数theta由训练集训练模型得到。

2.代价函数

当J(theta)中蓝色部分由粉色部分代替时,J(theta)的曲线可能如下图,使用梯度下降时会有很多局部最优点,很难找到全局最优, 

             

为此,我们将代价函数转化如左图。

        

下图是代价函数的曲线,解释一下,当h(x)=0(或者1)时,也就意味着,我们把本该为1(0)的类别预测成了0(1),已经是错误分类了,此时代价非常大,所以代价函数值趋于无穷。

            

为了方便写出代价函数和推导出梯度下降算法,我们可以将代价函数合并成一个式子Cost(h(x),y)=-ylog(h(x))-(1-y)log(1-h(x))

此时J(theta)=-1/m\Sigmaylog(h(x))-(1-y)log(1-h(x))  (自动脑补i,theta)。梯度下降算法如下:

 

关于推导过程请参考https://blog.csdn.net/qq_29762941/article/details/80232908

逻辑回归的梯度下降公式和线性回归形式上很像,但是注意,由于h(x)的公式不一样(线性回归h(x)=theta转置*x,逻辑回归h(x)=1/(1+e^(-theta转置*x))),所以其实二者是完全不同的。(特征缩放也可应用到逻辑回归中)

3.利用逻辑回归解决多分类问题

主题思想是专注于某一类别(简称目标类别),然后将所有的数据划分为目标类别和其他(就是其他所有的类别放在一起),训练出一个分类器,然后重复此过程,直至生成n个分类器(n是我们的类别数目),给定数据x将其带入逻辑回归方程中,概率最大的分类器即为该数据的类别。

4.关于拟合问题(例子:预测房价,假设理想状态下应该是二次函数,这样容错率也很高。)

欠拟合:训练出来模型在训练集和测试集上都表现得很差,通俗一点说,就是欠缺一点点,我们训练出来得模型低于理想模型,以至于对于训练集得数据不能很好的分类/预测,更别提测试集了,另一种叫法叫高偏差;对于本例来说,预测成了线性函数;

过拟合:训练集上表现得很好,测试集上表现得很差,又叫高方差;对于本例来说,预测成了四次函数;在训练集特征多、数据量少的时候容易发生。解决方法:①减少特征数量(人为的筛选,或者使用模型选择算法去选择留哪些特征,但是可能会导致重要信息的缺失,建议选择第二种)②正则化,保留所有特征,改变的是量级或者参数theta。

5.正则化

思想:在最小化代价函数时加个约束\lambda,形式如下因为我们不知道应该改变哪个参数,所有全部都约束一下,其实 i从0还是1开始都可,问题不大,但是约定俗成从1开始,跟着大伙走吧。这个就是正则化项,\lambda叫正则化参数,当\lambda过大时,所有的theta都接近于0,这时拟合出来的就是一条y=C(常数)的水平直线,所以要选择合适的值。

5.1线性回归的正则化

这是未加正则化时的梯度下降算法,,当加入正则化,J对theta求导就变化了,合并同类项得由于alpha,\lambda均大于0,且\lambda<m,所以是一个极小得正值,再看theta更新得公式,加了正则化项后每次更新其实只是在未加正则化时theta缩小了一丢丢而已。

之前吴大叔讲过求解theta还可以用正则方程,即theta=(x的转置*x)求逆*x的转置*y,加入正则化后依旧可用,只是变成了具体的就不再赘述了。

5.2逻辑回归的正则化

这是未加正则化的逻辑回归代价函数

这是加正则化的逻辑回归代价函数具体的可以参考第二个知识点。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章