跟随着 ChatGPT 等大语言模型掀起的人工智能的浪潮,在这个时间点学习 AI 技术是一个绝佳的机会;但 AI 技术发展历史悠久,大语言模型也是由更为基础的技术更新、迭代、融合而产生,对于初学者而言,从机器学习开始入门无疑是一个不错的选择。
对于机器学习入门而言,吴恩达老师在 Coursera 平台(https://www.coursera.org/)推出的《机器学习》在线课程(https://www.coursera.org/learn/machine-learning)广受好评;本文将以该课程内容为主体大纲,对机器学习中最基础的线性回归模型进行学习,了解机器学习的概念和线性回归模型的实现,并以个人的理解梳理知识框架,作为学习笔记。
本文实验环境:
Ubuntu 22.04
Anaconda
Jupyter-notebook
机器学习(Machine Learning)是人工智能的一个分支,机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法,让机器也能像人类一样,通过观察大量的数据,从而发现事物规律,学习获得某种分析问题、解决问题的能力。
近年来,机器学习已经广泛应用于多个领域比如:识别垃圾邮件、图像识别、语音识别、商品推荐、医疗诊断、无人驾驶、自然语言处理、等等。
目前正火热的大语言模型也属于机器语言领域,其技术发展迭代大致如下:
1.机器学习到大语言模型的技术发展迭代
无论是“传统”的软件编程还是机器学习,其目的都是为了让计算机掌握一种能力;对于软件编程而言,通常由技术人员对需求进行分析,再使用编程语言进行实现它,而对于机器学习,同样先由技术人员对需求进行分析,但随后通过选择或开发相应的模型,并使用大量数据进行训练,使模型拟合出了一种能力;两者的流程对比图如下:
2.软件编程和机器学习的流程对比
对于一些需求场景,软件编程和机器学习都能够良好的完成,但实现的方式完全不同,这意味着前期的投入方向不同,也决定两种方案所能达到的上限不同。
机器学习根据学习方法可以分为四个类型:
监督学习:使用带标签的数据训练模型,机器通过学习输入到输出的映射,通常用于回归、分类;
无监督学习:使用无标签的数据训练模型,机器自己发现数据中的结构或模式,通常用于聚类;
半监督学习:使用少量带标签的训练模型,机器再根据该数据的特征对大量无标签的数据进行标注;
强化学习:机器通过和环境进行交互,根据环境的反馈(奖励或惩罚)来调整自己的行为策略,以取得最大化的预期效果,通常用于游戏AI
线性回归是统计学中最基础且广泛使用的回归技术之一,它用于估计实际值(因变量)和一个或多个自变量(或预测变量)之间的线性关系;其核心思想是假设因变量 y 与自变量 x 之间存在线性关系,即可以用一条直线(或超平面)来描述它们之间的关系,目标是找到一条最佳拟合直线,使得预测值与真实值之间的误差最小。
我们使用机器学习中最为经典的「房价预测」例子来进行说明,假设有下面的数据,表示某地区房屋面积(平方英尺)和售价(美元/千)的关系:
房屋面积(平方英尺) | 售价(美元/千) |
---|
2104 | 399900 |
1600 | 329900 |
2400 | 369000 |
1416 | 232000 |
3000 | 539900 |
使用 numpy
和 matplotlib
库在二维坐标系中绘制这些数据点:
import numpy as np
import matplotlib.pyplot as plt
plt.xlim(0, 3500)
plt.ylim(0, 600)
X = np.array([[2104, 399.900], [1600, 329.900], [2400, 369.000], [1416, 232.000], [3000, 539.900]])
plt.scatter(X[:,0], X[:,1])
plt.xlabel("size in feet2")
plt.ylabel("price in $1000's")
plt.show()
在 Jupyter-notebook 中运行如下:
3.房价预测数据点二维坐标图
从上图观察不难发现使用一条直线能够最大程度的拟合这些数据点,由于这里只有一个自变量(即房屋面积),所以叫做一元线性回归,其函数表示为:
y=ax+b
根据一元线性函数,我们可以猜测直线如下:
4.房价预测猜测拟合直线
我们可以看到蓝色的直线可以较好的拟合这些数据点,那么如何找出这条蓝色的直线,就是线性回归需要求解的问题。
另外在监督学习中我们可以简单将数据集分为连续的(如身高、年龄)或离散的(如性别、学历),连续的数据集通常对应线性回归模型,主要用于预测,而离散的数据集通常对应逻辑(对数)回归模型,主要用于分类;本文中将主要介绍线性回归模型。
在上文的房价预测案例中,数据集中提供了房屋面积(自变量)和价格(因变量)的对应关系,这是一元线性回归问题,其函数表达为:
y=ax+b
数据集中提供的每组数据即对应 xx 和 yy 的值,求解一元线性回归问题就是求解函数中 aa 和 bb 的取值以最好的方式拟合该数据集。在机器学习中,我们通常称之为一元线性回归模型求解,aa 和 bb 称之为模型参数,其中更为细致的划分是 aa 为权重,常用 ww 表示,
bb 为偏置,常用 bb 表示。
求解线性回归模型最直接的数学优化方法是最小二乘法,我们可以观察到使用实际值和预测值之间的误差,可以较好的评估线性回归模型(这里为直线)的拟合情况,如下图所示:
5.实际值和预测值的误差
……
由于后文还涉及大量公式,请访问https://paper.seebug.org/3300/ 或点击左下角“阅读原文”查看全文。
l



