首页 > 代码库 > 机器学习总结--andrew ng视频(1)

机器学习总结--andrew ng视频(1)

由于毕设是关于机器学习的,所以有在学习一些关于机器学习的内容。

起步是先看Andrew ng 的视频,这一周的总结如下。

首先,机器学习分为监督学习和非监督学习。

而我的理解是监督学习是有标准的,即你可以对你的结果以他之前的一些数据作为标准进行判断,所谓监督。监督问题也分为分类和回归问题。分类即结果是一些离散值,回归问题是结果是一些连续值。

对于非监督学习即是给出一些数据集,您能找到他们的结构吗,即并没有所谓的标准,分为聚类和非聚类问题。

最开始是接触线性回归。

training set-->learning algorithm

input-->hypothesis-->output

m个训练例子,x(input)即是特征或者变量,y(output)为目标变量,一般来说X可以一个或者多个。

先来讨论一个x的情况:

h(x) = θ+ θ1*x;

cost function J(θ) = 1/2m*∑(h(xi)-yi)2  (i-->1:m)

找到 θ0和θ1使得J(θ)最小。当这两值都不为0时,可以得到一三维曲面。

使J(θ)最小,我们可以使用gradient descent 的方法:

θj := θ- α*?/?θjJ(θ0,θ1)   同步更新每个θ

α为学习率,确定步子迈多大。

然后对于多特征(多x)的相应内容:

然后一些对于线性代数的知识的回顾。矩阵与向量,矩阵的转置,求逆之类的。矩阵的乘法不满足交换律和消去律。

 X为一矩阵,m位训练例数,n为特征数,Xj(i)为在第i个训练例中的特征j 的值,X(i)为在第i个训练例中所有的特征的值,为一列值

h(x) = θ+ θ1*x12*x23*x3+....+θn*xn;

所以我们在x的最开始加全是1的一行,来达到h(θ) = θT*X的效果。

在实行gradient descent 的方法时,我们以以下公式同步更新:

θj := θ- α*(1/m)∑(hθ(x(i))-y(i))xj(i)   (i-->1:m)

  • 对于特征范围不一的问题,我们可以用 feature scaling,即特征缩放的方法来解决。

mean normalization:
x1 <--(x1-avg)/range

而且还有区别于gradient descent的方法来求最终θ值

Normal Equation(正规方程):

直接得到θ值。

θ = (XTX)-1XTy(当n大(n>10000)时不适用,时间消耗太大)

特征处理:删除多余或者无用特征

以及Octave的使用

机器学习总结--andrew ng视频(1)