前端时间写了一篇关于算法设计思路的文章:策略产品经理必了解的六种算法设计思路。今天跟大家再详细的看几种机器学习模型的背后的原理,这有助于大家在工作当中与算法工程师进行沟通。
过去我们只需要工程师按照既定的逻辑去写代码实现即可,最终的效果都是可预见的,对于用户来说,产品提供什么他们就能看到什么。但是随着产品设计思路的演进,我们和用户之间的关系变了,我们想要加入更多的变量,加入更多的参考因素来设计我们的产品,以进一步提升产品的体验。
比如淘宝的猜你喜欢模块,根据用户在平台上的购买、搜索、浏览、收藏等许多线上行为进行个性化推荐,每个人在淘宝首页看到的内容都不一样,这是无法用之前的产品逻辑实现的。但是,很显然这种产品设计思路才是真正的以用户为中心的产品设计。
机器学习是解决这种多变量,多特征的逻辑的利器之一。按照百度百科对它的定义,机器学习是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
今天先和大家聊聊感知机和线性回归。
1.感知机
感知机学习算法(Perceptron Learning Algorithm,PLA)是一种二分类的线性分类算法,所谓的二分类是指结果只存在两种情况。
例如一个人玩游戏能否过关,一个人的考试分数及格还是不及格,像这种只存是,否两种结果的问题可以称之为二分类问题。
感知机学习算法的原理非常好理解,它的输入是实例特征向量,输出是这个实力的最终类别,类似我们改良后的判断一个学生考试是否及格的问题。
学生就是一个实例,特征向量就是每道题的得分,以及这道题的重要程度(分值越高权重越大),在判断这个学生是否及格的时候,我们不是简单的把学生的得分进行相加,而是通过他每道题的分去乘以每道题的权重最终进行一个总分的计算,如果超过了60分(也叫阈值),那么就认为这个学生可以分到及格,反之则不及格。那么对应到计算机系统中,及格这种情况称之为“正”,输出的值为1;不及格称之为“负”,输出的值为-1.
同样,我们可以换个角度去看待这个问题。感知机模型要解决的问题实际上是在一堆数据中,怎么样找到一个界限能够把两种不同分类的数据给划开。如下图所示:
感知机原理示意图
那么,感知机是如何找到这条直线的。它使用的学习策略是梯度下降法,简单来说是先随便设置一条直线进行样本数据的分类,观察分类结果。当存在一个点被错误分类时,通过调整直线的参数来调整直线的未知,以减少分类错误的点数,直至所有点位被正确分类为止。如下图所示:
感知机模型训练过程
2.线性回归模型
在统计学中,线性回归(Linear regression,LR)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。
如果只包括一个自变量和一个因变量,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
比如通过过去五天的室外温度,如何预测周六室外温度值,如下图所示,就是一种典型的线性回归问题。
线性回归问题
线性回归的方法是通过过去日期和温度值来拟合一条直线,尽可能的让过去的点分布在直线上面,如果预测未来两天的室外温度,只需要在直线上找到对应的点即可,如下图所示:
线性回归预测方法
线性回归是回归分析中第一种经过严格研究并在实际应用中广泛使用的类型,在金融、经济学、医学等领域应用范围很广,通过观测数据来拟合出一条直线,通过该直线可以看出未来数据的变化趋势以及具体的值。
以上就是关于感知机和线性回归模型的一些背后的原理,后续我们再继续聊一下其他的机器学习模型。
评论(0)