智客公社

标题: 策略产品经理:深入浅出了解机器学习算法原理 [打印本页]

作者: any941    时间: 2023-1-23 22:25
标题: 策略产品经理:深入浅出了解机器学习算法原理

对于策略产品经理来说,了解有关机器学习算法的相关原理和思路,会对自身的工作有所帮助,那么,你了解机器学习里的监督学习算法吗?本篇文章里,作者便做了一定拆解和总结,一起来看一下。

[attach]799636[/attach]

今天我们继续来讲讲十大机器学习算法原理的中篇,核心目标还是给策略产品或者希望从事该方向的同学通俗易懂地讲清楚机器学习的思想原理,帮助策略产品建立起来最为基础的“工具方案-问题”的认知思路,感兴趣还是建议大家阅读专业的机器学习书籍,了解更加专业的机器学习算法原理,本文章系列旨在给产品讲清楚机器学习的思路和原理,今天我们继续讲完剩下的4个监督学习算法。

一、基本的机器学习算法

1. 决策树Decision Tree


决策树-Decision Tree也是监督学习算法的一种,主要应用于分类问题之上,少量也会应用在回归问题上。作为一种特殊的树形结构,其中每个内部节点都代表一个属性的区分判断,每一个分支就代表判断的结果输出,最后每一个叶子节点代表着一种分类预测的结果。

举个通俗的例子,咱们拿泰坦尼克号沉船事件旅客信息来对该乘客预判乘客生存的可能性,下面的模型通过:性别、年龄和是否存在兄弟姐妹的特征来做判断,可以看出通过决策树看出:性别-年龄-是否有兄弟姐妹,来判定你是否可以上救生船;优先女性或者小于9.5岁且没有兄弟姐妹的孩子,这部分的人群通过决策树判定下来是存活概率较高的;

[attach]799637[/attach]

由上面的例子可以知道,决策树就是通过对一系列线索和信息的判断作出的有效决策。

1)决策树的分类

决策树根据目标变量的类型可以分成两个类型:分类变量决策树和连续变量决策树,其实就是对应的我们所谓的分类问题和回归问题。

分类变量决策树:这是指算法有一个分类的简单明细目标变量。例如,考虑让你预测Arthur本人的身高,作为三个类别之一:高个、矮个、适中;特征可能包括是否爱吃牛奶、是否爱打篮球、父母的身高、每天的睡眠时长。决策树将从这些特征中学习,在每个数据点通过每个节点后,它将在高个、矮个、适中三个分类目标中的一个具体的叶子节点上结束。

连续变量决策树:这是指算法有一个连续数值的目标变量,例如让你预测北京朝阳区亚运村的房子价格,需要用到房屋地段、地铁线途径情况、小区物业水平、周边商场布局情况、周边的商圈分布,来预测一个连续值的输出在叶子节点结束,具体是个最终的房屋价格。

2)树的结构组成

由图中可知,主要有三个类型的及节点,核心组成元素如下所示:

[attach]799638[/attach]

3)树模型的拆分

决策树的构建并不是越复杂越好,反而快速的定位和确定我们的决策特征对于构建树有较大的帮助,在实际场景当中,会有非常多的特征和特征值,所以作为策略产品我们怎么选择合适的特征组合来构建树呢?单个特征又如何制定阈值(前面泰坦尼克号的年龄/有几个兄弟姐妹)来评估决策树模型的好坏。我们来介绍对应的方法和评估指标。

①基尼不纯度-Gini Impurity

基尼不纯度是用来表示数据集中随机选择一个子项,衡量其被错误分到其他类别当中的概率,表示一个系统的“纯净”程度,计算公式如下所示:

Pi代表当前节点中属于i类的比例;G(P)∈[0,1],越靠近0纯度越高,代表决策树的分类效果越好。

[attach]799639[/attach]

