(3)Logistic Regression and Regularization

Machine Learning系列,转载自

http://blog.csdn.net/xuexiang0704/article/details/8903907


以下内容源自coursera上的machine learning,同时参考了Rachel-Zhang的博客(http://blog.csdn.net/abcjennifer)


前面两节讲的主要是线性回归的(单特征和多特征):最主要的步骤就是得出cost function,求出令cost function最小的的参数theta。至于如何求呢?有两种方法,一种是梯度下降,一种是normal equation。






%%%%%%%%%%%%%%%%%%首先是第一部分Logistic Regression%%%%%%%%%%%%%%%


下面讲的是,对于分类问题怎么做?

(一)先探究分类问题可以用线性回归的方法还是其他方法呢?

(3)Logistic Regression and Regularization_第1张图片

(3)Logistic Regression and Regularization_第2张图片






那为什么logistic regression的Hypothesis就是0-1的范围呢?

(3)Logistic Regression and Regularization_第3张图片






搞清楚了原因,我们就需要更深了解下logistic regression的Hypothesis了

(二)Hypothesis Representation

(3)Logistic Regression and Regularization_第4张图片





如果是分两类的话,需要在X维空间中画出一挑线或者一个平面(X由training data的特征数决定)

我们这里以只有两个特征为例。来熟悉熟悉这样一条线,定义为decision boundary

(三)decision boundary(这里有两种情况,一种是线性的,一种是非线性的)

1.线性的decision boundary

(3)Logistic Regression and Regularization_第5张图片


2.非线性的decision boundary

(3)Logistic Regression and Regularization_第6张图片





在linear regression中有cost function。在logistic regression中的cost function是怎么样呢?

(四).cost function

(3)Logistic Regression and Regularization_第7张图片



前面四小部分就是坐logistic regression的准备工作,

归结下前四部分的总体思想:

1.分类问题用logistic regression,而不用线性回归;

2. 为什么用logistic regression呢。因为其中用到了sigmoid函数;

3. 为了将类别分开,定义一个decision boundary。他就是将类别分开的线(可以是直线也可以是曲线);

4. 如同线性回归,为了验证算法是否好,定义cost function。为了得到好的结果,我们需要最小化cost function。








OK,这就是四部分的大致思想,下面介绍后面的,也是logistic regression最重要的部分。

(五)Simplified Cost Function and Gradient Descent

这部分是logistic regression 的核心,可能比较乱,耐心看看噢^_^

(3)Logistic Regression and Regularization_第8张图片


(3)Logistic Regression and Regularization_第9张图片


(3)Logistic Regression and Regularization_第10张图片






%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

(PS:这里补充一下,有些可能会对的化简存在疑惑,这里推导下面的过程:)(会的人这部分可以跳过了)

Q:

  


A:

(3)Logistic Regression and Regularization_第11张图片(3)Logistic Regression and Regularization_第12张图片

视频中的结果是不是少了一个1/m?退到结果是有的吧?!


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%









(3)Logistic Regression and Regularization_第13张图片







以上对于logistic regression就介绍完了,有没有一点点感觉呢?

下面的两部分就是:

1.不用logistic regression还可以用什么呢?

2.前面讲的都是分两类的,多类的怎么办呢?

相对应的题目就是:

(六)Advanced Optimization:

(七)Multiclass Classification


这两部分,我觉得http://blog.csdn.net/abcjennifer/article/details/7716281看看也就差不多了,毕竟不是重点。我就不截图了,因为有现成的可以用的代码,大家可以参考。











%%%%%%%%%%%%%%%下面的第二大部分:Regularization%%%%%%%%%%%%%%%%%%%%%

是针对线性回归logistic regression 过拟合的情况的解释和解决办法。




(一)过拟合问题

(3)Logistic Regression and Regularization_第14张图片

(3)Logistic Regression and Regularization_第15张图片







上面给了两种解决过拟合的办法,我们下面主要讲第二种,regularization

那应该如何修改linear regression和logistic regression的算法才能避免overfitting的问题呢?

在这之前,我们需要先修改cost function,因为不论是linear regression还是logistic regression都是基于cost function的。

(二)cost function

(3)Logistic Regression and Regularization_第16张图片

有没有发现cost function后面的加的,是从下标1开始的,实际上,从theta(0)还是theta(1)相加没有根本上的差别!

(3)Logistic Regression and Regularization_第17张图片





上面讲了cost function的修改,那么具体到算法的步骤是怎么样的,求导以后会怎么样呢?

先讲linear regression的

(三)Regularized Linear Regression

因为在做linear regression有两种方法,一为梯度下降;二为normal equation

1.用梯度下降时,怎么让

 

linear

 

 regression变成 

 

Regularized Linear Regression

(3)Logistic Regression and Regularization_第18张图片

2.用normal equation时,怎么让

 

linear

 

 regression变成 

 

Regularized Linear Regression

(3)Logistic Regression and Regularization_第19张图片

(这里的证明我也证不来)





讲完将linear regression 变成 Regularized Linear Regression

就要讲

Logistic 

 

regression 变成 

 

Regularized Logistic Regression

(四)Regularized Logistic Regression

同样因为,logistic regression时有两种方法。一为梯度下降;二为advanced algorithm


1.

用梯度下降时,怎么让

 

logistic

 

 regression变成 

 

Regularized logistic Regression


(3)Logistic Regression and Regularization_第20张图片

2.用advanced algorithm时,怎么让

 

logistic

 

 regression变成 

 

Regularized logistic Regression


(3)Logistic Regression and Regularization_第21张图片

你可能感兴趣的:(Machine,Learning)