广告
返回顶部
首页 > 资讯 > 精选 >AI怎么训练机器学习的模型
  • 366
分享到

AI怎么训练机器学习的模型

2023-06-14 13:06:35 366人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关ai怎么训练机器学习的模型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.Training: 如何训练模型一句话理解机器学习一般训练过程 :通过有标签样本来调整(学习)并确定

这篇文章将为大家详细讲解有关ai怎么训练机器学习的模型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1.Training: 如何训练模型

一句话理解机器学习一般训练过程 :通过有标签样本来调整(学习)并确定所有权重Weights和偏差Bias的理想值。

训练的目标:最小化损失函数

(损失函数下面马上会介绍)

机器学习算法在训练过程中,做的就是:检查多个样本并尝试找出可最大限度地减少损失的模型;目标就是将损失(Loss)最小化

AI怎么训练机器学习的模型

上图就是一般模型训练的一般过程(试错过程),其中

  • 模型: 将一个或多个特征作为输入,然后返回一个预测 (y') 作为输出。为了进行简化,不妨考虑一种采用一个特征并返回一个预测的模型,如下公式(其中b为 bias,w为weight)

AI怎么训练机器学习的模型

  • 计算损失:通过损失函数,计算该次参数(bias、weight)下的loss。

  • 计算参数更新:检测损失函数的值,并为参数如bias、weight生成新值,以降低损失为最小。

例如:使用梯度下降法,因为通过计算整个数据集中w每个可能值的损失函数来找到收敛点这种方法效率太低。所以通过梯度能找到损失更小的方向,并迭代。

举个Tensorflow代码栗子,对应上面公式在代码中定义该线性模型:

y_output = tf.multiply(w,x) + b

假设该模型应用于房价预测,那么y_output为预测的房价,x为输入的房子特征值(如房子位置、面积、楼层等)

2. Loss Function:损失和损失函数

损失是一个数值 表示对于单个样本而言模型预测的准确程度。

如果模型的预测完全准确,则损失为零,否则损失会较大。

训练模型的目标是从所有样本中找到一组平均损失“较小”的权重和偏差。

损失函数的目标:准确找到预测值和真实值的差距

AI怎么训练机器学习的模型

如图 红色箭头表示损失,蓝线表示预测。明显左侧模型的损失较大;右侧模型的损失较小

要确定loss,模型必须定义损失函数 loss function。例如,线性回归模型通常将均方误差用作损失函数,而逻辑回归模型则使用对数损失函数。

正确的损失函数,可以起到让预测值一直逼近真实值的效果,当预测值和真实值相等时,loss值最小。

举个TensorFlow代码栗子,在代码中定义一个损失loss_price 表示房价预测时的loss,使用最小二乘法作为损失函数:

loss_price = tr.reduce_sum(tf.pow(y_real - y_output), 2)

这里,y_real是代表真实值,y_output代表模型输出值(既上文公式的y' ),因为有的时候这俩差值会是负数,所以会对误差开平方,具体可以搜索下最小二乘法公式

3. Gradient Descent:梯度下降法

理解梯度下降就好比在山顶以最快速度下山:

好比道士下山,如何在一座山顶上,找到最短的路径下山,并且确定最短路径的方向

原理上就是凸形问题求最优解,因为只有一个最低点;即只存在一个斜率正好为 0 的位置。这个最小值就是损失函数收敛之处。

AI怎么训练机器学习的模型

通过计算整个数据集中 每个可能值的损失函数来找到收敛点这种方法效率太低。我们来研究一种更好的机制,这种机制在机器学习领域非常热门,称为梯度下降法。

梯度下降法的目标:寻找梯度下降最快的那个方向

梯度下降法的第一个阶段是为 选择一个起始值(起点)。起点并不重要;因此很多算法就直接将 设为 0 或随机选择一个值。下图显示的是我们选择了一个稍大于 0 的起点:

AI怎么训练机器学习的模型

然后,梯度下降法算法会计算损失曲线在起点处的梯度。简而言之,梯度是偏导数的矢量;它可以让您了解哪个方向距离目标“更近”或“更远”。请注意,损失相对于单个权重的梯度(如图 所示)就等于导数。

请注意,梯度是一个矢量,因此具有以下两个特征:

  • 方向

  • 大小

梯度始终指向损失函数中增长最为迅猛的方向。梯度下降法算法会沿着负梯度的方向走一步,以便尽快降低损失

为了确定损失函数曲线上的下一个点,梯度下降法算法会将梯度大小的一部分与起点相加

AI怎么训练机器学习的模型

然后,梯度下降法会重复此过程,逐渐接近最低点。(找到了方向)

  • 随机梯度下降法SGD:解决数据过大,既一个Batch过大问题,每次迭代只是用一个样本(Batch为1),随机表示各个batch的一个样本都是随机选择。

4. Learning Rate:学习速率

好比上面下山问题中,每次下山的步长。

因为梯度矢量具有方向和大小,梯度下降法算法用梯度乘以一个称为学习速率(有时也称为步长)的标量,以确定下一个点的位置。这是超参数,用来调整AI算法速率

例如,如果梯度大小为 2.5,学习速率为 0.01,则梯度下降法算法会选择距离前一个点 0.025 的位置作为下一个点。

超参数是编程人员在机器学习算法中用于调整的旋钮。大多数机器学习编程人员会花费相当多的时间来调整学习速率。如果您选择的学习速率过小,就会花费太长的学习时间:

AI怎么训练机器学习的模型

继续上面的栗子,实现梯度下降代码为:

train_step = tf.train.GradientDescentOptimizer(0.025).minimize(loss_price)

这里设置梯度下降学习率为0.025, GradientDescentOptimizer()就是使用的随机梯度下降算法, 而loss_price是由上面的损失函数获得的loss

至此有了模型、损失函数以及梯度下降函数,就可以进行模型训练阶段了:

Session = tf.Session()Session.run(init)for _ in range(1000):Session.run(train_step, feed_dict={x:x_data, y:y_data})

这里可以通过for设置固定的training 次数,也可以设置条件为损失函数的值低于设定值,

x_data y_data则为训练所用真实数据,x y 是输入输出的placeholder(代码详情参见TensorFlow api文档)

5. 扩展:BP神经网络训练过程

BP(BackPropagation)网络的训练,是反向传播算法的过程,是由数据信息的正向传播和误差Error的反向传播两个过程组成。

反向传播算法是神经网络算法的核心,其数学原理是:链式求导法则

  • 正向传播过程:

输入层通过接收输入数据,传递给中间层(各隐藏层)神经元,每一个神经元进行数据处理变换,然后通过最后一个隐藏层传递到输出层对外输出。

  • 反向传播过程:

正向传播后通过真实值和输出值得到误差Error,当Error大于设定值,既实际输出与期望输出差别过大时,进入误差反向传播阶段:

Error通过输出层,按照误差梯度下降的方式,如上面提到的随机梯度下降法SGD,反向修正各层参数(如Weights),向隐藏层、输入层逐层反转。

通过不断的正向、反向传播,直到输出的误差减少到预定值,或到达最大训练次数。

AI怎么训练机器学习的模型

关于“AI怎么训练机器学习的模型”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: AI怎么训练机器学习的模型

本文链接: https://www.lsjlt.com/news/271143.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • AI怎么训练机器学习的模型
    这篇文章将为大家详细讲解有关AI怎么训练机器学习的模型,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.Training: 如何训练模型一句话理解机器学习一般训练过程 :通过有标签样本来调整(学习)并确定...
    99+
    2023-06-14
  • AI:如何训练机器学习的模型
    目录1.Training: 如何训练模型2. Loss Function:损失和损失函数3. Gradient Descent:梯度下降法4. Learning Rate:学习速率5...
    99+
    2022-11-12
  • 前端AI机器学习在浏览器中训练模型
    目录识别鸢尾花测试集: testing.json训练集: training.json完整代码index.htmlindex.jsstyles.csspackage.json识别鸢尾花...
    99+
    2022-11-13
  • 训练自己的ai模型(一)学习笔记与项目实操
    ai模型大火,作为普通人,我也想做个自己的ai模型 训练自己的ai模型通常需要接下来的的六步一、收集和准备数据集:需要收集和准备一个数据集,其中包含想要训练模型的数据。这可能需要一些数据清理和预处理,以确保数据集的质量和一致性。二、选择和设...
    99+
    2023-08-17
    人工智能 学习 python java
  • 使用Java中的TensorFlow来构建和训练机器学习模型
    如果您觉得本博客的内容对您有所帮助或启发,请关注我的博客,以便第一时间获取最新技术文章和教程。同时,也欢迎您在评论区留言,分享想法和建议。谢谢支持! 一、引言 1.1 TensorFlow简介 TensorFlow是由Google B...
    99+
    2023-09-28
    机器学习 java tensorflow
  • 云服务器训练模型怎么用的
    编写代码:使用云服务器可以使编写代码更加灵活和方便。在云服务器上运行的代码可以跨平台运行,从而使开发人员可以在不同的设备上使用相同的代码库。另外,云服务器上的代码可以自动化部署和管理 ...
    99+
    2023-10-27
    模型 服务器
  • 云服务器训练模型怎么用
    1. 选择云服务器 在使用云服务器训练模型之前,首先需要选择一款适合的云服务器。常见的云服务器提供商有阿里云、腾讯云、AWS等。选择云服务器时需要考虑以下因素: 服务器配置:包括CPU、内存、硬盘等配置,需要根据模型大小和训练数据量来选...
    99+
    2023-10-27
    模型 服务器
  • 模型训练:优化人工智能和机器学习,完善DevOps工具的使用
    作者:JFrog大中华区总经理董任远 据说法餐的秘诀在于黄油、黄油、更多的黄油。同样,对于DevOps而言,成功的三大秘诀是自动化、自动化、更高程度的自动化,而这一切归根结底都在于构建能够更快速地不断发布新版软件的流程。 尽管人们认为在人...
    99+
    2023-09-05
    人工智能 机器学习 devops
  • python深度学习tensorflow训练好的模型进行图像分类
    目录正文随机找一张图片读取图片进行分类识别最后输出正文 谷歌在大型图像数据库ImageNet上训练好了一个Inception-v3模型,这个模型我们可以直接用来进来图像分类。 下载链...
    99+
    2022-11-11
  • 在浏览器中怎么实现训练模型
    这篇“在浏览器中怎么实现训练模型”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“在浏览器中怎么实现训练模型”文章吧。识别鸢尾花...
    99+
    2023-07-02
  • PyTorch 迁移学习实践(几分钟即可训练好自己的模型)
    前言 如果你认为深度学习非常的吃GPU,或者说非常的耗时间,训练一个模型要非常久,但是你如果了解了迁移学习那你的模型可能只需要几分钟,而且准确率不比你自己训练的模型准确率低,本节我们...
    99+
    2022-11-12
  • 云服务器训练模型是什么样的
    在使用云服务器的过程中,用户需要关注以下几个方面: 数据库:云服务器可以使用数据库服务来存储和管理数据。用户需要购买云服务器提供商的数据库服务,并且需要配置云服务器提供商的服务器地址、用户名和密码等基本信息。 负载均衡:云服务器可以使用...
    99+
    2023-10-27
    模型 服务器
  • ChatGPT Python模型训练指南:定制化聊天机器人的步骤
    ChatGPT Python模型训练指南:定制化聊天机器人的步骤概述:近年来,NLP(自然语言处理)技术的日益发展,使得聊天机器人越来越受到人们的关注。OpenAI的ChatGPT是一种强大的预训练语言模型,可以用于构建多领域的聊天机器人。...
    99+
    2023-10-24
    ChatGPT 关键词: Python模型训练 定制化聊天机器人
  • 机器学习多项式拟合模型怎么应用
    机器学习的多项式拟合模型可以应用于回归问题中,其中输入数据和目标值之间存在非线性关系。多项式拟合模型可以通过拟合一个多项式函数来逼近...
    99+
    2023-09-25
    机器学习
  • 机器学习模型解释工具SHAP怎么使用
    SHAP(SHapley Additive exPlanations)是一种机器学习模型解释工具,它可以解释模型的预测结果,帮助理解...
    99+
    2023-10-21
    机器学习 SHAP
  • ChatGPT Python模型训练指南:为聊天机器人注入新的技能
    ChatGPT Python模型训练指南:为聊天机器人注入新的技能,需要具体代码示例引言:近年来,人工智能技术的快速发展使得聊天机器人在各个领域得到广泛应用。然而,现有的聊天机器人模型往往只能提供基本的对话功能,无法具备更加智能的技能,如问...
    99+
    2023-10-24
    关键词: Python(编程语言) ChatGPT(聊天模型) 训练指南
  • ChatGPT Python模型训练指南:为聊天机器人加入新的常识
    ChatGPT Python模型训练指南:为聊天机器人加入新的常识,需要具体代码示例导语:随着人工智能技术的快速发展,聊天机器人已经成为我们生活中不可或缺的一部分。然而,现有的聊天机器人往往缺乏常识性和逻辑性,无法理解一些基本常识和常见情景...
    99+
    2023-10-24
    聊天机器人 ChatGPT Python模型训练
  • Python中怎么创建线性回归机器学习模型
    Python中怎么创建线性回归机器学习模型,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。线性回归机器学习模型1.要使用的数据集由于线性回归是我们在本文中学习的第一个机器学习模型...
    99+
    2023-06-16
  • 机器学习中词袋模型和TF-IDF怎么理解
    本篇内容主要讲解“机器学习中词袋模型和TF-IDF怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“机器学习中词袋模型和TF-IDF怎么理解”吧!示例我将用一个流行的例子来解释本文中的Bag...
    99+
    2023-06-19
  • python解释模型库Shap怎么实现机器学习模型输出可视化
    本篇内容主要讲解“python解释模型库Shap怎么实现机器学习模型输出可视化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python解释模型库Shap怎么实现机器学习模型输出可视化”吧!安装...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作