举个简单分类决策树例子,我们在取X = 2的时候,给左右2个分支,左边5个“蓝点”,右边5个”绿点”,套用基尼不纯度的公式,不纯度为0,最理想的分类效果。

[attach]799640[/attach]

当我们取x = 1.5的时候,左边有四个“蓝点”,左边的基尼不纯度为0(没有绿点),而右边有一个“蓝点”,四个“绿点”,基尼不纯度为:

[attach]799641[/attach]

两边各自的点数不一样,我们还需要做一下加权平均处理:(0.4*0)+(0.6*0.287)= 0.167跟分类前的基尼不纯度0.5相比,我们可以认为这个不纯度在分类后被降低了0.5 – 0.167 = 0.333,因此又把它称作基尼增益(Gini Gain)。基尼增益值越高,说明我们的分类效果越好。

② 信息增益-Information Gain

信息增益用来评估决策节点的分裂好坏,信息增益越大表明分裂的效果越好,其表明了系统的不确定性在减少,这个和“熵”的概念是比较一致的;熵本身是一个热力学方向的概念,形容分子运动的混乱程度。

在决策树模型中,我们用熵来衡量信息的不确定性,如果树模型的单个叶子节点信息含有的分类越多,则熵越大。熵越大,表示分裂效果越差。最优的情况就是单个叶子节点只包含一种分类。计算方式如下:

先计算父节点的熵,在分别计算各个子节点的熵,最后进行加权平均,父节点的熵减去子节点的熵就表示的是信息增益Information Gain。

还是用上面蓝绿点的例子,当x = 2的时候,“蓝点”和“绿点”完美分离,E分界线左侧 = 0 ,E分界线右侧= 0,公式如下:所以x = 2的加权熵 = 0 * 5/10 +0 * 5/10 = 0;

[attach]799640[/attach]

当x = 1.5 的时候,左侧 “蓝点” 被完美分离,E1(分界线左侧)与E2(分界线右侧)代表公式如下所示。

所以选择x = 2作为决策点的时候,信息增益值:1-0 = 1,即系统的不确定性减少了1;选择x = 1.5 作为决策点的时候,信息增益值:1-0.66 = 0.34,即系统的不确定性减少了0.34;所以选择x = 2作为决策点更加合理。

4)树模型剪枝

为了防止决策树模型的分支过多,出现过拟合问题,通常我们会做剪枝,剪枝分为预剪枝和后剪枝两种类型。

①预剪枝Pre-pruning

预剪枝就是在构造决策树的过程中,先对每个结点在划分前进行估计,如果当前结点的划分不能带来决策树模型泛化性能的提升,则不对当前结点进行划分并且将当前结点标记为叶结点;核心是边构造边剪枝。目标是控制决策树充分生长,可以预先的控制一些参数。

② 后剪枝Post-pruning

后剪枝是允许决策树充分生长,然后在此基础上根据一定的规则,减去决策树中不具备代表性的叶节点,是一个边修边剪的一个过程;在修剪的过程中,不断对当前决策树测试样本集合预估的精度和误差,并且判断是继续还是停止修剪;当然,后剪枝可能会导致模型的过度拟合。

5)其他

决策树的建模思路在上述当中已经基本阐述完成了,还有包括回归决策树下评估的分差法,以及决策树模型当中ID3、C4.5和CART算法,后续可以开文章单独给大家来做介绍。

2. 随机森林算法-Random Forest


1)核心思想

把随机森林算法放在决策树之后是因为两者在思想上有串联进阶的理念在里面,随机森林一词在1995年由贝尔实验室提出来的,既然是“森林”那必然是由一颗颗的参天大树构成的,正如名字所示,随机森林可以被看做成为一个决策树的集合结果,但是不同的决策树之间没有关联性。

