机器学习-01

发布于:2025-06-24 ⋅ 阅读:(14) ⋅ 点赞:(0)

机器学习就是让机器具备找函数的能力。

机器学习监督学习的两大类任务:回归与分类

Regression(回归):回归用于预测连续值(数值型)的输出。

  • 输出是连续的(如价格、温度、销量等)。

  • 目标是建立一个模型,描述输入变量(特征)与连续输出变量之间的关系。

Classification(分类):分类用于预测离散的类别标签(即数据属于哪个类别)。

  • 输出是离散的(如“是/否”、“猫/狗/鸟”、“垃圾邮件/正常邮件”)。

  • 目标是确定数据点所属的类别。

在Regression和Classification之外的机器学习的任务是Structured Learning(让机器生成图片、文章等有结构的输出结果)

机器如何寻找函数?

1.写出一个带有未知参数的函数(猜测寻找的函数f,其数学式长什么样子) 

      Linear Model :y = b + wx^{^{}}   Model是带有未知参数的函数 

y是准备预测的数据,x(feature)是上一个数据(已知),b(bias偏差)和w(weight权重)是未知参数(要通过资料和数据进行寻找)。

2.定义Loss(也是一个函数,损失函数)

Loss函数的输入是model中的参数、

        L(b,w)

Loss输出的值代表:如果将这一组未知的参数设定为某一组数值时,这组数值好还是不好,是否恰当与合适。从训练资料中计算Loss。

将预估的结果与真实的结果进行比对,观察其差距(拟合程度)。label是指现实中正确的数值。

e代表估测值跟实际值之间的差距,N代表训练资料的个数,将所有误差求和,然后求其平均值。L即为Loss,L的值越大表示这组参数越不好,L的值越小表示这组参数越好。

计算误差e有不同的计算方法:

尝试不同的参数,然后计算出其Loss,画出等高线图(Error Surface)。

 3.解最佳化问题(Optimization)

把未知参数w和b代入某个数值,使得L的值最小。该值就是未知参数的最佳值,即w*和b*。

最佳化方法Gradient Descent:

一个参数的情况:

假设现在只有一个未知参数w,当w为不同数值时,会得到不同的Loss。

随机选取一个初始的点w0(Randomly),初始点一般来说是随机的。

计算\frac{\partial L}{\partial w}|w = w0,在w0这个点时的Error Surface的切线斜率。如果切线的斜率为负,代表左高右低,应该增加w的值。从而得到较低的L值;如果切线的斜率为正,代表左低右高,应该降低w的值。从而得到较低的L值。 斜率的绝对值越大,w所移动的步伐越大。

\eta:learning rate学习速率,是自己设定的,同样会影响w所移动的步伐大小。\eta越大参数改变的数据就会越大。

在机器学习中需要自己设定的参数,称为hyperparameters。

w0移动到w1,其中w1 =w0- \eta *\frac{\partial L}{\partial w}|w = w0

一直不断移动,直到有两种情况发生:

        1.到达提前设置计算次数(也是一个hyperparameters)的上限。

        2.不断调整参数w,调整到wn的微分值为0。

其中第二种情况可能导致没有找到全局最小的Loss值(Local minima),只找到了Loss的局部最小值(global minima)

两个参数的情况:

两个参数的情况与一个参数的情况相同。

给其随机的初始值为w0和b0。

计算w和b的偏微分:

\frac{\partial L}{\partial w}|w = w0,b = b0

\frac{\partial L}{\partial b}|w = w0,b = b0

计算完成后,将b0和w0更新为b1和w1。其中b1 =b1 -  \eta *\frac{\partial L}{\partial b}|w = w0,b = b0,w1 = w0 - \eta *\frac{\partial L}{\partial w}|w = w0。


 

 添加负号是因为梯度方向是函数增长最快的方向,反向就是下降最快的方向。

以上的三个步骤合起来称为训练


网站公告

今日签到

点亮在社区的每一天
去签到