我的机器学习之路 第二关

二、 单变量线性回归

1.什么是单变量线性回归?

    在训练集中,有一个自变量x和一个因变量y,通过数据拟合,去找到它们之间的关系(假设函数)。最终实现任给一个输入,都会有一个相对正确的输出。
    注意:单变量线性回归属于监督学习下的回归问题。

2.代价函数

   (1)定义:J(k,b)=(1/2m)*∑(h(x) - y(i))^2     其中,h(x)=kx+b
       解释如下:h(x)是假设函数
                 k和b是参数
                 m是训练集的样本数量
                 y(i)是每一个x对应的实际值
                 
   (2)目的:代价函数表示的是预测值和实际值的差的平方和再平均的值,其中使代价函数J(k,b)最小的那组参数k和b的值,就是我们所需要的目标函数的参数,也是拟合最好的一条直线。
   
   (3)研究方法:
      ①为了简化算法,令代价函数中的参数b=0:
       给k一个取值后,通过将m里的每一个数据带入代价函数,多次重复。绘出并研究k~J(k)图像,会发现图像呈抛物型。
      ②研究更一般的代价函数(即b不一定是0):
       给k和b赋值后,通过将m里的每一个数据带入代价函数,多次重复。绘出并研究(k,b)~J(k,b)图像,会发现图像呈三维碗状。

3. 线性回归的梯度下降

 (1)梯度下降法的定义:给每个参数一个初始值,不断同步更新变化初始值,直到参数不再变化(即代价函数J(k,b)取到最小值)。
 
 (2)梯度下降法的参数更新规则:Θi:=Θi-α*Ψ   
      说明:①Ψ是代价函数J(Θ0,Θ1)关于Θi求偏导所得的值;
            ②这里的i取值为0、1,“:=”表示赋值;
            ③在参数更新时,一定要满足同步更新Θi;
            ④α表示学习效率,相当于参数每次移动的幅度,取值太大或者太小都不行。
            
 (3)使用方法:将代价函数带入梯度下降法进行运算,不断同步更新参数,直到参数稳定不变,即可找到目标函数h(x)。
        强调:梯度下降算法得到的是局部最优解,表面上似乎不能得到最优解,但对于线性回归问题来说,局部最优就是全局最优。
        
 (4)这里的梯度下降法准确的来说应该是Batch梯度算法,是用来最小化线性回归的代价函数的算法,每一次梯度下降都遍历整个训练集的所有样本。

4.章节总结

    本章通过对单变量线性回归的学习,知道了如何利用代价函数去确定目标函数的参数,这中间运用了Batch梯度算法来实现参数更新使得代价函数J(k,b)最小,也就是得到了准确的目标函数。

猜你喜欢

转载自blog.csdn.net/qq_42453280/article/details/83049804
今日推荐