首页 > 代码库 > 机器学习的一些基础理论

机器学习的一些基础理论

1.监督学习(Supervised Learning):回归问题,分类问题
1.1
拿支持向量机举个例子,分类问题和回归问题都要根据训练样本找到一个实值函数g(x).
回归问题的要求是:给定一个新的模式,根据训练集推断它所对应的输出y(实数)是多少。也就是使用y=g(x)来推断任一输入x所对应的输出值。
分类问题是:给定一个新的模式,根据训练集推断它所对应的类别(如:+1,-1)。也就是使用y=sign(g(x))来推断任一输入x所对应的类别。综上,回归问题和分类问题的本质一样,不同仅在于他们的输出的取值范围不同。分类问题中,输出只允许取两个值;而在回归问题中,输出可取任意实数。
 
1.2支持向量机(SVM)
划分不同data的分割物
支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
 
2.无监督学习
在监督学习中,数据都是被分类的,而在无监督学习中,数据之间没有区别(没有正数据和负数据),无监督学习,旨在通过计算机本身将数据进行聚类。
2.1 聚类:将一组无差数据进行同特征归类。给出算法,给出无差别数据,输出结果。
 

 
1.回归(Regression)
 
回归算法属于监督学习,回归是指自变量X已经给出确定的值或者含义,预测计算出因变量Y的过程。
1.1原料:
m:数据集,训练样本
x:特征变量
y:目标变量
1.2表示:
(x,y)->一个训练模型
(x(i),y(i))->具体到i这个训练模型某一数据点
h->表示假函数(假定的一个函数式)
 
技术分享

 

 
对于这样一个 模型,x表示的是房屋面积,y表示的是房屋价格,我们希望通过线性回归来进行房屋价格预测。
 
首先假设一个函数hθ(x)=θ0+θ1(x),来表示自变量和因变量的关系,
并且,我们希望函数式hθ(x)能最大限度的代表训练样本,也就是说,hθ 函数的值能够与Y值进行最大的匹配,所以这里我们运用最小二乘法进行函数匹配,以求出θ0,和θ1的值。
 
技术分享

 

 
J(θ 0,θ 1)代表对这两个参数进行求值,J函数又称为代价函数,m表示的是样本数量。
在这里运算时,我们假设θ0为0,可以求出当参数θ1=1时,J函数有最小值,如下图。
 
技术分享

 

 
 
对于上面的J函数,我们不可能要去手工计算参数值,这里面就要使用梯度下降算法了。
 
2.梯度下降
梯度下降是寻找最小函数值得过程,相当于你站在山上一步一步的走到山底部的过程
注意:梯度下降时,J(θ0,θ1,θ2.......)中的参数要一同步更新:
技术分享

 


 

  ps:
  :=这个符号是赋值的意思,将右边赋值给左边。α是指学习率(下山时的步长),控制以多大幅度更新参数θj
 
   在上方的代码中,左边的写法是正确的,他保证了在计算过程中参数值不会发生变化。而右边的代码在第二步时θ0发生了改变,使得J函数发生了改变,梯度下降后的结果也就必然偏离正确结果了。
 
对于函数式α后面的部分,即αJ(θi)/αθ,他实际上表示的是切线(三维空间中是切面)的斜率,即求偏导,在计算上等同于求微分dj(θi)/dθ(相当于求二维斜率,就是Δy/Δx),它反映了在最低点的右边的θ向最低点收敛时的过程是在减少θ的值,而在最低点左边向最低点收敛时则是在增加θ的值。对于α(学习率)来讲,过大的α可能会使得函数错过最低点,而过小的α可能会使得函数在向最小值收敛时幅度过小,很难快速得到最低值。
技术分享

 


 

 
梯度下降算法的一个特点就是在越来越接近最低点时函数的改变幅度会越来越小(斜率越来越小直到0),而在最低点时,函数的值不会在发生变化,因为最低点斜率为0(dj(θi)/dθ=0)
 
技术分享

 

 
 

机器学习的一些基础理论