机器学习预习


三要素

机器学习三要素-模型(model)、策略(strategy)、算法(algorithm);

  • 模型就是所要学习条件概率分布或决策函数,我们常见的一些方法,像隐马模型(HMM)、SVM模型、决策树模型等等都归于此类;
  • 策略是指按照什么样的准则来学习或者挑选模型,像课上讲的J(Θ)、损失函数属于此类;
  • 算法是指学习模型的具体计算方法,即用什么样的方法来求得最优解,像课上讲的梯度下降法,其他如牛顿法、拟牛顿法属于此类;

训练误差对判断给定的问题是否容易学习是有意义的,但本质上不重要;

测试误差反映了学习方法对未知数据的预测能力,比较两种学习方法的好坏,不考虑计算速度、空间等因素,测试误差小的方法显然更好;

回归

一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大。如果非要应用进入,可以使用对数回归。

Logistic Regression

1.找一个合适的预测函数,一般表示为h函数,该函数就是我们需要找的分类函数,它用来预测输入数据的判断结果。这个过程时非常关键的,需要对数据有一定的了解或分析,知道或者猜测预测函数的“大概”形式,比如是线性函数还是非线性函数。

2.构造一个Cost函数(损失函数),该函数表示预测的输出(h)与训练数据类别(y)之间的偏差,可以是二者之间的差(h-y)或者是其他的形式。综合考虑所有训练数据的“损失”,将Cost求和或者求平均,记为J(θ)函数,表示所有训练数据预测值与实际类别的偏差。

3.J(θ)函数的值越小表示预测函数越准确(即h函数越准确),所以这一步需要做的是找到J(θ)函数的最小值。找函数的最小值有不同的方法,Logistic Regression实现时有的是梯度下降法.

过程

预测函数

Logistic Regression虽然名字里带“回归”,但是它实际上是一种分类方法,用于两分类问题(即输出只有两种).

利用了Logistic函数(或称为Sigmoid函数),该函数的输出必须是两个值(分别代表两个类别),函数形式为:

接下来需要确定数据划分的边界类型,讨论线性边界.

对于线性边界的情况,边界形式如下:

所以,得到预测函数为:

hθ(x)函数的值有特殊的含义,它表示结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:

构造损失函数

Cost函数和J(θ)函数是基于最大似然估计推导得到的.

损失函数是对预测函数的求和或者平均

实际上Cost函数和J(θ)函数可以基于最大似然估计推导得到。

预测函数可以综合写成:

求log似然,可以得到J(θ)表达公式:

因为乘了一个负的系数-1/m,所以J(θ)取最小值时的θ为要求的最佳参数。

梯度下降法求J(θ)的最小值

梯度下降过程向量化

矢量化(vectorization)后θ更新的步骤如下:

  • (1)求A=x.θ;
  • (2)求E=g(A)-y;
  • (3)求θ:=θ-α.x’.E,x’表示矩阵x的转置。

综合可以写成: