您的位置:首页 > 其它

Machine Learning —— By Andrew Ng(机器学习 听后自己做的笔记 记录重点内容)

2013-11-01 20:45 323 查看
MachineLearning
——byAndrew Ng , Stanford

第一讲:机器学习的动机与应用
一、监督学习:

1、
回归问题: 房价预测

2、
分类问题:肿瘤为良性还是恶性

二、无监督模型:

三、区分声源的例子的思考(鸡尾酒会问题):

无监督算法发现数据内部的隐含结构,告诉我们不同类型的数据结构是什么样的。可为监督模型的数据结构做学习的参考。

四、无监督学习算法很复杂?Matlab只有一行代码!用C或Java你会付出惨痛的代价。

五、强化学习

飞机的飞行控制程序利用强化学习算法进行学习,正确的决策会得到奖励,坏的决策进行惩罚,以此不断地进行强化。其根本在于:回报函数。

为机器人编写控制程序会非常难,但通过学习型算法,可以写一个简单的多的程序,却让机器人做很多神奇的事情。

第二讲监督学习应用.梯度下降
纲要:

监督学习算法:

以房价预测例子,讲解Linear Regression(线性回归)

(回归性学习算法应用:机动车的自动驾驶)

以及讲解求参数的两种方法:

Gradient Descent(梯度下降)——神经网络的核心算法

Normal Equations(正规方程组)——详细见讲义

回讲房价预测的例子:

Andrew Ng:利用训练集合选择或学习,得到合适的参数值是学习算法的任务!(哈哈跟我讲的一样)

使函数的值最小化有很多不同算法。搜索算法:我们先给参数向量一个初始值θ(初始值可设为0)

然后不断改变参数向量,使得目标函数不断减小。

向下降最快的方向走一步,这个方向正是梯度的方向。到达一个新位置后,再向下降最快的方向走一步,直到达到一个局部最小值:

若换一个初始点:

注意区分两个概念:拟合函数(如y=ax+b)

