机器学习(二):线性回归、代价函数和代价函数可视化

一、线性回归Linear regression

下图为单变量线性回归算法,X是训练集的数据点,f(x)是模型
 

二、代价函数Cost function

          以线性回归算法为例,输入一组数据训练集(x,y),训练出模型,预测输入x对应的输出值\hat{y}。预测的输出值和实际输出值会存在误差,因此用Cost function来表示此种误差


三、常用符号含义

  •     m:训练集的数据个数
  •     (x^i,y^i )=(训练集的第i个输入,训练集的第i个实际输出)
  •     x:输入
  •     y:实际输出
  •     \hat{y}:预测输出
  •     f:模型

四、平均平方误差代价函数

       平均平方误差代价函数是线性回归常用的代价函数。训练集一共m个数据,计算每个数据的预测输出和实际输出的误差平方,求和后再除以m,再除以2,如下所示:
 
        引入【除以2】的主要目的是为了在求导数的过程中,当计算平方误差对模型参数的梯度时,能够消除2的系数,使得计算更加简洁。(具体原理见“梯度下降”)


五、代价函数可视化

        选取多组w,b,计算该w,b下的代价函数值J。把w,b,J画图,可以看到代价函数J随w,b的变化呈三维的碗状。
 
       这个三维图可以用类似等高线的方式,转化为等值线,每一个圈代表J值相同,最中心的点代表J值最小,如下图所示。
 

六、代价函数可视化实践

1、工具:Jupyter Lab
2、官网:https://jupyter.org/
3、步骤
    (1)安装:pip install jupyterlab
    (2)添加环境变量:pip show jupyterlab获取jupyterlab安装路径,path=安装路径/../Scripts,path下有jupyter-lab.exe,把该path添加到环境变量
    (3)安装交互式插件:pip install jupyterlab_widgets,安装此插件后,代码里插入:%matplotlib widget,代码生成的图片会变成交互式的,即可选取图片的点、选择图片。
    (4)启动:命令行跳转至jupyter可执行文件目录下,命令行执行jupyter-lab
    (5)运行代码:选择代码块,Shift+Enter运行该代码块。(踩坑记录:一个文件里有多个相互依赖的代码块时,需要顺序执行依赖的代码块,因为每个代码块相当于一个独立脚本,使用的是同一份存储空间)
   

以下是线性回归模型和代价函数的运行结果:
 

学习来源:B站吴恩达机器学习:3.1-3.6节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值