机器学习——2.损失函数loss

基本概念

损失函数也叫代价函数。损失函数就是计算预测结果和实际结果差距的函数,机器学习的过程就是试图将损失函数的值降到最小

图左:|t_p - t_c|             图右:(t_p - t_c)**2

代码实现

过程推导

训练数据:

t_c = [0.5,14.0,15.0,28.0,11.0,8.0,3.0,-4.0,6.0,13.0,21.0]
t_u = [35.7,55.9,58.2,81.9,56.3,48.9,33.9,21.8,48.4,60.4,68.4]

通过散点图观察到训练数据与真值对应关系是线性变化,我们假设该方程为:y=wx+b

由此可以定义一个模型:

# 定义模型,假设这是一个简单的线性模型
def model(t_c,w,b):return t_c*w+b

我们需要计算预测值与真实值的差距(损失函数)来更新w和b的参数,来找到最适合的w和b值。

# 定义损失计算函数
def loss_fn(t_p,t_c):return ((t_p-t_c)**2).mean()

计算损失:

w = torch.ones(())
b = torch.zeros(())
t_p = model(t_c,w,b)
loss = loss_fn(t_p,t_u)
# loss tensor(1763.8848)

手动更新损失降损失降低至最小:

w = torch.ones(())
b = torch.ones(())
t_p = model(t_c,w,b)
loss = loss_fn(t_p,t_u)
# loss tensor(1682.2847)

完整代码

import torch
import numpy as np
import matplotlib.pyplot as plt
# 训练数据
t_c = [0.5,14.0,15.0,28.0,11.0,8.0,3.0,-4.0,6.0,13.0,21.0]
# 对应真值
t_u = [35.7,55.9,58.2,81.9,56.3,48.9,33.9,21.8,48.4,60.4,68.4]
t_c = torch.tensor(t_c)
t_u = torch.tensor(t_u)
# 数据观察
# plt.scatter绘制散点图,参数C是点的颜色,edgecolors是点的边框颜色
plt.scatter(t_c,t_u,c='r',edgecolors='g')
# 定义模型,假设这是一个简单的线性模型
def model(t_c,w,b):return t_c*w+b
# 定义损失计算函数
def loss_fn(t_p,t_c):return ((t_p-t_c)**2).mean()# 计算损失
w = torch.ones(())
b = torch.zeros(())
t_p = model(t_c,w,b)
loss = loss_fn(t_p,t_u) # tensor(1763.8848)# 手动更新损失
w = torch.ones(())
b = torch.ones(())
t_p = model(t_c,w,b)
loss = loss_fn(t_p,t_u) # tensor(1682.2847)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/670312.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM——用于微调预训练大型语言模型(LLM)的GPU内存优化与微调

前言 GPT-4、Bloom 和 LLaMA 等大型语言模型(LLM)通过扩展至数十亿参数,实现了卓越的性能。然而,这些模型因其庞大的内存需求,在部署进行推理或微调时面临挑战。这里将探讨关于内存的优化技术,旨在估计并优…

【Elasticsearch<四>✈️✈️】SpringBoot 项目整合 Elasticsearch

目录 🍸前言 🍻一、Elasticsearch 本地环境启动 🍺二、SpringBoot 项目整合 Elasticsearch 2.1 引入 ES 依赖 2.2 配置 ES 属性 2.3 创建实体类 2.4 操作 ES 的工具类 2.5 操作 ES 的业务层 🍹三、接口测试 3.1 编写测试类 3…

跟TED演讲学英文:What moral decisions should driverless cars make by Iyad Rahwan

What moral decisions should driverless cars make? Link: https://www.ted.com/talks/iyad_rahwan_what_moral_decisions_should_driverless_cars_make Speaker: Iyad Rahwan Date: September 2016 文章目录 What moral decisions should driverless cars make?Introduct…

Mac跑llama.cpp过程中遇到的问题

原repo 在华为手机上安装termux、下载库:顺利在电脑上安装Android NDK:先下载Android Studio,再在里面下载Android SDK 安装Android Studio时,SDK的某些组件总是下载不成功。后来关了梯子、改了hosts,重新安装就成功了…

年轻人刮疯了,刮刮乐断货了

年轻人刮疯了 刮刮乐缺货了。 00后彩票店老板陆诗等得有点着急。她的福彩店开在深圳,今年4月才开门营业,但从开业到今天,刮刮乐总共就来了一回货——开业时发的20本。 那之后,刮刮乐就彻底断供了。原本,陆诗想把刮刮…

5G Advanced and Release18简述

5G Advanced 5G-Advanced, formally defined in 3GPP Release 18, represents an upgrade to existing 5G networks. 先睹robot总结的5G Advanced的advancements: Enhanced Mobility and Reliability: 5G-Advanced will support advanced applications with improved mobility…

客户管理软件排行榜:对比18款CRM

本文将对比18个客户管理软件:纷享销客、Zoho CRM、Salesforce、HubSpot CRM、Pipedrive、Freshsales、Microsoft Dynamics 365 CRM、Insightly CRM、Nimble CRM、Apptivo CRM、SugarCRM、白码CRM、简信CRM、销帮帮CRM、Teamface企典CRM、神州云动CRM、悟空CRM、八百…

The forms of the layered MVP in Acise

在Layered MVP架构,Model负责业务逻辑,View负责用户界面,Presenter处于Model与View之间,一方面将Model数据转换成界面数据,另一方面将用户界面输入投递到Model层。 一般地,Model数据显示涉及到对象树、视图…

私域流量引流方式有哪些?

私域流量引流的方法无非是营销渠道投放、各平台KOL投放、自有自媒体平台账号内容引流、线下引流、老客户转介绍裂变等几个方面,下面对各种不同方法进行简单介绍。 1、营销渠道投放:选择广点通、粉丝通、某些app的信息流和dou等大平台自带的推广渠道工具…

el-select 点击按钮滚动到选择框顶部

主要代码是在visibleChange 在这个 popper 里面找到 .el-select-dropdown__list let popper ref.$refs.popper const ref this.$refs.select let dom popper.querySelector(.el-select-dropdown__list) setTimeout(() > { dom.scrollIntoView() }, 800) <templat…

蓝牙连接手机播放音乐的同时传输少量数据,那些蓝牙芯片可以实现呢

简介 蓝牙连接手机播放音乐的同时连接另一蓝牙芯片传输少量数据&#xff0c;那些蓝牙芯片可以实现呢&#xff1f; 这个需求&#xff0c;其实就是双模的需求 简单描述就是:播放音乐的同时&#xff0c;还可以连接ble&#xff0c;进行数据的传输。二者同时进行&#xff0c;互不…

五一 作业

#include <iostream>using namespace std; class Num { private:int a; public:Num() {}Num(int a):a(a){}//设置a的值void set(int a){this->aa;}//1-a的和void Sum(){if(a<1){cout<<"a<1"<<endl;return;}int sum0;for(int i1;i<a;i)…