生活工程体验信仰哲学精神
投稿投诉
精神世界
探索历史
哲学文学
艺术价值
信仰创造
境界审美
体验技术
技能工具
工程信息
医学生产
生活运用
操作能力

策略产品经理必读系列第三讲梯度下降法

2月10日 失了心投稿
  编辑导语:机器学习是策略产品经理需要了解的一个方面,而梯度下降法则是学习机器学习必须了解的思想,本文作者通过一个案例介绍了梯度下降法,一起来看一下吧。
  策略产品经理必须要对机器学习有一定的了解,而梯度下降法则是学习机器学习必须要了解的思想,本篇通过一个生动的案例来为大家介绍到底什么是梯度下降法。
  01引入
  我们先从一个案例入手,下图是一组上海市静安区的房价信息:
  我们用Python在坐标系上面画出来如下图:
  我们现在想拟合一个线性函数来表示房屋面积和房价的关系。我们初中都学过的一元一次函数表达式为:ykxb(k0)。很明显不可能有一对组合(k,b)全部经过上图7个点,我们只能尽可能地找到一对组合,使得该线性函数离上图7个点的总距离最近。
  如上图所示,实际值与预测值之间差异的均方差我们把它称为损失函数,也有叫做成本函数或者代价函数的,意义都一样。我们希望找到一个组合(k,b)可以使得损失函数的值最小。
  上述只有一个输入变量x,如果我们多加入几个输入变量,比如卧室的数量、离最近地铁站的距离。最终目标变量和损失函数我们用下述函数表达式来表达:
  现在我们的任务就是求出一组,在已知【x,y】的前提下使得损失函数的值最小。那么如何计算出了,使用什么方法了?我们首先回到损失函数表达式本身,损失函数本身是一个yx2的形式,高中数学大家应该都学过这是一个开口向上的抛物线方程,大概长下图这样:
  我们如何找到这个函数的最低点?上图是一个二维图,我们很轻松就可以肉眼看出x0时,y最小。如果维度更多,比如z(x10)2(y10)2,则得到下图:
  我们如何定位出最小值,特别强调一点,这里的x是一个“大”参数的概念,x应该等于下述公式
  大家要明确上图横坐标是x和y,函数表达式里的已经知道了,所以我们是找到最合适的(x,y)使得函数值最小。如果我们现在是已知样本(x,y),那么上图的变量就变为了0和i,并不是xi,我们是以0和i作为输入变量做的图,xi和yi都是已知的固定值,这一点必须明确了。上图的纵坐标的值就变为损失函数的值。
  我们的问题是已知样本的坐标(x,y),来求解一组参数,使得损失函数的值最小。我们如何找到上图中的最低点?因为找到最低点,那么最低点对应的横坐标所有维度就是我们想得到的0和i,而纵坐标就是损失函数的最小值。找到最低点所有答案就全部解出来了。
  现在问题来了?有没有一种算法让我们可以慢慢定位出最小值,这个算法就是梯度下降法。
  02梯度下降法简介
  1。梯度下降法的思想
  我们首先介绍梯度下降法的整体思想。假设你现在站在某个山峰的峰顶,你要在天黑前到达山峰的最低点,那里有食品水源供给站,可以进行能量补充。你不需要考虑下山的安全性,即使选择最陡峭的悬崖下山,你也可以全身而退,那么如何下山最快了?
  最快的方法就是以当前的位置为基准,寻找该位置最陡峭的地方,然后沿该方向往下走。走一段距离后,再以当前位置为基准,重新寻找最陡峭的地方,一直重复最终我们就可以到达最低点。我们需要不停地去重新定位最陡峭的地方,这样才不会限于局部最优。
  那么整个下山过程中我们会面临两个问题:
  如何测量山峰的“陡峭”程度
  每一次走多长距离后重新进行陡峭程度测量;走太长,那么整体的测量次数就会比较少,可能会导致走的并不是最佳路线,错过了最低点。走太短,测量次数过于频繁,整体耗时太长,还没有到达食品供给站就已经GG了。这里的步长如何设置?
  Part1里面介绍了如何从一个开口向上的抛物线高点定位到最低点的问题和下山的场景是完全类似的,抛物线就相当于一个山峰,我们的目标就是找到抛物线的最低点,也就是山底。
  最快的下山方式就是找到当前位置最陡峭的方向,然后沿着此方向向下走,对应到抛物线中,就是计算给定点的梯度,然后朝着梯度相反的方向(Part2。3里面会解释为什么是朝着梯度相反的方向),就能让抛物线值下降的最快。同时我们也要和下山一样,不停地定位新位置,再计算新位置的梯度,然后按照新方向下降,最后慢慢定位到抛物线的最低点。
  2。梯度下降法算法
  Part2。1里面已经介绍了梯度下降法的思想,遗留了两个问题。第一就是如何计算“陡峭”程度,我们这里把它叫做梯度,我们用J来代替。第二个也就是步长问题,我们用一个学习率来代表这个步长,越大代表步长越大。知道了这两个值,我们如何去得到参数的更新表达式了?
  J是关于的一个函数,假设初始时我们在1这个位置,要从这个点走到J的最小值点,也就是山底。首先我们先确定前进的方向,也就是梯度的反向“J”,然后走一段距离的步长,也就是,走完这个段步长,就到达了2这个点了。表达式如下图:
  我们按照上述表达式一直不停地更新的值,一直到收敛不变为止,当我们到达山底,此时函数的梯度就是0了,值也就不会再更新了,因为表达式的后半部分一直是0了。
  整个下降过程中损失函数的值是一定在减少,但是我们想学习出来的参数值不一定一直在减小。因为我们需要找到损失函数最小时的坐标点,这个坐标点的坐标不一定是原点,很可能是(2,3)甚至是(4,6),我们找到的是最合适的值使得损失函数最小。下图我们用一个例子来进行说明:
  上图的最低点很明显就是原点,我们通过梯度下降法来逼近这个最低点。我们可以看到损失函数的值在一直减少,的值也在往0这个值进行收敛。
  3。梯度下降法数学计算
  Part1和2介绍了梯度下降的思想和更新的表达式,现在我们从数学层面进行解释:
  1)为什么是向梯度相反的方向下降
  上图应该很形象地显示为什么要朝着梯度的反方向了。梯度是一个向量,梯度的方向是函数在指定点上升最快的方向,那么梯度的反方向自然是下降最快的方向了。
  2)泛化的参数更新公式
  Part2。2里面的例子我们选择的是一个最简单的函数表达式,参数分为两种,一种是和输入变量x配对的参数i,一种是固定的偏差0。我们用已知的样本数据(x,y)来求解出使得损失函数最小的一组参数。下面我们来计算一个通用泛化的参数更新表达式。我们只需要用到高中数学中的导数知识即可,朋友们相信我真的很easy。
  下图是对和输入变量x配对的参数i更新表达式:
  下图是对固定的偏差0的更新表达式:
  上面的数学过程也就是高中我们学习导数里面最简单的求导过程了。那么至此我们也就将梯度下降算法的思想和数学解释全部介绍完了。
  4。梯度下降法分类
  Part2。3里面的公式大家也看到了我们要借助样本的(x,y)的数据来进行参数的更新,如果现在样本有100条数据,我们如何来更新。正常情况下,我们更新的方式有两种:
  1)随机梯度下降(StochasticGradientDescent)
  我们每次只使用单个训练样本来更新参数,依次遍历训练集,而不是一次更新中考虑所有的样本。就像开头介绍那7条房价数据,我们一个一个来计算,计算一次更新一次,直到收敛或者达到后期更新幅度已经小于我们设置的阀值。
  2)批量梯度下降(BatchGradientDescent)
  我们每次更新都遍历训练集中所有的样本,以它们的预测误差之和为依据更新。我们会一次性将7条样本数据的预测误差都汇总,然后进行一次更新。更新完以后,继续以7条样本数据的预测误差之和进行汇总,再更新,直到收敛或者达到后期更新幅度已经小于我们设置的阀值。
  当训练样本数很大时,批量梯度下降的每次更新都会是计算量很大的操作,而随机梯度下降可以利用单个训练样本立即更新,因此随机梯度下降通常是一个更快的方法。但随机梯度下降也有一个缺点,那就是可能不会收敛,而是在最小值附近振荡,但在实际中也都会得到一个足够好的近似。
  所以实际情况下,我们一般不用固定的学习率,而是让它随着算法的运行逐渐减小到零,也就是在接近“山底”的时候慢慢减小下降的“步幅”,换成用“小碎步”走,这样它就更容易收敛于全局最小值而不是围绕它振荡了。
  03梯度下降法Python实践
  以下就是通过实际运行程序得到的相关结果图。
  1。单变量:yx2求最低点
  假设X的初始值是10,我们让程序迭代10次得到的结果如下图:
  2。多变量:z(x10)2(y10)2求最低点
  假设X和Y的初始值都是20,我们让模型迭代100次得到的效果如下图:
  3。根据给定样本求解出最佳组合
  假设样本中X和Y的值如下:
  x〔1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20〕
  y〔3,4,5,5,2,4,7,8,11,8,10,11,13,13,16,17,16,17,18,20〕
  我们希望找到一组参数0和1来拟合一个X和Y之间的最优线性模型,最终拟合结果如下:
  本篇文章前半部分通俗易懂地将整个梯度下降算法全面地讲解了一遍,后半部分通过Python实际落地了各种案例,希望看完后大家对于梯度下降法有一个全面且具象的了解。
  本文由KingJames原创发布于人人都是产品经理。未经许可,禁止转载。
  题图来自Unsplash,基于CC0协议
