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

2020-05-25 15:01:34 浏览数 (1)

作者 | 听星的朗瑞 责编 | 王晓曼 出品 | 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分,规定机器人行走优化条件是分数越高越好,让程序自动寻找获得高分的方法。

学习方式的应用

什么是回归分析 (Regression Analysis) ?

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

函数表达式:

回归分析的种类:

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

线性回归介绍

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

函数表达式: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

0 人点赞