Press "Enter" to skip to content

还在苦恼机器学习和线性回归?这篇总结拿走不谢 | 原力计划

 

作者 | 听星的朗瑞

 

责编 | 王晓曼

 

出品 | CSDN博客

 

题图 | 东方IC

 

 

什幺是机器学习?

 

机器学习是一种实现人工智能的方法,从数据中寻找规律、建立关系,根据建立的关系去解决问题,从数据中进行经验学习,实现自我优化与升级。

 

维基百科给出的定义:

 

机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能

 

机器学习是对能通过经验自动改进的计算机算法的研究

 

机器学习是用数据或以往的经验,以此优化计算机程序的性能标准

 

一种经常引用的英文定义是: A computer program is said to learn from experience E with respectto some class of tasks T and performance measure P, if its performance at tasksin T, as measured by P, improves with experience E.

 

 

机器学习的应用场景

 

数据挖掘

 

计算机视觉

 

自然语言处理

 

证券分析

 

股票涨跌预测

 

电影票房预测

 

医学诊断

 

机器人

 

DNA测序

 

……

 

与人工智能比较,我们可以看到人工智能的主要应用场景也都是机器学习的应用场景,这就印证了之前所说, 机器学习是实现人工智能的主流方法 。

 

 

实现机器学习的基本框架

 

 

将训练数据输入到计算机,计算机自动求解数据关系,在新的数据上做出预测或给出建议。

 

 

机器学习的类别

 

监督式学习(Supervised Learning)

 

——训练数据包括正确的结果(标签-label)

 

 

对于监督式学习,我们在一开始给出的数据中就已经告诉计算机正确的结果标签:红色的圆对应类别1,蓝色的叉对应类别2,绿色的星对应类别3。根据该结果,监督式学习就会自动地找出数据的边界(图中虚线部分),以后计算机再得到新的数据,不知道其是圆,叉或者星时,就会根据其所在的位置,自动将其划分为对应的类别。

 

监督式学习包含

 

线性回归

 

逻辑回归

 

决策树

 

神经网络、卷积神经网络、循环神经网络

 

……

 

无监督式学习(Unsupervised Learning)

 

——训练数据不包括正确的结果

 

 

对于无监督式学习,我们在一开始给出的数据中没有告诉计算机正确的结果标签,只是要求计算机将数据分成3类,这样处理数据时就找不出数据的边界,但是却能根据要求,将比较接近的数据划分为一类,最终将所有数据分为3类。当得到新的数据后,将根据其与3类数据的接近程度自动划分为其中一种。

 

无监督式学习包含

 

聚类算法

 

半监督式学习(Semi-supervised Learning)

 

——训练数据包括少量正确的结果

 

 

对于半监督学习,给出的标签数据相对较少一些,但也能根据这些标签数据找到数据的边界,将新数据划分为其中一种。

 

强化学习(Reinforcement Learning)

 

——根据每次结果收获的奖惩进行学习,实现优化

 

 

举个例子,假设有个行走的机器人,它的前面有一面墙,直走的话会撞上去,机器人尝试不同的走法,如上图的行走策略,第一种通过了这面墙为GOOD,第二种撞上了这面墙为BAD。

 

 

编程时设立奖惩规则,通过+3分,失败-3分,规定机器人行走优化条件是分数越高越好,让程序自动寻找获得高分的方法。

 

学习方式的应用

 

 

 

什幺是回归分析?

 

回归分析是根据数据,确定两种或 两种以上变量间相互依赖的定量关系。

 

函数表达式:

 

 

回归分析的种类:

 

 

下边将具体讲解线性回归技术。

 

 

线性回归问题求解

 

线性回归介绍:

 

回归分析中,变量与因变量存在线性关系。

 

函数表达式:y = ax + b

 

 

建立模型的步骤:

 

1、确定P、A间的定量关系

 

2、根据关系预测合理价格

 

3、做出判断

 

将表中数据用散点图表示出来

 

 

具有线性关系,建立线性模型:y = ax + b

 

现在我们只需要找到合适的a和b,就能解决问题。

 

途径:假设x为变量,y为对应结果,y’为模型输出结果,目标变为:y’尽可能接近y,如下图(m为样本数)

 

 

因为后边要求导,为了约掉求导后得到的2m,这里除以2m,变为:

 

 

即为该模型的损失函数J,其值越小越好。

 

 

可以看出J的值是与a、b有关的,那如何找到这个极小值呢?

 

 

梯度下降法求解线性回归

 

可以用 梯度下降法 进行求解,梯度下降法是寻找极小值的一种方法,通过向函数上当前点对应梯度(或者是近似梯度)的规定步长距离点进行迭代搜索,直到在极小点收敛。

 

 

应用此方法求损失函数J的极小值时,首先创建临时变量temp_a和temp_b,然后重复计算直到收敛,此时a与b的值就是要寻求的值:

 

 

由此得到了线性模型的表达式:y = ax + b

 

将单因子变量x的值代入就能得到对应的因变量预测值,最后对预测结果做出判断。

 

原文链接:

 

https://blog.csdn.net/weixin_45092215/article/details/106033448

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注