当进行分类任务的时候,新的输入样本进入,就让森林的每一颗决策树进行判断和分类,每个决策树都会得到一个自己的分类结果,决策树分类结果当中的哪一种分类投票最多,随机森林就会把这个结果当做当成最终结果;核心思想与中国古代的“三个臭皮匠顶过一个诸葛亮”有异曲同工之秒。下图比较直白的描述随机森林的核心思想。

[attach]799642[/attach]

2)原理说明

总结:核心思想咱们再来举个栗子,Arthur去北京旅游一周,拜访了一位一直在北京工作的老同学,朋友基于Arthur的预算、对于景点的偏好以及时间安排推荐了几个景点建议,这是景点的决策树的思想,老同学基于自己的经验和喜好给Arthur推荐了几个不错的经典。

之后,Arthur又问了很多在北京的前同事、同学讯问建议,他们根据Arthur其他的(有部分重合)诉求,例如历史底蕴、海拔等特征给出了其他的建议,然后Arthur最终选择了推荐次数最多的经典,这就是随机森林的算法思想。

3)随机森林当中的优缺点

优点:

缺点:

4)随机森林当中模型参数

和前面说的逻辑回归、线性回归以及决策树一样,选择合适的模型参数是帮助随机森林做预测效果的核心关键,同时也决定了模型预测的性能效果,我们拿sklearn当中的随机森林参数来举例,核心是为了解决上述说到的几个缺点。

①建模的速度

②预测能力


二、总结

由于文章篇幅问题策略产品通俗易懂讲机器学习先讲到决策树和随机森林的思想,该系列的文章目的是在为转型策略产品,或者是已经从事策略产品、策略运营方向的同学通俗易懂的了解机器学习算法原理与思想。

如何求得最佳参数的过程,机器学习只是一个达成业务目标的高效方式,并不是目的本身,核心还是提升我们业务场景的效率和收入指标,策略产品是给我们提供了一个增加产品壁垒的方向和思考的方式。

本文由 @策略产品Arthur 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
作者: Residualdream    时间: 2023-1-23 22:26
你试过吗?生成的树,很多情况无解?无法分类,怎么处理?
作者: 镜花    时间: 2023-1-23 22:27
鸟枪换炮,换成了原子弹!真厉害!
作者: shinylea    时间: 2023-1-23 22:27
转发了
作者: 胡优伱    时间: 2023-1-23 22:27
学习提升
作者: qwe654    时间: 2023-1-23 22:28
策略产品是给我们提供了一个增加产品壁垒的方向和思考的方式。
作者: 江素盈    时间: 2023-1-23 22:28
[绿帽子][闭嘴][加油]
作者: 136sophie    时间: 2023-1-23 22:28
长知识了[赞]
作者: fishbiscuit456    时间: 2023-1-23 22:29
[666][666][666][666][撒花]
作者: 新丰江边    时间: 2023-1-23 22:30
学习,
作者: 安华法援    时间: 2023-1-23 22:31

作者: 金诚论金    时间: 2023-1-23 22:31
转发了
作者: yang198959    时间: 2023-1-23 22:32
学术性很强的文章,外行只能看热闹。[捂脸][捂脸]
作者: JYTYrSMs    时间: 2023-1-23 22:32
转发了
作者: pphappy521    时间: 2023-1-23 22:33
深入浅出了解机器学习算法原理
作者: 朗润科技    时间: 2023-1-23 22:34
涨知识了
作者: ╃茱児謌    时间: 2023-1-23 22:34
长知识了
作者: Feint帝国    时间: 2023-1-23 22:34
转发了
作者: MindFlow    时间: 2023-1-23 22:35
谢谢分享
作者: TaasLabs    时间: 2023-1-23 22:35
深入浅出了解机器学习算法原理
作者: 盛世祥瑞    时间: 2023-1-24 07:23
向楼主学习
作者: 冇地给    时间: 2023-1-26 21:05
回个帖子,下班咯~




欢迎光临 智客公社 (http://bbs.cnaiplus.com/) Powered by Discuz! X3.4