投诉 评论 转载

寄大件快递的省钱小妙招!!承运网让你退货无忧!热闻聚热点网 大家在毕业,搬家,换工作的时候往往需要寄很大件的快递,大件的快递邮寄特别麻烦,整理打包是一方面,另一方面就是快递费的问题,很多朋友下单时不知道怎么省钱,老老实实的掏了一百多的快……重庆母城外,这个叫做江北城的地方,有着你不知道的故事热议聚热 一座城市最能唤起人们记忆的通常是它那历史悠久,具有地域特色的老街区、老建筑,重庆老城也不例外。这是何智亚先生在《重庆老城》中开篇的一句话。重庆城,是山城文化的发源地,因此……我国经济会超过美国吗?有机构预测:我国这四大领域将取得突破热 虽然现在我国仍然是处于发展中国家之列,但是现在我国已经是世界第二大经济体了,经济发展足以和美国进行对比。作为世界第一大经济体的美国,他的地位一直以来都是比较稳固的,但很多人在我……《庆余年》为什么这么火?说说你的看法?热闻聚热点网 事出有因;这部剧红火有以下几点原因:一、新老戏骨齐上映,《庆余年》此剧在挑选演员花了不少心思;既有老戏骨李沁。肖战。张若昀这样的新生代演员,又有吴刚、陈道明、李小冉这样的老戏骨……社保政策调整汇总,七大类18个政策,在职和退休都有影响热评聚 社保知识,小龙虾每日分享第515期,欢迎关注!社保问题是大家关注的重点,今天和大家总结下目前的社保各类政策,涉及七大类18个政策!1、城乡居民养老保险,含国家普调、……如何看待油罐车爆炸赔偿问题?热文聚热点网 这次沈海高速台州段油罐车爆炸真的是太严重了!不是个人或者所属公司能赔付得起的。截止2020年6月14日,12。59分已經死亡9个,伤112个。因为这次爆炸位置靠近民房位置较近,……异性之间,有过以下三种“亲密举动”,往往关系就暧昧了热文聚热 文叶飞飞yff图源于网络我是叶飞飞yff,一个非著名情感导师,写走心的情感文字,希望用有温度的文字,给你带来一些心灵上的慰藉。异性关系,是最敏感的一种关系,稍……他的音乐带你找到心灵的净土热评聚热点网 李杰的音乐仿佛具有抚慰人心的力量,像一股清泉,冲刷着心灵,听着让人舒坦、透亮,仿佛置身世外桃源~7月25日21:30,看《乡约》,关注主持人肖东坡,一起聆听时代的声音。上……终身教育:深入职业领域,面向未来的教育管理,具有六大发展趋势 文郭朝刚人非生而知之,而是学而知之。在人类历史的大洪流中,人作为决定性因素,特别是卓越人物的出现,以及人民群众的积极学习与实践推动了社会的进步与持续发展。学习力,就……策略产品经理必读系列第三讲梯度下降法热传聚热点网 编辑导语:机器学习是策略产品经理需要了解的一个方面,而梯度下降法则是学习机器学习必须了解的思想,本文作者通过一个案例介绍了梯度下降法,一起来看一下吧。策略产品经理必须要对……为什么漫改真人剧不穿cosplay服装?从定位开始动漫就已经 哈喽,大家好,我是木子。近年来各种各样的漫改真人剧纷纷涌现出来,从早期的《斗破苍穹》、《青云志》,再到现在的《斗罗大陆》以及即将开播的《狐妖小红娘》等等,各种各样的动漫作……从《城池营垒》到《断桥》,马思纯被白敬亭王俊凯粉丝吐槽拖后腿 说起马思纯这位85后的娱乐圈女星,给人的感觉有点复杂,不好定位。马思纯其实长得还算漂亮,也算有点天赋和实力,而且资源很好,很小就跟着姨妈蒋雯丽进入影视圈,也算星二代出道,……
《造梦之家》开幕海浪电影周斯皮尔伯格写信致谢热议聚热点网 以妇女节为题的作文热传聚热点网 书香暑假六年级作文热议聚热点网 五云山赏银杏作文热博聚热点网 家乡的桥小学作文200字热博聚热点网 夜晚的作文热闻聚热点网 逃不开的大势:关于未来世界的50个超级趋势热文聚热点网 元宵节的作文500字热博聚热点网 冬至的作文800字热议聚热点网 四季之美六年级作文热议聚热点网 夏天里的回忆作文热博聚热点网 海的怀抱热博聚热点网
和谐生活好夫妻女人吃维生素能美白祛斑吗Herms爱马仕BirkinHautCourroies傻傻分电脑显示屏不亮但是主机已开机什么原因该怎么解决震旦(震旦2字见过吗?)醉驾对子女有什么影响20207个项目获得奖补资金青岛发展影视产业不玩虚的要如何预防电脑辐射人间真情和平统一造句用和平统一造句大全大清灭亡后,格格们都嫁给了谁?你认识的大明星其实都是皇室子孙秋季时的一年级班主任工作计划

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找新乡渭南铜川松江山南雅安松原荃湾淮北昭通平凉鞍山赤峰苗栗保亭池州渝北株洲陇南濮阳三沙秀山密云鸡西