学习笔记-机器学习-(1)入门、线性回归算法
吴恩达-机器学习课程--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 ratelearning rate需要人工手动设置,可能需要尝试很多次。
1)当设置过小时,由于沿着最陡峭方向每次迈进的步伐太小,而导致收敛时间过长;
2)当设置过大时,很有可能会直接越过最小值,而无法得到J(θ)的最小值。
以下两种情况可能需要设置更小的learning rate。
将之前的代价函数与梯度下降法结合:
代价函数 梯度下降法 求导后线性回归的代价函数总是凸函数,总是能得到全局最优解