学习笔记-机器学习-(1)入门、线性回归算法

2019-03-07  本文已影响0人  饼干和蛋糕

吴恩达-机器学习课程--01and02: Introduction, Regression Analysis, and Gradient Descent的学习总结:

监督学习(Supervised learning):从有标签的训练数据中学习模型,以便对新数据集做出预测。“监督”指已知样本所需要输出的信号或标签。预测出连续型数值的叫回归(regression),预测出离散分类标签的叫分类(classification)。

无监督学习(Unsupervised learning):处理无标签或结构未知的数据,探索数据结构提取有意义的信息。例如聚类(clustering)可以将无标签数据分成有意义的组群。


线性回归算法

用线性回归算法训练模型预测房屋价格:

房屋大小与价格的数据展示

监督学习算法的工作方式:

监督学习算法的工作方式

h(hypothesis)假设函数是x到y的函数映射:

以根据房屋大小预测房屋价格为例,建立单变量线性回归模型如下:

单变量线性回归模型

为了训练出尽量拟合训练数据的模型,需要hθ(x)与真实的y值差异要小,可转化为最小化下式的问题(1/2m是处于计算便利性考虑,和1/m算出的最小值没差)

线性回归代价函数 最小化代价函数

代价函数(cost function):任何能够衡量模型预测出来的值h(θ)与真实值y之间的差异的函数都可以叫做代价函数。训练模型的过程就是优化代价函数的过程。平方误差代价函数(squared error function)是解决回归问题的最常用手段。

---对于每种算法来说,代价函数不是唯一的;

---代价函数是参数θ的函数;

下面简化参数,让θ0=0,以直观理解:

简化 最小化目标

如果训练集在y=x线上,可计算θ1= 1,J(θ1) = 0;θ1= 0.5  J(θ1) ~= 0.58 ;θ1= 0  J(θ1) ~ =2.3       可画出下图,θ1=0时,J(θ1)最小:

θ1vsJ(θ1)

梯度下降

 梯度下降法的思想:

    1)首先对θ赋值,这个值可以是随机的;

    2)一点点改变θ的值(所有的θ需要同时更新),使得J(θ)按梯度下降最快的方向进行减少;

    3)不断更新θi的值直到J(θ)收敛,(可能是局部最小值)。可以设置阈值,达到阈值即算收敛,但较困难。可通过查看J(θ)与迭代次数的图来确定。

梯度下降算法定义

α为学习率(learning rate),通过下图理解(只有参数θ1)

如某点切线如红线所示,即α后的倒数为正,α也为正,θ1-正数,θ1会变小,往J(θ1)最小的方向运行。

理解learning rate

learning rate需要人工手动设置,可能需要尝试很多次。

    1)当设置过小时,由于沿着最陡峭方向每次迈进的步伐太小,而导致收敛时间过长;

    2)当设置过大时,很有可能会直接越过最小值,而无法得到J(θ)的最小值。

以下两种情况可能需要设置更小的learning rate。

将之前的代价函数与梯度下降法结合:

代价函数 梯度下降法 求导后

线性回归的代价函数总是凸函数,总是能得到全局最优解

上一篇下一篇

猜你喜欢

热点阅读