当前位置:主页 > 查看内容

机器学习初探-线性回归

发布时间:2021-05-20 00:00| 位朋友查看

简介:题外话 我很早就对人工智能是非常感兴趣的。记得我大学的毕业论文,就是使用遗传算法解决了一个经典的寻路问题。 我一直对人类经典的思想是非常敬畏和崇拜的,比如传统的计算机数据结构算法问题,例如经典的排序算法或者动态规划思想,把一些看似 复杂的问题……

题外话

我很早就对人工智能是非常感兴趣的。记得我大学的毕业论文,就是使用遗传算法解决了一个经典的寻路问题。
我一直对人类经典的思想是非常敬畏和崇拜的,比如传统的计算机数据结构算法问题,例如经典的排序算法或者动态规划思想,把一些看似
复杂的问题竟然用短短十几行甚至一个 for 循环就能解决,这令我感受到了一种美学,也同时对人类的伟大思想而赞叹。
但传统的计算机算法其实还是通过,人来编写代码,人来通过完整的、解决问题的思路来解决问题。但如果机器能有自己的思想,如果它自己就能“学习”到解决问题的方法,岂不是非常 cool 的一件事。但以我目前的认知来看,现在的人工智能是更像是一种工具,一种“数学工具”,一种“统计学工具”,
它是从大量数据里总结出了一种“规律”,用来解决实际问题。它离电脑真正有思想还相距甚远,甚至以目前来看,二者可能并不是一回事。可能让机器具有思维,还需要在其他学科上进行突破比如人的认知机制,脑科学进行突破。哈哈扯远了。

先来介绍自己的一些简单认识。

线性

  1. 什么是线性?

有一类几何对象,比如直线、平面、立方体,看上去都是有棱有角的,都是“直”的,在数学中称为线性
avatar

要处理它们相关的问题就非常简单。比如在高中就学过,两根直线可以用两个线性方程来表示,想求它们交点的话:

avator

联立出两者的方程组,求出该方程组的解就可以得到交点

  1. 为什么要研究线性

(1)我们所处的世界、宇宙太复杂了,很多现象都无法理解,更谈不上用数学去描述;

(2)有一些符合特定条件的复杂问题,可以转化为简单的线性问题。线性问题就可以完全被理解,完全可以被数学所描述

回归

以我目前的认知来看,机器学习主要的任务有两类。
第一就是分类任务,比如

  • 判断一张图片里的是猫还是狗 (二分类,因为我定义目标结论有两种,即猫或者狗)
  • 判断一个股票明天是涨还是跌
  • 判断一个图片中的数字是几(多分类。因为我定义目标结论有 10 种,0 到 9)

avator

也就是说,分类的结果是,人为预先定义的结果范围里的一种

而第二类任务就是回归任务,而它得出的结果是一个连续数字的值,而非类别。
例如

  • 预测房屋价格
  • 预测股票价格

什么是机器学习

这是我目前的浅显理解。机器学习目前我觉得是一种数学工具。通过喂给机器大量的学习资料,然后机器运行一个机器学习算法,训练出了一个模型。然后再向机器丢入问题,机器通过这个模型运算得出结果。

avator

线性回归的初步感性理解

比如我收集到了有 x, y 的两组数据(比如年龄和身高),我想要知道这两组变量是否有线性关系。那么我先以一个变量为 x 轴,另一个变量为 y 轴画出这样一副散点图。

avator

那么我就可以找出这样的一条直线。这条直线的特征是:尽可能的离所有离散点最近,也可以表述成,每个离散点离直线距离的差值之和最小。
那么我就可以很好的根据我算出的这条直线,由已知的 x 值,来预测的未知的 y 值。
假如说 x, y 有线性关系的话,那么预测的效果还是很不错的。所以线性回归的主要任务是,找出这条直线。

单变量线性回归

我们先从单变量线性回归开始理解,即假设 x 只有一个特征(比如一氧化氮浓度),y 是房价。
根据前文提到的感性理解,我们的目标就是找到最佳的直线方程:

avator

其实就是求参数 a 和 b 的过程。
那其实我们的目标就是,使得根据每一个 x 点,使得

avator

最小。这个方程叫做损失函数。
你可能想问为什么是差的平方和最小?而不是差的绝对值和最小或者差的 3 或者 4 次方最小?
差的平方和最小在数学中叫做最小二乘法,这里给出一个链接
aotu.io

或者关注凹凸实验室公众号(AOTULabs),不定时推送文章。


本文转自网络,版权归原作者所有,原文链接:https://segmentfault.com/a/1190000040036999
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