机器学习笔记-回归(Regression)

Regression:Output a scalar。

Regression可以用于预测股票市场、无人驾驶、推荐系统,这里的例子是可以预测宝可梦的CP值

Step 1:Model

所谓的Model就是a set of function。在这个例子中,我们可以把function写成
y=b+w⋅xcp,因为b跟w可以带入各种值,所以function有无穷多个。这个model我们称之为Linear model:y=b+∑wi⋅xi (wi:weight,b:bias).

Step 2:Goodness of Function

首先准备好training data
在这里插入图片描述
我们需要使用Loss Function衡量function的效果好坏
Loss Function L: Input:a function,output:how bad it is
此时,可以如下定义Loss Function:

在这里插入图片描述
将Loss Function可视化绘图,图上每个点就是一个function,图上蓝色代表loss value很小,红色代表loss value很大
在这里插入图片描述

Step 3:Best Function

在这里插入图片描述
可以用线性代数迅速求得解。还可以使用更general的方法,能够用在各种不同的task上,这个方法就是Gradient Descent(梯度下降).
在这里插入图片描述

Gradient Descent首先随机选取初始值,然后计算此处切线的斜率,斜率如果小于0,如图上小猴子位置,显然切线左边高右边低,此时应该把参数向右边移以减少Loss的值。如果斜率大于0,说明切线左边低右边高,应该把参数向左边移以减少Loss的值。

在这里插入图片描述
learning rate控制学习速度的快慢
在这里插入图片描述
有时候经过多次迭代会停在local minima,不是我们想要的global minima,所以不同的随机会得到不同的结果,很看人品

在这里插入图片描述
当有两个参数的时候,Gradient Descent的过程如上图所示

在这里插入图片描述
Gradient Descent可视化过程如上图所示。颜色代表Loss的值,越深代表值越小
在这里插入图片描述
参数如果走到一个saddle point(鞍点),Gradient Descent也会停下来

公式推导

在这里插入图片描述
How’s the results?
在这里插入图片描述
可以看出,在Testing Data的error略大于Training Data的error

Selecting another Model
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据上面的模型我们发现, 越复杂的model在训练集上的error越小
在这里插入图片描述
一个比较复杂的model并不一定总是在testing data上给我们比较好的performance。

Overfitting就是model在training data上表现很好,在testing data上表现不好。
应对Overfitting的方法:

  • 收集更多的数据。

  • 以前的模型有一些隐藏的因素没有考虑进去。所以我们需要重新设计一番

根据宝可梦种类采用不同的function
在这里插入图片描述

Regularization(正则化)

我们使用新的Loss Function:

使用这个Loss Function找到的最好的function不止可以让L最小,同时还要是w很小的function。w很小的Function意味着Function是smooth(平滑)的。我们相信在多数的状况下,smoother function更像是正确的function。λ设置的大一些,找到的function就会越smooth。
在这里插入图片描述
从上图中可以发现,λ越大,Training Error越大。
我们希望选到smooth function,但是不要too smooth。
选择λ,获得最好的model。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值