乐趣区

关于javascript:机器学习初探线性回归

题外话

我很早就对人工智能是十分感兴趣的。记得我大学的毕业论文,就是应用遗传算法解决了一个经典的寻路问题。
我始终对人类经典的思维是十分敬畏和崇拜的,比方传统的计算机数据结构算法问题,例如经典的排序算法或者动静布局思维,把一些看似
简单的问题居然用短短十几行甚至一个 for 循环就能解决,这令我感触到了一种美学,也同时对人类的平凡思维而赞叹。
但传统的计算机算法其实还是通过,人来编写代码,人来通过残缺的、解决问题的思路来解决问题。但如果机器能有本人的思维,如果它本人就能“学习”到解决问题的办法,岂不是十分 cool 的一件事。但以我目前的认知来看,当初的人工智能是更像是一种工具,一种“数学工具”,一种“统计学工具”,
它是从大量数据里总结出了一种“法则”,用来解决理论问题。它离电脑真正有思维还相距甚远,甚至以目前来看,二者可能并不是一回事。可能让机器具备思维,还须要在其余学科上进行冲破比方人的认知机制,脑科学进行冲破。哈哈扯远了。

先来介绍本人的一些简略意识。

线性

  1. 什么是线性?

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

要解决它们相干的问题就非常简单。比方在高中就学过,两根直线能够用两个线性方程来示意,想求它们交点的话:

联立出两者的方程组,求出该方程组的解就能够失去交点

  1. 为什么要钻研线性

(1)咱们所处的世界、宇宙太简单了,很多景象都无奈了解,更谈不上用数学去形容;

(2)有一些合乎特定条件的简单问题,能够转化为简略的线性问题。线性问题就能够齐全被了解,齐全能够被数学所形容

回归

以我目前的认知来看,机器学习次要的工作有两类。
第一就是分类工作,比方

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

也就是说,分类的后果是,人为 事后定义的后果范畴里的一种

而第二类工作就是回归工作,而它得出的后果是一个间断数字的值,而非类别。
例如

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

什么是机器学习

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

线性回归的初步理性了解

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

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

单变量线性回归

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

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

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

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

退出移动版