男人这东西txt下载LR带好吗

超详细lightroom后期教程!~你的后期启蒙之旅!~
我的图书馆
超详细lightroom后期教程!~你的后期启蒙之旅!~
此篇教程为基础篇,主要是介绍一下我们常用的调色软件lightroom【推荐使用LR】很多新人刚刚入摄影圈,准备学习后期的时候,都会受到PS的名气或者周边人的劝告等影响而去学习PS,我个人呢其实是不推荐的,因为PS功能太多也没有什么头绪,新手刚刚开始接触时,会不知道该如何做,而且因为每一个教程也太散太乱,不适合新手启蒙。所以我在这里还是更推荐大家使用ADOBE的另一款软件lightroom。【推荐原因】相比与PS,它有完善的照片管理功能和简明的光影调色模块,他的功能确实也更加适合新手,毕竟我们对于一张照片的调节自然是最先从光影开始的。(从下图可以看出LR的简单粗暴界面,功能都写脸上了)其实读完此教程已经能处理很多图片的能力。不过所谓的调色,也要有基础才能调的好,所以大家还是先熟悉一下基础功能,然后再去学各种调色风格比较好。【前言】如今网上LR教程品质良莠不齐,而且大部分范围也只囊括了LR的一小部分功能,详细程度更是令人堪忧,简略而又跳跃,新手很容易摸不着头脑。我自己也是这么一路走过来的,希望尽自己的微薄之力,让大家更好的上手Lightroom。---本教程贴由我一个字一个字的码出来的,部分内容整合自其他零散的教程,但绝无任何复制粘贴,全都是我个人经验总结。---转载前请先艾特我一下,并注明出处,谢谢。【教程目录】1---LR预设分享。2---关于RAW和格式选择。3--如何导入照片、预设。 4---裁剪。5---白平衡。6---曝光与黑白场。7---清晰度与锐化。8---色彩,hsl。9---分离色调。10---细节与效果。11---如何导出。12---练手素材。关于色调曲线这东西,我会放在下一个教程里面说(如果有的话囧)一是因为它太过复杂,二是和PS一起讲更容易理解。【感谢】感谢一路走来看过的那么多大神的教程,你们是真正的导师。尤其是墨迹和李涛老湿,都算是我的后期启蒙者。尤其推荐李涛老湿的PS摄影高高手系列,虽然要钱,但是真的是精品。【我的微博和LOFTER】微博:简-水丘沙 ,简是我的工作室名字,现在还没正式开放。大家可以先加我,以后有问题可以相互讨论,不过我不是大神,亲喷。lofter:shuiqiusha 主要活动场所,发图都是lofter首发,以后也会在里面写些简单的调色小技巧和推推音乐之类的。二,关于相机格式的选择。绝大部分刚刚拿到相机的新手都不知道为什么格式会有两个选项,一个RAW一个JPG。然后因为对于JPG更理解一些,就都选择JPG模式了。嘛,在这里,我还是推荐大家使用RAW格式的。为什么呢?【RAW格式的介绍】RAW格式其实就是相机对于光线的原始记录,套用百度百科的话就是‘‘CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据。’’别废话那么多,你只要知道其更适合后期而且宽容度更高(宽容度就是一张照片里面所能容纳的最大光比,光比就是最强光线的亮度是最弱光线的多少倍,简单来说宽容度高的话,那么一张照片里面的阴影和高光能同时有丰富的细节),而且在多次修改中不会损伤画质就好了。【例子】下面是我拍的一张废图,就用来作为演示吧。这张图事先准备了两个格式RAW与JPG,然后同时进行调整。可以看出的是,原图阴影基本是黑的了。用同样的数据,Raw轻松把阴影提亮,而JPG格式下的图片阴影处几乎毫无改变。而且如果看局部截图,RAW的画质基本可用,而JPG已经布满噪点。这便是我为何强烈推荐RAW格式的原因。【原图几乎全黑】【JPG格式下的调试并无卵用】【RAW格式下,变得如同白天一样通透】三,如何导入照片和预设。【导入照片】其实有好几种办法,不过我们用最简单的就好。看下图~【图一】点击展开,查看完整图片点击这个按键后,会出现下图,然后自己选择你想要导入的图所在的文件夹即可,如果是插了卡,LR会自动识别出你的卡。并且导入过得图不会再被导入。【图二】你会发现导入的图按照你的拍摄时间被分好类了。好啦,你现在已经学会如何导入了,希望你能养成良好的图片管理习惯~~【导入预设】如果资源没有被爆掉的话,相信你们应该拿到预设了,那么接下来就教你们如何导入预设1,先点击选择刚才导入的照片2,点右上角的‘修改照片’,在这里说一下,LR平时用到的也就‘图库’和‘修改照片’两个模块,其他很少用.....至少我没用到过。3,在左边的预设栏里,右键然后选择新建文件夹,然后输入你想要的名字。4,右键你刚刚建立的分类栏,你就会看到‘导入’的选项,点‘导入’后,找到‘解压后’的预设,就可以把预设拉进LR啦。【图三】【图四】点击左侧的导入,便可以把你想要的预算导入了四,裁剪。在我们外出拍照的时候,拍摄条件不一定时时刻刻都那么的好,有时候各种情况限制,构图不够好,怎么办?不要紧,如果你轻微的构图失误,用LR绝对可以完美解决下面我会用教你怎么用裁剪。如下图,裁剪的按钮在这里,直方图下面的第一个按钮,可以看到,点了‘裁切’之后出现了个九宫格,在里面的部分就是你想要留下的部分。用这个,就能帮助你第二次构图啦~(PS,裁剪后如果不满意重新点击一次裁剪,还可以复原哟)图1。而且你也可以选择裁剪比例,也许16比9的比例能让你的照片看上去更有电影镜头感。图2。不过我个人并不是特别推荐后期裁剪,固然这个能帮助你更好的构图,但是还是很损像素和画质的,所以如果可以的话,还是尽量前期完成构图的好。PS,截图工具的右边是污点修复工具,能够简单地祛除掉斑点污点等。五,白平衡。【重点】!白平衡是摄影里面很重要的,简单的说,白平衡是把‘照片里的白色还原为真正的白色’。通俗的理解白色是不含有色彩成份的亮度。人眼所见到的白色或其他颜色同物体本身的固有色、光源的色温、物体的反射或透射特性、人眼的视觉感应等诸多因素有关。举个简单的例子,当有色光照射到消色物体时,物体反射光颜色与入射光颜色相同。【图一】比如说在日光灯的房间里拍摄的影像会显得发绿,在室内钨丝灯光下拍摄出来的景物就会偏黄,而在日光阴影处拍摄到的照片则莫名其妙地偏蓝,其原因就在于“白平衡”的设置上。【图二】出现这些现象是因为单反的白平衡在一些情况会不准。那我们要做的,就是把【偏色的白变成真正的白色】。(其实同样能还原其他被干扰的颜色。)【图三】可以从上图发现白平衡分两个滑块,一个是色温,一个是色调,色温的变化是从蓝到黄,色调是从绿到紫,至于为毛线是这样,,,牵扯到了其他复杂的东西,不过我们这里不需要知道,所以就跳过了。那么,我们到底怎么调整白平衡的【平衡点】呢?第一步先知道【吸管】在哪。然后你用吸管去点击图上的部位,如果你选蓝的点,照片就会变黄;选黄的点,照片就会变蓝。选绿变紫,选紫变绿,,,就如同我们在白平衡里面对【色温】和【色调】进行改变一样。这就是颜色的魔术,但是这都不是我们想要的【平衡点】,平衡点要找RGB三原色平衡的点。所谓的三原色平衡点,便是【灰】,能让LR帮你挽回白平衡的不准。(原理在这里还是不赘述了,有兴趣的可以百度中性灰,并结合色光混合原理,思考为何选取中性灰)那到底怎么实践呢?请看图,这张图是去年我用D610拍的一个朋友,简直黄的惊人(捂脸),这也是我为啥放弃尼康的一个原因了(后来事实证明其实佳能的白平衡也不准。。)【图四】可以看出在微调白平衡后,整张照片都通透干净了很多!而这,只不过是后期的第一个开端而已!(当然也是非常重要的开端)如果白平衡不调好,你后期调了其他颜色,你的图只会越偏越远,有些场景可以有例外,日落什么的。当你有点后期功底,并有了自己的想法后,你就可以自己运用白平衡创作出不同的感觉了,就算是偏色,调出来的图片看起来也会有一种舒服的感觉,这是后话了。【图五图六】六,曝光与黑白场。那如何合理的曝光?简单的来说,就是平衡图片的亮与暗。首先,你要理解每个选项的概念:【曝光度】这是应用于整个画面中的中性灰部分,调整曝光度对白色的影响更大,对纯黑色的影响较小。【对比度】调整对比度,即黑的更黑,白的更白,深色的更深,浅色的更浅【高光】调整画面曝光度较高的部分【阴影】调整画面曝光度较低的部分【白色色阶】调整画面最亮的部分,就如同白纸一般,几乎看不到信息【黑色色阶】调整画面最暗的部分,就如同墨一般,几乎看不到信息不同的数据负责画面不同的部分,那到底怎么样结合才能得到最佳的组合的曝光呢?像前面说的,不同的照片,不同的风格。也许这样简单的概括,大家还没什么概念,那我们贴上一张直方图。【图一】直方图代表了当前所有有效像素的分布。从上面可以看到,直方图被我分成了4个部分,分别是‘高光’‘阴影’‘黑色色阶’和‘白色色阶’,还有一个‘曝光’凌驾于‘高光’和‘阴影’之间,意思就是调节‘曝光’能够同时影响到这两个属性之间的中性灰部分。直方图的作用主要是显示图片的各种曝光属性的情况。而如图所示(被我用红色画笔画圈的部分),左上角和右上角分别有一个向上的箭头,点左边的箭头是提示你严重欠曝的区域,而右边是提示你严重过曝的区域,欠曝提醒为‘蓝色’,过曝为‘红色’。【图二】这张图是明显的降档拍摄方法,整个像素都主要集中在阴影和黑色色阶里,可以看到我这张图的底部几乎全都处于严重欠曝了。不过这张片子虽然是欠曝,并不代表我们就是要通过曝光加大去修改这张片子,因为增加曝光,只不过是把灰度的地方给拉亮了,虽然曝事实上亮部信息并没有被保存下来。【图三】事实上我的习惯是从下往上,然后再从上往下调,也就是先动黑色色阶,最后曝光,然后调节完曝光后看整体有没有再需要微调的。【图四】这里我首先是大幅度提升了黑色色阶和阴影,让之前全部集中在暗部的像素被提出来,然后加了白色色阶降低了高光,这是让天空的云彩能有比较高的对比度,彰显火烧云的色彩浓郁,最后再稍微加了一点曝光和对比度。其实说这些,还举例子,就是告诉你,该怎么调,心里要有个底,不要一打开图就乱拉数据,循序渐进。当然你们在刚刚接触LR的时候可能不一定能很清晰的形成想法,尽量去多练,自己多修几次,就有充足的创意了。我这里就不继续放图献丑了,囧。七,清晰度与锐化。(连带画笔局部调节)很多首先要说的是,清晰度以及鲜艳度,饱和度,这三个选项非常好用,但是,很多新人在调节了这三样属性后惨不忍睹,为什么呢?听我给你细细道来这三个属性的特性。【清晰度】---清晰度类似与锐化,与照片里面的【细节】挂钩,但是!它与锐化是有很大差别的!清晰度是寻找亮度差和色彩差的边缘(其实就是物体的边缘),然后以这些边缘为中心,进行大幅度的对比度改变。【锐化】锐化是在亮度差和色彩差的边缘增加两道黑白线,以此来增加边缘的对比度,从而创造更大的反差。所以说锐化比增加清晰度要更精细一些。 那是不是增加清晰度,就一定没有锐化好呢?并不是的,清晰度的边缘大幅度对比度改变也有很好的改变。 就是会把照片里面的元素变得立体,比如说风景照,黑白照,人文纪实照就特别适合增加适量的清晰度。为什么说是适量?根据我的观察:(以下情况也会出现在大幅度锐化中,因为原理相似)---第一,如果清晰度加太猛,会使得照片有一种‘脏脏’的感觉,喜不喜欢看你个人感觉。---第二,因为增加清晰就是在增加边缘对比度,会使得明暗对比加大,会造成一个现象:边缘会出现很假的间隙。---第三,图片变得粗糙无比。放大之后画面不可用。【图一】适量加了一些清晰度,增加了食物的质感,也让其更加立体。【图二】大幅度增加清晰度,图片会变得很压抑,对比反差大,有脏脏的感觉,而且边缘和画质都变得很差。【图三】大幅度减少清晰度,有一种梦幻的模糊感(才怪),也不好看,所以任何调节都要看图而适量,轻微的降低清晰度有时候有柔光和磨皮的效果(然而并不好用,想要磨皮和柔光还是老老实实学PS吧)那么假如我需要调节这个图片的部分而不影像整个图片该怎么办?我们就要用到‘画笔’工具。【图5】点击展开,查看完整图片点击画笔工具后会出现如上图的调节框,你可以先进行调试后去糊图片一脸,也可以先糊脸确定范围再微调。涂完后会生成一个小黑点,鼠标放上去就会形成红色的一个蒙版,这代表你这次画笔涂抹的范围。邮件可以删除这次画笔的微调。【图6】八,色彩和HSL关于鲜艳度和饱和度,他们都是用来调整色彩方面的参数,提升后都能让图片更鲜艳,能为后期提供更大的创作空间。但是,他们两个还是有很大的不同,我们先从基础概念说起:【鲜艳度】鲜艳度不是线性的,它主要调的是色度不高的部分,本身就很饱和的部分会受到一定保护(调的时候变化不大),同时肤色也会受到保护(变化不大)以避免溢出,效果相对比较自然。【饱和度】饱和度是所有色度等比例增减,是线性的,增加饱和度的同时,本身就很饱和的部分就可能变成一片纯色没了细节(溢出)。所以,鲜艳度和饱和度使用需谨慎,一不注意色彩就会溢出,图片就变得重口了,这个给新手一个建议,如果要用这两个参数,用鲜艳度优先于饱和度【图1】【图2】【图3】上面介绍的两种属性都是对整张图所有的色彩进行调节,可是如果我不想要对其他的颜色进行改变,而只想对单独的颜色进行微调该如何呢?那就是接下来要讲到的HSL版块。这也是调色的中级部分(高级部分是曲线和可选颜色,以后有机会就讲)。【图4】比起饱合度和鲜艳度的全局所有颜色改变,HSL里面可以对【单独】的颜色进行【色相】,【饱和度】与【明亮度】的调整。 我们先来介绍一下这三个属性吧。【色相】色相,即各类色彩的相貌称谓,如大红、普蓝、柠檬黄等。色相是色彩的首要特征,是区别各种不同色彩的最准确的标准。【图5】【饱和度】饱和度指色彩的纯洁性,也叫饱和度或彩度,是“色彩三属性”之一。如大红就比玫红更红,这就是说大红的色度要高。饱和度越高色彩越鲜艳。【明度】色彩明度是指色彩的亮度或明度。颜色有深浅、明暗的变化。比如,深黄、中黄、淡黄、柠檬黄等黄颜色在明度上就不一样,紫红、深红、玫瑰红、大红、朱红、桔红等红颜色在亮度上也不尽相同。色彩越亮越淡也就是明度越高,举个栗子,拍的妹子脸又黑又黄?把橙色和黄色的明亮度疯狂拉高~duang的一下妹子就白了,因为我们人脸主要是橙色和黄色的,而这两种颜色变淡变亮,人脸自然就变亮了。【图6】比如这个妹子,脸黑的不行,我们只要轻轻一拉橙色明亮度,瞬间她脸就亮起来了。那么问题来了,学挖掘机到底哪家强?。。。。。。开个玩笑,问题:那和直接用画笔糊脸加曝光有什么差别呢?差别在于有些“非洲黑哥哥”你再怎么加曝光糊脸都没用,而提升【明亮度对于肤色的提亮】,能够瞬间让他变成欧洲人(笑)知道了这几个属性后我想大概你也能调出你自己想要的感觉了,总之一句话,自己多尝试。【图7】上图完全是HSL调试的结果。九,分离色调。简单来说就是在高光和阴影中加颜色,就比如我之前发的那组照片,就是在高光里面加了蓝色,让主体受光部分变得更干净,而阴影部分则加了少量的黄色,增加背景建筑的历史感。当然,上面我说的只是我自己的思路,分离色调这种东西是最适合玩创意的了,想怎么加都是你的自由(别太重口就好)下面是我简单使用白平衡和分离色调调出的色彩,PS里面只进行了简单地液化和磨皮。十,细节与效果。【图1】从上图可以看到在细节栏里面有这两个板块:【锐化】锐化下有“数量”,“半径”,“细节”,“蒙版”,四个滑块,这就是控制锐化程度的了,“数量”越大,锐化程度约深,画质损失也越大;“半径”越大锐化程度越深,画质损失也越大。“细节”是控制锐化范围细节,保留基本的细节对比度。“蒙版”的作用是进行锐化的同时,对大面积连续色调的皮肤进行保护,避免锐化时将皮肤变得更加粗糙,防止皮肤瑕疵变得更加严重。在LR的锐化设定中,蒙版的默认值为零,即不启用,因此对人像加锐时,首先要把蒙版滑块向右拉一下。但到底拉多少合适?到底皮肤中的哪些部分得到了保护,哪些部分得到锐化了呢?这里有一个小技巧,即向右拉蒙版滑块时按住Alt键。这时画面变成了黑白两色,黑色区域是被保护的区域,白色的是得到锐化的部分,效果非常直观。【减少杂色】其实也就是我们常说的降噪,降低噪点。LR的降噪效果和相机里的不太一样,因为相机处理器的能力毕竟有限,无法和电脑相比,也无法根据每一张原片的具体情况分别处理,因此高感降噪的结果往往有严重的涂抹感,甚至出现偏色。而用LR进行降噪,可以在保持很多细节同时大大降低噪点,由于涂抹感小,降噪后的颗粒自然,和高感光度的胶片效果相似。LR的降噪调整比较简单,无需太多叙述,就是明亮度和颜色两个滑块,一个控制黑白噪点,一个控制彩躁,在向右拉的时候,如果觉得锐利度降低了,可同时调整细节滑块。另外,必要时同时再调整一下锐化中的数量和半径,最终在降噪与锐度之间达到比较理想的平衡。【图2】然后是我们要说到的效果栏,这个比较简单,就是增加暗角或者消除暗角的。下部的【颗粒】则是用来增加噪点,有时候用来模仿胶卷质感别有一番风味。因为我的后期思路是讲究通透清新,我在这里就不演示了。十一,镜头校正和如何导出。【镜头校正】在这个选项里,你除了可以用手动方式对紫边以及扭曲度等进行计校正外,还可以通过在“启用配置文件校正”上打上对钩,通过镜头校正文件对图像进行自动校正。不过,Lightroom中配备的镜头校正文件数量不多,即使是最新版的也如此,很多镜头都没有校正文件。这一点和DxO不同,用DxO时,首先会根据你的片子查找是否几倍机身和镜头的校正文件,如果没有,会自动下载。但是对此,Adobe有自己的解决方案,那就是通过一个免费软件实现镜头数据校正文件下载,这个软件就是Adobe Lens Profile Downloader。感兴趣的朋友可以自己去下,我这里就不提供资源了。【图1234】想要祛除紫边的使用,放大照片,然后用吸管去吸一下图片里面的紫边就好了,左边还可以调试祛除的色彩范围。【如何导出】等上述一切都做完了之后,大概你也想要把你的作品导出LR,发到你的朋友圈,微博什么的去骗骗评论了,那么下图将教你怎么导出。【图片56】【最后单击右下角的‘导出’】完成!十二,练手素材。哈哈,讲到这里也差不多结束啦,掌握以上的技能,应对基础的调色,你们应该能够得心应手了,同时这也能培养你们的良好后期习惯,管理照片的习惯等。比直接上手PS要方便很多。那么我在这里也放一些练手的素材,供大家使用。修完了也可以发到这个帖子里面,大家相互讨论,互相提高~下面是原图预览
馆藏&30319
TA的推荐TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&[转]&[转]&[转]&[转]&6157人阅读
机器学习(14)
LR是机器学习入门的第一道坎,总结一下,Linear Regression 和logistic Regression都是属于GLM,套了logistic之后,输出结果就变成一个概率了,loss function和 likelihood function取反是类似的东西,都可以作为优化的目标。但我感觉&likelihood
function从概率统计上来说,更有理论支持吧。loss function 直接对残差求平方和,直觉上也是挺合理的;当然,对于logistic Regression来说,概率值求残差就说不太通了,更重要的原因是非凸函数,不好求解。
coursera ml的编程题文档确实不错,非常细致,导致后来视频没怎么看就直接把题目下下来做掉了。动手还是挺重要的,比干看理论能有更深入的体会。做完编程题,印像最深刻的就是w0的处理了,正则化的时候要排除掉它。这东西叫bias,或者叫intercept term啥的。因为这个东西,搞得处理起来还挺麻烦的。举个简单情况 y= w1 * x + w0,这里w0就是一个截距,调节直线不穿过原点。从这个角度想想,w0确实不应该正则化,值是多少就多少。
prml提到两点。应该好理解,意思就是说你可以选择线性变换一下y,或者单独给w0选择一个正则化的系数。
另外一个问题,就是工作中,我们提到的LR模型到底是指Linear Regression 还是 Logistic Regression?一般是指后者,主要用来做ctr(pv /ctr)预估之类的工作,结果可以直接作为一个分数来用,其实就是一个2分类的问题,点击,或者不点击。LR有意思的一点就是如果对“发生比”(odd,发生的概率除以不发生的概率)取自然对数,结果w*x,是线性的。(可以看看李航的《统计学习方法》)
另外一个问题就是正则项了,正则项就是防止over fitting的一个东西。别人口中的L1正则L2正则到底是什么鬼? L1容易产生稀疏解倒是什么一回事?这个正则项从概率统计来说,属于贝叶斯规则化方法(“我们将高斯先验概率引入到参数中计算MAP(极大后验)估计(而不是极大似然估计)”,在ufldl看到这句话,然后google了一下,找到这篇知乎回答&
可以看看)。
后来看scikit-learn文档的时候,发现了一些新名词,吓得我菊花一紧,以为还有好多算法得学。原来只是换了个马甲而已。
L2 regularization -& ridge&
L1 regularization -& &lasso
mix L1 and L2 &-& elastic Net
LR是线性模型。线性是个很好的特性,但也是假设比较强的特性。不过线性是对于权重来说,并不是对于输入,也就是说y=w *x^2 + b 也是线性的。实践中用LR模型,拟合非线性,通常就是用离散化和特征组合。
离散化:比方说,两个学生高考,一个考98,一个考95,从分数上是有区别,但从能力上不见得有特别大的不同,算得太细反而不准确。我们可以把分数离散化成A、B、C、D四个等级,然后用4个二进制特征编码,比如A=0001,B=0 0 1 0 。又比方年龄18+啥的,现实中就是这样来分级,只需要级别,具体的数值倒不是人们的关注点。
特征组合:数值特征跟id特征组合一番。比如query类目男装=0,1,女装=1,0。用户购买力=x,用户等级=y,求个笛卡尔积,就能得到4个特征。&购买力, 男装类目& &购买力, 女装类目& &用户等级,男装类目& &用户等级,女装类目&。靠这样的拟合非线性,其实就是补充特征的“AND”关系。
第二个坎就是svm。不过说svm难,其实还是数学求解过程有些难。如果先学了convex optimization(session notes有 精简版的cs229-cvxopt.pdf和cs229-cvxopt2.pdf,挺不错的。单单从内容本身来讲,是要先看这两个再看svm,不过实际上,我觉得这么枯燥的东西比较难看下去,可能先看svm,被里面的对偶折腾得半死的时候,才有兴趣看看凸优化,两个资料最好叉看吧)这门课,估计一下子就秒杀了。不过学一个算法,主要还是要理解算法的idea。我一开始拘泥于数学的推导和求解,结果就踩坑了。svm的思想其实很简单,就是找离边界最近的点,然后从中选出可以使间隔最大的。
对比一下LR。svm关注点更多放在分类边界(更准确的说,就是那些support vectors),而LR考虑的是全部样本。这让我想起photoshop里面的一个查找边缘滤镜。仔细想想,对于分类来说,我们是不是更关注边界的地方?离边界太远的点我们关心么?
用数学语言来描述,就是svm的loss function是higne loss&&罢了,
svm其实就这么简单!
l(y) = max ( 0, 1 - t*y ) 。
一个神奇的max操作,就把离边界太远的点丢掉了(loss=0了,直接丢掉)。
所以cs229的课件,svm看得我蛋疼菊紧,coursera的课程居然就简单地画了个图。&
虽然从图片上看是差不多,但从计算上看,为了去掉那些离边界过远的点,还要用拉格朗日对偶,搞得有点麻烦的。
或者,我们可以从另外一个角度来理解svm。svm训练完的模型也是wTx + b,
我们可以理解为为每个样本x(i),我们分配了一个αi来指示x(i)到底是不是support vector,通过不断迭代,那些远离边界的点慢慢αi就变成0了。同时,我们也可以发现wTx其实就是support vector的span(线性生成空间)。另外,对比LR,假设xi&∈
R2,我们学出来的模型只有w0,w1,w2三个参数,而svm参数个数是support vector的α个数,可以远远多于2个,形成比LR跟复杂的模型。
对比LR,正则化项C=1/λ
模型结果,LR输出w,svm的w=∑alphas_i * yi * xi,如果你要用核函数的话,还得把xi带上,不能只保存w。
简单小结一下:
svm &关注边界,丢掉离边界太远的点。输入精度低了,输出也一般只输出分类-1或1LR 考虑全部点,输出概率(较精细)
动手实践svm
我之前买了一本《机器学习实战》,我也觉得用里面的代码来学着实现一下svm还是比较不错的。
分类战车有个总结的不错,用的就是《机器学习实战》的例子,代码实现过程中,有些式子还要简单推导一下,里面指点一下,一下子就脑洞大开了,一开始还没搞清楚。
【分类战车SVM】这个系列终于写完了,第一话:开题话http://t.cn/RAl1Qou;第二话:线性分类http://t.cn/RAl1QoT;第三话:拉格朗日对偶http://t.cn/RAl1Qom;第四话:核函数http://t.cn/RAl1QoE;第五话:SMOhttp://t.cn/RAl1Qon;第六话:编程http://t.cn/RAl1QoQ;附录:http://t.cn/RAl1QoR
如果要实现svm,拉格朗日对偶,kkt啥的还是得老老实实搞懂才行的。我以前觉得不完全搞懂,看着伪代码自己实现一下svm没多大意思。结果自己动手写了下,还是有些体会的。《机器学习实战》用的python实现,做了coursera的课程编程作业后,感觉用octave写起来更顺一点,代码比较贴近公式。
function model=svm(X, y, C, max_iter, Kernel)
y( y==0 ) = -1;
%m: # of sample
%n: # of feature dimension
[m,n] = size(X);
alphas = zeros(m,1);
toler=1e-3;
K = zeros(m);
for i = 1:m
for j = i:m
K(i,j) = Kernel(X(i,:)', X(j,:)');
K(j,i) = K(i,j); %the matrix is symmetric
& max_iter
alphaPairsChanged = 0;
for i = 1:m
fXi = f (alphas, y, X, b , i, K);
Ei = fXi - y(i);
if ( y(i) * Ei & -toler
& alphas(i) & C
y(i)* Ei & toler
alphas(i) & 0 )
j = randSelectJ ( i, m );
#j = mod(i + 1 , m ) + 1;
fXj = f (alphas, y, X, b , j, K);
Ej = fXj - y(j);
alpha_i_old = alphas(i);
alpha_j_old = alphas(j);
if ( y(i) ~= y(j) )
L=max( 0, alphas(j) -alphas(i) );
H=min( C, C + alphas(j) -alphas(i) );
L=max(0, alphas(j) + alphas(i) - C);
H=min(C, alphas(j) + alphas(i) );
fprintf(&L==H!\n&);
eta = 2 * K(i,j ) - K(i,i) - K(j, j);
( eta &= 0 )
fprintf(&eta&=0\n&);
alphas(j) -= y(j) * (Ei -Ej) /
tmp_j= clipAlpha( alphas(j), H, L );
alphas(j) = tmp_j;
if ( abs( alphas(j) - alpha_j_old ) & 0.00001 )
alphas(i) += y(j) * y(i) * (alpha_j_old - alphas(j) );
b1 = b - Ei - y(i) * ( alphas(i) - alpha_i_old) * K( i, i ) ...
- y(j) * ( alphas(j) - alpha_j_old ) * K( i, j );
b2 = b - Ej - y(i) * ( alphas(i) - alpha_i_old) * K( i, j
- y(j) * ( alphas(j) - alpha_j_old ) * K( j, j );
if ( 0 & alphas(i) ) & ( C & alphas(i) )
elseif ( 0 & alphas(j) ) & ( C & alphas(j) )
b = (b1+b2)/2;
alphaPairsChanged += 1;
fprintf(&iter: %d,
i:%d, pairs changed %d\n&, iter, i, alphaPairsChanged);
if exist('OCTAVE_VERSION')
fflush(stdout);
%END OF IF
%END OF FOR
if alphaPairsChanged == 0
iter += 1;
fprintf( &iteration number : %d\n&, iter);
idx = alphas & 0;
model.idx=
model.X= X(idx,:);
model.y= y(idx);
model.kernelFunction = K
model.alphas= alphas(idx);
model.w = ((alphas.*y)'*X)';
模型还包含原始的X,y(当然,只要存support vector的,如果不用kernel,那也可以直接求最后的w)&
y取值{-1,1},当然,只是为了计算方便。不过实现的时候还是踩到坑,没有发现随便拿来的数据里面y居然是{ 0,1 } 的。打印调试信息才恍然大悟。
y取值 { 0,1 }&
我最开始的时候觉得svm牛B是因为可以用kernel。那kernel 是svm专属的么? 不是。 那LR为啥不用kernel? 《》视频里说是求解效率不高。暂时也不求甚解了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:277347次
积分:3730
积分:3730
排名:第7671名
原创:92篇
转载:11篇
评论:173条
囧轩,男。
不是信科,只是软院。
不是校队,只是伪ACMer。
不是牛人,只是鸟人。
时运不济,命途多舛。
沒文化,学历低,没钱读研。
苦逼中的2B青年一枚,2B中的戰鬥機
PS:哥的id是Dinosoft,是dinosaur的谐音,恐龙是也.
- 深圳企鹅公司实习 - 杭州某工地搬砖,边搬砖边自学机器学习ing。。
(1)(2)(1)(1)(1)(1)(1)(2)(1)(1)(1)(1)(1)(1)(1)(3)(2)(1)(7)(3)(1)(1)(2)(1)(4)(7)(3)(2)(1)(1)(2)(5)(4)(26)(1)(5)(5)}

我要回帖

更多关于 女人这东西 kindle 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信