Coursera-Machine-Learning-Review-W3

Classification and Representation

        我们在日常生活中还会遇到关于分类的问题,例如垃圾邮件分类,肿瘤良性与恶性的分类,在这种问题中我们倾向于以0和1来分别代表分类的两个值,所以我们需要一个能够进行分类的算法。利用之前学习的线性回归我们或许可以拟合一条直线,假设函数不变,接着对假设函数值进行预测,以0.5为边界分别预测0和1。但是当我们延长坐标轴时,可以发现,如果在原本的训练集中添加一个较远的标记点时,虽然从直观上对分类没有造成影响,但是会改变到整个线性回归的结果,并且会对训练集中的样本进行误判。

Coursera-Machine-Learning-Review-W3

        所以面对这样的问题,我们需要重新设计假设函数,即逻辑回归算法,使得其假设值处于0和1之间。这里我们定义一个S型函数,将线性回归的Coursera-Machine-Learning-Review-W3更改为Coursera-Machine-Learning-Review-W3,其中Coursera-Machine-Learning-Review-W3,这样就可以得到一个假设值处于0和1之间的函数,得到的值即为输入样本x,参数为θ时,y=1的概率值

Coursera-Machine-Learning-Review-W3

Decision Boundary

        从假设函数可以看出,根据Coursera-Machine-Learning-Review-W3是否大于0可以得到不同的值。以一个两个参数的训练集举例,θ的不同取值会定义出一条分界线,将平面分为两个部分,即为决策边界。通过增加复杂的多项式,可以得到更为复杂的决策边界,并且需要注意的是,决策边界是假设本身和其参数的属性

Coursera-Machine-Learning-Review-W3

Coursera-Machine-Learning-Review-W3

Logistic Regression Model

        我们面临着如何选择参数θ的问题,对于线性回归时,我们通过最小化代价函数来选择θ,而逻辑回归中,我们倘若直接使用原先的代价函数,会发现代价函数是非凸函数,具有很多局部最低点,但是我们希望得到一个凸函数,这样我们可以得到全局最低点。所以我们重新设计一个代价函数。

Coursera-Machine-Learning-Review-W3

Coursera-Machine-Learning-Review-W3

        这样的代价函数会导致当预测值等于真实值时,代价函数值为0,但是当不等于时,代价函数值趋向于正无穷。

        我们可以整合代价函数为一个函数,并且最小化代价函数来得到最好的参数θ。同样的我们使用梯度下降算法,同步更新所有的θ,类似于线性回归的计算过程,只不过更改了假设函数的式子而已。通过之前的学习过程我们知道,更新向量θ的所有值,可以通过循环更新,也可以通过向量化一起更新。

Coursera-Machine-Learning-Review-W3

Coursera-Machine-Learning-Review-W3Coursera-Machine-Learning-Review-W3

        在对代价函数最小化的过程中,除了梯度下降算法,还有很多更为高效,更为复杂的算法,他们的共同点都是需要给出各个θ求偏导的公式,将他们提供给预置的库函数,就可以自动返回最小化代价函数时的θ值。

Coursera-Machine-Learning-Review-W3

Multiclass Classification 

        我们已经知道了如何通过逻辑回归进行二分类问题,但是对于多个分类的问题,我们该如何处理?我们通过一对多(one vs all)算法来处理,也可以被称为一对余,核心概念就是令一个分类为1,其余分类都为0,得到一个决策边界。依次对所有分类都得到一个分类器,当新的样本出现,我们分别带入不同的分类器,选择其中值最大的作为预测

Coursera-Machine-Learning-Review-W3

Solving the Problem of Overfitting

        应用线性回归和逻辑回归时,我们都会面临欠拟合(under-fitting)过拟合(over-fitting)问题。分别对应着对训练集拟合不足以及拟合过好,以至于对测试集数据的拟合不好。

Coursera-Machine-Learning-Review-W3

Coursera-Machine-Learning-Review-W3

        为了解决过拟合为题,我们主要有两种方法:

1)减少特征数量

2)保持特征数量,进行正则化

        为了进行正则化,我们通过在代价函数中为某些多项式增加一个较大的系数,来降低其对函数的影响,避免过拟合。通过这种方法来得到一个较为简单的假设。修改代价函数为下图,可以有效避免过拟合问题,但是需要注意的是,λ如果设置的过大,会导致所有的θ都没有影响,导致欠拟合或是无法收敛。

Coursera-Machine-Learning-Review-W3

        正则化方法应用到线性回归和逻辑回归中的过程中,由于代价函数的更改,θ的更新也需要进行修改,但是根本上没有变化,只是进行了一些压缩,加上了关于正则化项求偏导的结果。

Coursera-Machine-Learning-Review-W3

Coursera-Machine-Learning-Review-W3

Coursera-Machine-Learning-Review-W3