违约函数(又称成本函数,如J(θ)=1/2∑[(axi+b) –yi]2

注:拟合函数为线性函数,则为线性回归;反之,则为各种别的函数的回归。

线性规约问题或者规约函数为二次函数规约由于规约函数形状类似碗状,所以只有一个局部局最小值,局部最小值即是全局最小值。

注:此外由于越接近最小值,梯度下降的每一步否会自动变得越来越小,在迭代的过程中由于是减去梯度(严格的说是学习速度α乘以梯度),所以越靠近最优值,速度会越来越慢。在最优点处,梯度为0。

以上算法由于每迭代一步都要遍历所有样本集合(所以称作Batch gradient descent)。所以在大样本的情况下,收敛速度会非常慢。将其算法进行改进:

每次收敛只参考一个样本。其算法称为随机梯度下降算法(stochastic gradient descent
)或称为增量梯度下降算法( incremental gradient descent)
(注意j表达一个方向的θ,每一步环视一周就是计算每一个θ分量,选择最陡峭的方向走一步;然后在走后的当前位置再环视一周,如此反复进行前进收敛。。。)

这种方法不会得到精确的收敛值,但会在很接近最优值周围直接进行徘徊。(牺牲了一点精确度换来更快的收敛速度)

NormalEquations(正规方程组)——详细见讲义

其中J为梯度向量,不用每次对一个分量进行求偏导。

详看讲义:

第三讲欠拟合与过度拟合的概念
纲要:

欠拟合与过度拟合的概念

Linear Regression(线性回归)的变种locally weighted regression(局部加权回归)

分类算法:Logistic regression(logistic回归)

perceptron algorithm(感知器算法)

Newton’s method(牛顿方法)——对logistic回归进行拟合的算法

过度拟合:

图一由于特征集合过小,则拟合模型过于简单。——欠拟合

图三由于使用了过大的特征集合,是的模型过于复杂。——过度拟合

特征选择算法有一类自动化的算法,可以在回归问题中选择要用到的特征(含有特征的样本)。

Non-parametric learning algorithm(非参数学习方法)——可以缓解对特征选取的需求(特征选取过多则过拟合,过少则欠拟合)——而之前的学习就是为了求参就是典型的参数学习算法(有固定的参数集合θ)。

其定义为:随着训练集合的增加,参数的数目会线性增长。(Number of parameters grows with m. -- m为参数的数目。)

(小知识补充:参数统计,基于某种分布的,比如正态分布指数分布,进行参数估计检验区间预测等等;非参数方法,主要用于那些分布并不服从某一个已知的分布,也不知道他们的参数,不针对参数的求算进行的统计分析。非参数回归模型完全由数据驱动。LK:非参数方法并不是求解过程中不涉及参数,只是参数的意义不一样——如下面讲到的局部加权回归算法中,我们求得参是局部拟合直线的参数,并不是真正样本集拟合的全局曲线的函数的参数)

一种特定的非参数学习方法——locally weightedregression(局部加权回归):

待测样本局部的样本点进行线性拟合(局部的线性回归),以预测出直线估计的待测点的值:


注意图中w(i)的位置。


其算法对于特征的选择(或称参数数目的选择,注意这里的特征不是指特征属性,而是带有特征的样本点)有自优化的过程。

通过局部加权回归拟合出一组参数向量,其加权规则为:(注意此分布跟高斯分布没有关系)

(数字2后面的τ(tow),此参数称作波长函数,它控制了权值随距离下降的速率—— τ小则下面的函数图像表现为高瘦,远处的点的权值或下降很快;反之则矮胖。)

其表达的意思为,离当前查询点(待测点)近的样本点的权值w接近1,远离当前点的权值w接近0。以此来对临近点的精确拟合。同时忽略离得很远的点的贡献。其权值分布的图像大致如下:在当前点即中心位置的点的权值高,远处权值低。——此方法可以很大程度改善过度拟合和欠拟合问题,但是不能完全避免(τ的影响,这个波长参数也有一定的算法来选取它)

注:每次对一个待测样本进行预测就需要重新根据巨大的数据集合来拟合出一条直线。每对一个待测点进行预测,实际上每次你都在改变你的假设(即改变对样本的拟合函数)

如果沿着x轴的每个点都进行局部直线拟合,那么你会发现对于这个数据集合来说,局部加权的预测结果,能够最终跟踪这条非线性的曲线

线性回归模型的概率解释(得到规约函数为什么是二次函数(也称最小二乘回归))

思考:我们为什么要用最小二乘的指标作为规约函数?为什么不是绝对值或四次方?(最后经过证明你会发现,这个不是人为定的,违约函数是可以被推导出来的)

回到预测房价的例子:

其中,上图建立的拟合函数中,误差值ε服从高斯分布N(0,σ2);(大数定律)

LK:ε服从高斯分布,由于θTX(i)是一个已知实值,则y(i)也服从高斯分布,且方差也是σ2

注意符号的表示:P(y(i)|X(i);
θ)表示:


θ为给定的参数的情况下,概率y(i)
以X(i)
为随机变量的概率分布,注意X(i)为随机变量,而θ不是随机变量。

若ε(i)s是独立的同分布(IID:independentlyidentically
distribution)

创建以θ为变量的似然函数。(Andrew:似然性和概率性在很大程度上一样的意思。)

现在来估计参数:采用极大似然估计推导后,即求下图中式子的极小值。(即:其实最小二规约本质上也是最大似然原则推导而来的。

至此,证明了线性回归的概率解释。注意:用极大似然估计推导最小二乘规约函数的参数时,参数σ对于最小二乘算法没有影响。所以下面GMLs中,可设σ
= 1。

logistic回归——一种分类算法

先来看看二分类若用线性函数进行拟合:

很明显在分类问题中,这个简单的例子示意了回归模型有时候不能很好地给分类问题建立合适的模型。

所以,建立以新的拟合函数来建立新的模型:

首先来看一个函数的表达式:

此函数称为Sigmoid function或logisticfunction

将两个概率模型统一表达在一个式子中。

然后建立最大似然函数:

可采用梯度下降算法求解θ。注意这里是求最大值而不是最小值,所以更新θ采用加号。(实质为梯度上升算法)

注意区分概念:根据最小二乘规则(本质也是最大似然),规约函数越小线性拟合越好。拟合函数为线性函数或其他函数。
根据最大似然原则,似然函数越大越拟合。这里拟合函数为logistic函数。

两种方法中,求参都可采用的梯度下降(上升)算法。

神奇的是根据最小二乘规则或根据最大似然原则,采用梯度下降算法,最后求得了一样的形式!如下:

但其内涵不一样,之前例子中的拟合函数为线性函数,这里的拟合函数为logistic函数

即使它们表面上很相似,但相对于上一次基于最小二乘回归推出的下降规则,实际上是完全不同的学习算法。这看这是一种我们之后将会看到的,最为优雅的通用的学习模型,即使我们使用不同的模型,实际上是会以一种看起来相同的学习算法结束,这并不是巧合。

(建议下去之后详看讲义上的推导,自己将推导)

Perceptronalgorithm(感知器算法)

感知器算法的定义:

参数学习算法的结果依然很像,但其背后的理论(Andrew:它是一类非常不同的学习规则)是完全不一样的,因为函数生成的值只有0和1。——因为其值只有0和1这个算法非常简便。

第四讲
纲要:
Newton’s method(牛顿方法)

Exponential family(指数分布族)

Generalized linear models(广义线性模型GLMs)

——将传统的最小二乘回归和logistic回归进行推广后的模型

回到logstic回归,用牛顿方法来求解参数代替梯度下降算法,来对最大似然估计的模型进行拟合。

若求θ,使得f(θ)=0.

注意f和l

牛顿方法的收敛速度非常快,又是称为二次收敛。一般没迭代一步为数量级的收敛。

牛顿方法扩展到多维:

对多维的运算及矩阵的求导,详见note1和复习笔记1.pdf

注意矩阵n*n表示样本数(特征数?)

我明白了(LK):一个θ是一个样本的多维特征,要是考虑多个样本的话,就成了矩阵形式(其意思就跟在原始的梯度下降算法中,每次迭代是参照所有的样本,而不只是一个样本)。

小结:两种算法模型

最小二乘法的线性回归——适合回归问题建模预测

最大似然法的logistic回归——适合分类问题建模预测

Generalizedlinear models(广义线性模型GLMs)

——将传统的最小二乘回归和logistic回归进行推广

下面考虑两个分布:Bernoulli分布和Gaussian分布

Bernoulli分布中Ф指定了y=1的概率,改变了Ф值,得到了不同的关于 y=1这一事件的概率。不要将其看成一个固定的概率分布。将其视为一类或者一组概率分布。(都服从某一类的分布,只是参数不一样)

同理于Bernoulli, Gaussian分布都是Exponentialfamily的特例。

Exponential family(指数分布族)的定义详见note1.P23, 24

改变Ф值 → 一组Bernoulli分布→ 改变T、a、b
→ 一组指数分布族的子集


(改变Ф值相当于固定T、a、b,改变a的变量Ф)

反过来表达的意思为:

指数分布族 → 固定T、a、b → 决定是什么分布 (某一类的分布)→

→ 若为Bernoulli分布→ 固定Ф值(对应GLMs中参数η)
→ 特定的Bernoulli分布


→若为Gaussian分布 → 固定μ(假定σ=
1)值(同上) → 特定的Gaussian分布


(特别注意自然参数η,同时它是分布a的随机变量,η可为一个标量、向量、矩阵)

本科的统计书上的绝大部分分布函数都可以写成指数分布族的形式:

Bernoulli分布、Gaussian分布、多项式分布,泊松分布等很多分布的广义线性模型就是 指数分布族。

应用指数分布族:

如何Constructing GLMs(构造(生成)广义线性模型)?

为什么要推广广义线性模型:如有有一个新的机器学习问题,并且尝试预测一个变量的值y,可以根据y的变量分分布确定T、a、b来建立模型,推广后建模十分便利。

广义线性模型的三个假设,以及推导、例举,详见note1 P25.26

利用广义线性模型推导的logistic回归举例:

在推广GMLs前,我们需要做一个工作:当我们把伯努利分布(同理于其他分布)写成指数分布的形式的时候,我们得到了Ф(伯努利分布)与η(指数分布)的关系,记得到也预测值y与η的关系。又由于假设中η与θ的线性关系,有:

以上就是根据GMLs推导logistic回归算法的过程(因为算法结束后发现,回归函数即拟合函数就是logistic函数的形式啊),该算法中,由于预测值y只有两个值,所以算法建模的过程中用伯努利分布(同理,根据y的分布模型选择Guassian分布,泊松分布(商店里今天会有多少顾客来,今天遇到红绿灯的数目))对其进行建模。

——就这个选择预测值的分布是人为的,别的建模过程都是计算机来完成。

注意在logistic回归中,θ的计算方法可为最大似然估计,梯度下降算法或牛顿方法。

y = θx +
ε,LK:ε
服从高斯分布,于是y也服从高斯分布。

以上是在建立线性回归模型中,是预测值y服从高斯分布的推导。

多项式分布(对分类问题)——一个较复杂,技巧性很强的GMLs的例子

由于公式较多较复杂,详见note1.P27-

最后推导出的回归我们将其命名为Softmax回归(k类),它是logistic回归(两类)的推广。 —— Softmax回归的参数选择仍采用最大似然估计获得。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