梯度下降及矩阵分解

          

什么是梯度下降:  

梯度下降可以理解为你站在山的某处,想要下山,此时最快的下山方式就是环顾四周,哪里最陡峭,朝哪里下山,一直执行这个策略,在第N个循环后,你就到达了山的最低处。

在这里不得不提一下一个重要的概念,下山的步长——a,当步长过于大时,就会出现下面这种情况:

 

 

此时易错过山底,a特别小时虽然精准,但计算量大,耗时长,所以a的大小至关重要,要选择合适的大小。

看完上面的描述你可能依然有疑惑,天哪,这是什么鬼??

 

那我们就从如何找到一元函数的最小值来彻底了解梯度下降法

首先,任意给一个出发点xold和a,朝函数变化最快的反方向前进,不少同学会问,为什么朝反方向前进,因为我们要找的是最小值,朝正方向前进找的是最大值,我们当然要朝反方向前进了,所以我们称之为梯度下降而不是上升,那函数变化最快的方向是什么呢?当然是求导了,求导后朝反方向前进a后,

此时的位置变成了xnew=xold-af'(x),此时我们要判断是否找到最小值,即判断Δx=af'(x)是否小于ε(一个非常小的数),

为什么Δx可以决定是否找到最小值呢?当然是因为我们越靠近最小值时,f'(x)就越来越接近0了,Δx就变得非常小了。

如果Δx大于ε,那就在xnew的位置上继续找方向前进,直到Δx小于ε或是迭代次数达到最大。

 接下来我们就来了解一下什么是矩阵分解

 这是一个R[5,4]的矩阵图,U代表着不同的观影者,D代表着不同的电影,当你看完电影时,我们会对其做个评分,当然,当我们心情不好时我们懒得对其做评分,那么我们可以用矩阵分解的方法来进行预测没有评分的评分。

步骤如下:

 

聪明的你,看到要求损失函数的最小值,会想到什么呢?

当然是梯度下降法了。

 

不过用这种方法会出现过拟合的问题,因此我们可以增加正则化项。

与前面的方法相比,只不过是增加了一个正则化项。

 通过上面的方法我们得到了P和Q的矩阵,从而就能得到观影者i对电影j的评分。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值