机器学习1

机器学习简介

定义

Arthur Samuel(1959): Field of study that gives computers the ability to learn without being explicitly programmed. 

将机器学习定义为   赋予计算机在没有明确编程的情况下进行学习的能力的研究领域。

om Mitchell(1998): Well-posed Learning Problem:A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

 计算机程序从经验E中学习解决某一任务T,进行某一性能度量P,通过P测定在T上的表现因经验E而提高。例如,在人机玩跳棋游戏中,经验E是程序与自己下几万次跳棋;任务T是玩跳棋;性能度量P是与新对手玩跳棋时赢的概率。

分类

监督学习:(使用最多)  监督学习利用训练数据集学习一个模型,再用模型对测试样本集进行预测。它的训练数据是有标签的,训练目标是能够给新数据(测试数据)以正确的标签。

监督学习算法:线性回归、Logistic回归、神经网络、支持向量机等。

无监督学习:让计算机自己进行学习。它的训练数据是无标签的,训练目标是能对观察值进行分类或者区分等。

无监督学习算法:聚类、降维、异常检测算法等。

线性回归模型

回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析.

回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析

一元线性回归

 假设函数

对于该函数,我们自然希望得到使误差尽可能小的w、bw,因此我们又引入了代价函数来计算fw,b(x)的误差

 代价函数

单变量线性回归模型中,我们的目标是找到一条线性的hypothesisfw,b(x)函数来拟合数据集中的数据,这样输入一个变量就能得到估计的结果。将数据集作为样本,通过学习算法的训练,就可以得到w、bw,这样也就得到了目标函数。对于该函数,我们自然希望得到使误差尽可能小的w、bw,因此我们又引入了代价函数来计算fw,b(x)函数的误差。

yi是样本的实际值。m是样本的个数,成本函数亦被称之为平均均方误差,除以2是为了方便后面梯度下降算法的计算。

我们的目标是minimize J(θ01),得到θ01的值。

 梯度下降

梯度下降算法实现线性回归模型代价函数的最小化:  通过对每个自变量求偏导数,通过让偏导数为零来求得目标函数最小化时的自变量。

目的:是找出梯度下降的方向,是自变量沿着梯度逐步减小,最终收敛到局部最小值。

 注意:

  • w,b的值是同步变换的
  • α是学习速度,为正。表明以多大的幅度来收敛,若幅度太小,收敛步数增加,若幅度太大有可能越过收敛点导致收敛困难(直接越过了局部最小值)。

多变量线性回归

 之前探讨的是单变量/特征的回归模型, 现在我们对房价模型增加更多的特征,例如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为:(x1,x2,......xn

𝑛 代表特征的数量

x(i)代表第 𝑖 个训练实例,是特征矩阵中的第𝑖行,是一个向量( vector);xj(i)代表特征矩阵中第 𝑖 行的第 𝑗 个特征,也就是第 𝑖 个训练实例的第 𝑗 个特征。

回归模型表示为:

 简化为:

θ 和 x 都是 n + 1维向量。

 多变量梯度下降

假设函数:

 代价函数:

 然后更新所有的参数值,从θ0到 θn,直到收敛:

 特征缩放

当多个特征的取值范围相差很大时,梯度下降算法运行的很慢,此时需要将多个特征值缩放到一个相近的范围内。

可以使用均值归一化的方法实现特征缩放。均值归一化:

 其中μn是平均值, Sn是标准差。

学习率

 梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们可以通过绘制迭代次数和代价 函数的图来观察算法在何时趋于收敛。

如果学习率𝑎过小,则达到收敛所需的迭代次数会非常高。
如果学习率𝑎过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。

选择 α时, 可以尝试 0.001 , 0.003 , 0.01 , 0.03 , 0.1 , 0.3 , 1 , … 等值。

特征和多项式回归

线性回归有时并不适用于所有数据,这时我们需要曲线来适应我们的数据,这就是多项式回归。

比如一个二次方模型:

 或者三次方模型:

 

posted on   gjwqz  阅读(15)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示