华人澳洲中文论坛

热图推荐

    战略产品经理深化浅出理解机器学习算法原理

    [复制链接]

    2022-11-19 12:25:35 17 0

    机器学习简略来讲就是机器从历史过来的数据、常识中总结出法则教训,用于晋升零碎的度量才能。本文作者对十大机器学习算法的前三个进行了剖析引见,一同来看一下吧。

    明天咱们来说讲对于根底的机器学习算法与对应的合用场景,帮忙战略产品建设起来最为根底的“工具计划-问题”的认知思绪,帮忙大家更好了解十大机器学习算法的思想和了解对应的运用场景。
    理解机器学习另外一个首要的点是,在和算法工程师沟经过的时分,“知其然更知其所以然”,而不克不及做“黑盒产品经理”,这类乃至都不克不及被称之为战略产品,无奈为本人的业务目标和业务标的目的担任。
    那末,接上去咱们环抱下列几个部份来给大家引见一上策略产品必知的十大机器学习算法,帮忙大家做简略入门,感兴致仍是倡议大家浏览专业的机器学习书籍,假如有帮忙到大家,辛勤大家帮助点个喜爱、保藏以及评论一下。
    一、机器学习的分类1. 定义实质
    首先,咱们在引见机器学习的分类以前,咱们需求理解分明机器学习的实质是甚么,简略来讲就是机器从历史过来的数据、常识中总结出来法则教训用于晋升零碎的度量才能。举个栗子,咱们将“好西瓜”开瓜的教训以【数据】方式传递给模型(斟酌西瓜蒂、斑纹以及敲击的实心声响)给到模型,在面对新瓜,模型就会给咱们断定是不是为“好瓜”的论断,所以说机器学习就是一门钻研“学习算法”的学识。


    2. 机器学习分类及对应瓜葛
    机器学习的算法大抵能够分为三类:监视学习算法、无监视学习算法以及强化学习算法。
    1)监视学习算法 – Supervised Algorithms
    简略来讲在监视学习训练过程当中,能够由训练数据集学到或建设一个模式(函数 / learning model),并依此模式揣测新的实例。
    在监视学习傍边,需求给算法去提供一些解决计划需求的训练数据,成为所谓的标签和标志;简略说就是要有自变量(X)和因变量(Y),同时可用来分类和回归。那末常见的监视学习算法有:K临近、线性回归、逻辑回归、反对向量机(SVM)、决策树和随机森林、神经网络。


    2)无监视学习算法 – Unsupervised Algorithms
    无监视学习的训练数据都是不需求经标志,算法会在没有指点的状况下自动学习;训练时分的数据是只要自变量然而没有对应的因变量。
    常见的无监视学习:聚类算法(K-meansK均值、最大冀望算法)、关联规定学习(Apriori、Eclat)等;例如京东电商平台按照C端用户购物频次、均匀客单价、购物的笔复数以及年均消费劲等,将这些用户自动“聚类”为几个不同种别,而后在进行人工标志。


    3)强化学习算法 – Reinforcement Algorithms
    次要基于决策进行训练,算法按照输入后果(决策)的胜利或过错来训练本人,以负面报答的方式获取惩罚。它必需自行学习甚么是最佳的战略,从而跟着时间推移获取最大的报答。
    例如咱们相熟的“阿尔法狗Alpha Go”就是在和优秀棋手中不停对弈,经过胜负的对弈起棋局来训练本人如何走下一步是胜率最大的走法,有一部叫做疑犯追踪的美剧也是环抱这个视角来形容的,这也是离咱们所谓的人工智能比来的一种算法类型。


    二、根本的机器学习算法分类1. 线性回归-Linear Regression
    首先,了解一个概念,回归-Regression和我平时了解的回归-return的概念纷歧样,这里回归指代的是“推导”的意思。回归算法是相对于于分类算法而存在的,和咱们想要预测的因变量y的类型相干。
    假如y是个分类离散变量,例如预测性别男/女,预测用户在保举位是不是点击,预测人外套的色彩红/绿/黄/黑…,那末咱们就需求用分类模型的算法训练数据并作出对应的预测;假如y是个延续性变量,例如京东购物用户的春秋(25、40、60)、购物用户的年支出程度(30万/50万/100万/1000万…),用户逛保举位feeds流的停留时长(5s/10s/15s…)这类的咱们就需求用到回归模型的算法去做训练数据的预测;然而,分类问题其实和回归问题是能够互相转化的,例如下面咱们说的在保举位feeds产生点击行动,假如变为预测C端用户的点击几率,从10%,十一%到100%,转化为大于50%则为预测点击,小于50%则为不点击,我们就从回归模型的问题变为了一个分类问题。
    线性回归算是机器学习入门型算法,能够用一个简略的二元一次方程来做概述阐明,由下图咱们能够失掉一个y = a+bx 的二元一次方程,给定a、b两个参数的时分,画在座标轴终究是一条直线;能够看到图中有许多的散点图,咱们需求经过一条直线去尽量的拟合途中的数据点,这就叫一元线性回归。


    然而,咱们也发现下面的一切散点图其实不能被一条一元二次方程穿过,就和理想世界的数据同样,咱们只能尽量的找到法则,找到一条最适合的直线;所以,不成防止地发现预测实践值Predicted Value和实际值之间会存在差异,这个也就是咱们所说的“误差”,所以咱们往往在一元二次回归方程里会带上一个尾巴来来进行误差c,也就是y = a+ bx +c。
    由于数据并非真的落在一条直线上,而是散布再四周,所以咱们需求找到一个适合的a和b,来找到一条“适合的曲线”,那末为了求得a和b,咱们就需求用到损失函数的概念。


    误差说白了就是实在值和预测值之间的差值,也能够了解为间隔;咱们把上图傍边每一个个点独自的误差值求出来,计算出对应的值:
    再把每一个个点做平方后的累加合,这样就能彻底的量化出来你和曲线上直线对应的点和实际值之间的误差间隔,用公式表现如下:
    这个公式是残差平方和-SSE(Sum of Squares for Error),在机器学习中它是回归问题傍边使用的损失函数,用于权衡回归模型误差的函数,也就是咱们要的“直线”的评估拟分解都的规范规范。这个函数的值越小,阐明直线越能拟合咱们的数据。最初如何求的最好参数a和b,咱们个别需求使用梯度降落法或者最小二乘法求得,后续展开分享,就再也不这里赘述了。
    2. 逻辑回归-Logistic Regression
    后面给大家引见了逻辑回归经常用来解决分类问题,业界罕用来做搜寻后果页/保举信息流傍边用户是不是点击、金融零碎傍边断定是不是守约客户等等。
    记住一句症结的话:分类实质上是用逻辑回归傍边的目的和后果,其两头进程仍是回归性质。为何这么说,举个例子,京东保举零碎傍边会把用户在保举位对商品点击的可能性“几率”归一到(0,1),而后给可能性在加一个阈值0.5,比喻说点击预测的可能性是0.5以上,预测断定为会被点击,小于0.6则预测为不会被点击。
    因而可知,一切实际点值都落在了y = 1 和y = 0上了(纵坐标非0即1),假如用一个繁多的一元二次线性方程拟合成果会对比差,只要多数的点才被落在了直线上。


    实际上,逻辑回归个别会采取sigmoid的函数去做拟合,sigmoid函数在自身是一个s型曲线函数,在取值规模之间(-∞,+∞)会在y = 0 和y = 1之间会有平滑过渡,用来表现预测的概念,也就是事情产生的“可能性”。


    多元一次方程个别的方式为能够表示为如下图,个别能够简写成为矩阵方式Y = Xβ:


    将特点加权乞降Xβ带入,领一切预测为正例得几率P(Y = 1),例如在京东保举零碎傍边,预测这一次行动时被点击,那末逻辑回归的方式就变为了如下的前提公式预测:
    全部逻辑回归的函数就结构实现了,上面就是经过梯度降落法来求解β获取最好地位参数去构建最好函数去拟合一切的点,对于梯度降落法咱们独自起一篇文章来进行引见;
    3. K临近算法KNN-KNearestNeighbor
    KNN是对比入门级的机器学习分类算法,总体思绪对比的简略,中心就是的思惟就是中国现代中的“同好者同行近墨者黑”的思想。其中KNN傍边的K指代的就是比来的K个点的个数来预测地位的数据点,其中选择K值就是预测精准度的一个症结性质的要素


    KNN做的就是选出间隔指标点Predicted点位间隔比来的k个点,看这k个点的大少数色彩是甚么外形。这里咱们能够经过欧氏间隔来度量和计算预测Predicted点位和K个点之间的间隔。
    case 1:当咱们把K设为1的时分,能够看出来,预测点位间隔黄色的“+”比来,那末咱们在断定点的类型的时分会把预测点位断定成为“+”case 2:当咱们把K设为5的时分,能够看出来间隔比来的点位有1个“+”,1个“O”,还有3个“△”,那末咱们召会将预测Predict的点位会断定成为“△”论断:由此咱们能够知道K的选择不同,关于失掉的后果天壤之别,所以选择K值也就成了KNN算法的症结。


    KNN的分类界限是非线性的,K越小越容易过拟合,咱们看到到K = 1的时分,这个时分只会按照比来的单个点进行预测,假如比来的一个点是相同的噪点,这个时分就预测犯错,这个时分有形之中减少了计算的繁杂度,鲁棒稳健性对比差。然而假如K取得对比大(例如K = 100)的时分,这个时分又会欠拟合,模型计算十分简略,而且分类的界限也会对比的平滑。
    所以,咱们找到适合的K的进程,就是一个不停的调参进程,对比经典适合的办法就是N折穿插验证法,下图展现的是5折穿插验证,讲始终到的样本聚拢分为5各等分,其中四份作为训练集,1份作为验证集,设定 参数,做出5个等分。


    详细来讲:
    第一步:把样本集分红5个小的子集,编号为train1、train2、train3、train4、train5;第二步:先用train1、train2、train3、train4建模,失掉model1,并在train5上计算误差error1;第三步:在用train1、train2、train3、train5建模,失掉model2,并在train4上计算误差error2;反复以上步骤,建设5个model模型,将5个误差值相加后除以5失掉均匀误差。做完穿插验证之后,咱们就设置超参数从k=1开始尝试,计算K=1时的均匀误差值,每次K减少2,终究能选到发生最小误差值的K(由于跟着K变大,误差值会先变小后变大嘛)。
    这里有个主张的点,咱们个别都对K会取奇数而不取偶数,由于偶数有一定的可能会致使点打平(例如有4个点其中2个黄色“+”,2个“O”),这样就无奈判别Predict 点位到底是属于黄色“+”,仍是“O”,所以尽可能防止这类问题。
    最初还要留意的点就是点位需求做“规范化”,假如不做规范化,可能会由于点位会遭到点位影响重大,个别会采取极差法打消两级或者是规范差规范法
    KNN自身是没有训练进程的,也没有模型的参数,所以再验证过程当中是和已知的样本点的间隔来学习。
    KNN的优点就在于原理简略也对比号完成,关于非线性规定分类成果是要更为优于后行分类器;缺陷也非常显著:需求存储整个的数据集、并且需求计算每一个个预测Predict和已知点的间隔对比耗时,而且不太合适于特点空间维度对比高的场景类型。
    三、小结回顾
    明天咱们先简略理解一下机器学习十大算法中的前三个,关于战略产品经理来讲,知道其算法原理逻辑思考和运用场景是十分有须要的,战略产品在解决业务场景时分需求笼统化分类思考详细的问题,隔靴搔痒看碟夹菜,这样能力实真实在晋升本人解决问题的才能。
    像是线性回归,咱们即用来做线性预测,比喻说预测信誉卡用户的生命周期,经过支出、春秋以及寓居小区等来给用户评级;例如逻辑回归,咱们就用来预测保举零碎用户的点击行动,经过用户的画像、在线/离线行动记载来预测用户是不是会点击。理解了内核本质,其实就是工具场景的运用了。
    本文由 @战略产品Arthur 原创公布于人人都是产品经理,未经许可,阻止转载
    题图来自 Unsplash,基于 CC0 协定
    该文观念仅代表作者自己,人人都是产品经理平台仅提供信息存储空间办事。

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    注册会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题33

    帖子35

    积分171

    图文推荐