机器学习第一道菜(一):线性回归的理论模型

机器学习第一道菜(一):线性回归的理论模型

  • 一、问题:千金买笑
    • 1.1 散点图
    • 1.2 机器学习能搞啥
  • 二、模型的建立
    • 2.1 线性回归
    • 2.2 回归模型

前面讲了机器学习的“四大绝技”,今天,开始研究第一绝技“回归”,这篇文章就从最简单的线性回归开始讲起。

一、问题:千金买笑

1.1 散点图

以追女孩为例,假设送的礼物越贵,妹子对我们抱以微笑的时候就越多。也就是说,二者成线性关系:妹子的微笑次数是礼物金额的一次函数。
假设某君实际统计了一系列礼物金额与微笑次数的数据,并画出散点图:
在这里插入图片描述
现在交给你个任务,请回答:送6000元礼物能有多少次微笑回馈。
这个问题很简单,一眼就能看个差不离,大概四五十次的样子。
在这里插入图片描述

1.2 机器学习能搞啥

那能不能根据已有数据,找出一条最佳直线来表示礼物金额和微笑次数的函数关系呢?如果找到了这条线,不就可以预测出要花多少钱就能让妹子对我们笑一万次了吗?
这就是机器学习要做的事情:分析数据找规律。
只不过呢,机器学习可能会有点意见,认为解这道题有点大材小用。
在这里插入图片描述
咱们这样简化处理纯为方便理解,现实生活中可能有1000个影响因素,还拿妹子的微笑来说,真是你花钱就能买到的吗?可能你扶个老妹妹过马路,被妹子看到都会大方地给你个微笑。

二、模型的建立

2.1 线性回归

不管是简单版还是复杂版,类似这样的问题都属于机器学习的回归任务。回归就是要找到一条函数曲线,去近似模拟真实世界的规律。有关回归更详细的介绍参见:【深度解析】机器学习的“四大绝技”
这些已有的离散点越多,机器学习吃得越饱,模拟得也就越精确。找到了这条曲线,就可以用来预测未来下一个点会打在什么地方,或者某个条件下点会打在什么地方。
不过咱们要找的线不是什么复杂的曲线,而是一条直线,像这样的回归问题叫“线性回归”。
因为两点确定一条直线,显然,对于上面的散点图来说,不可能找到一条完美的直线,通过所有点。这很好理解,妹子的微笑不可能完全由一根直线决定,因此这些点是有噪声的。
我们要找的应该是类似下图的一条直线:
在这里插入图片描述
这个过程在数学中叫“拟合”。

2.2 回归模型

一次函数的表达式为y=kx+b,其中k是斜率、b是截距。
只要确定了斜率和截距,一次函数的图像形状也就确定了,因此我们要做的就求出k和b。
NO,NO,NO。
这里我们要来个画风突变。
在机器学习的世界里,我们要用统计学的风格来表达函数关系,将表达式写成下面的形式:
y = θ 0 + θ 1 x y=\theta_0 + \theta_1x y=θ0+θ1x
θ \theta θ读作“西塔(theta)”,就是接下来我们要求的未知数(或者叫参数)。
为什么要搞个“西塔”出来,还要带下标呢?有两个原因:
(1)命名习惯。在统计学领域,常使用θ来表示未知数和推测值。
(2)队伍多了不好带。如果函数有很多项,那就会大量出现a、b、c、d…这样的符号,显得很混乱,就像一支军队个个都穿得花里胡哨的。此外,如果有1000项,集齐全世界的符号都不够用了,而用数字做下标就不存在问题了。所以,为了整齐划一、多带队伍,就得统一军装,并下发编号。
现在机器学习的理论模型就算搭建好了,接下来要做的就是不断地给机器喂x、y,让它求出 θ \theta θ的过程。
怎么计算呢?
计算机也不知道给多大的值合适,那就先随便给个随机值,比如设 θ 0 = 1 \theta_0=1 θ0=1 θ 1 = 2 \theta_1=2 θ1=2,则表达式变为:
y = 1 + 2 x y=1 + 2x y=1+2x
然后开始喂数据,假设把x=2000代入表达式,则:
y = 1 + 2 x = 1 + 2 × 2000 = 4001 y=1 + 2x =1 + 2\times2000 =4001 y=1+2x=1+2×2000=4001
这差得也太远了吧,从图上看y的实际值也就应该20左右的样子。
计算值与实际值差别大,就说明刚才假设 θ 0 = 1 \theta_0=1 θ0=1 θ 1 = 2 \theta_1=2 θ1=2是不正确的,这就需要调整 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1的值,使计算值与实际值的差最小。
只使这一组数据的差值最小显然不行,应该使所有数据的差都尽量的小。
怎么办呢?聪明的你肯定能想到,那就对所有数据的差求和,只要这个和最小就可以了。
这就需要用到“最小二乘法”,咱们以后再说。

:有关机器学习的其他文章
数据分析vs机器学习
离程序库越近,离真理越远
TensorFlow的简明介绍:机器学习界的谷大拿
机器学习与人工智能的关系
机器学习的爆发秘密
【深度解析】机器学习的“四大绝技”

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

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

相关文章

http转化为https生成自签名证书

背景 项目开发阶段前后交互采用http协议,演示环境采用htttps协议 ,此处为个人demo案例 组件 后端:springBoot 前端:vue web 服务:tomcat 部署环境:linux 生成自签名证书 创建目录 存储证书位置 # mkdir -p…

【安卓开发】【Android】总结:安卓技能树

【持续更新】 对笔者在安卓开发的实践中认为必要的知识点和遇到的问题进行总结。 一、基础知识部分 1、Android Studio软件使用 软件界面 最新的版本是瓢虫(Ladybug),bug的确挺多。笔者更习惯使用电鳗(Electric Eel&#xff0…

PT8M2302 触控 A/D 型 8-Bit MCU

1. 产品概述 PT8M2302 是一款可多次编程( MTP ) A/D 型 8 位 MCU ,其包括 2K*16bit MTP ROM 、 256*8bit SRAM、 ADC 、 PWM 、 Touch 等功能,具有高性能精简指令集、低工作电压、低功耗特性且完全集 成触控按键功能。为…

HunyuanVideo 文生视频模型实践

HunyuanVideo 文生视频模型实践 flyfish 运行 HunyuanVideo 模型使用文本生成视频的推荐配置(batch size 1): 模型分辨率(height/width/frame)峰值显存HunyuanVideo720px1280px129f60GHunyuanVideo544px960px129f45G 本项目适用于使用 N…

【网络 MAC 学习专栏 -- 如何理解 PHY 的 Link Up】

请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 OverviewClause 22/Clause 45Clause 22Clause 45 PHY Link 状态的软件实现 转自: 开心果 Need Car 2022年10月20日 09:50 上海 Overview PHY…

npm发布组件(vue3+webpack)

1.初始化Vue项目 vue create my-app 2.本地运行 npm run serve 3.新增目录和文件 1. src/package/index.js 2. src/package/wlz-btn/index.vue 3. src/package/wlz-input/index.vue // src\package\index.js import WlzBtn from "./wlz-btn"; import WlzInput …

数据库(MySQL)练习

数据库(MySQL)练习 一、练习1.15练习1.16练习 二、注意事项2.1 第四天 一、练习 1.15练习 win11安装配置MySQL超详细教程: https://baijiahao.baidu.com/s?id1786910666566008458&wfrspider&forpc 准备工作: mysql -uroot -p #以…

基于华为云车牌识别服务设计的停车场计费系统【华为开发者空间-鸿蒙】

文章目录 手把手的技术干货教程,记录从0到1的开发过程。一、前言1.1 内容简介1.2 云主机1.3 开发环境1.4 功能说明 二、华为云开发者空间2.1 进入开发者空间2.2 配置云主机2.3 安装系统2.4 启动云主机2.5 全屏切换2.6 共享桌面2.5 测试Python开发环境2.6 安装reques…

如何在前端给视频进行去除绿幕并替换背景?-----Vue3!!

最近在做这个这项目奇店桶装水小程序V1.3.9安装包骑手端V2.0.1小程序前端 最近,我在进行前端开发时,遇到了一个难题“如何给前端的视频进行去除绿幕并替换背景”。这是一个“数字人项目”所需,我一直在冥思苦想。终于有了一个解决方法…

Yolov8 目标检测剪枝学习记录

最近在进行YOLOv8系列的轻量化,目前在网络结构方面的优化已经接近极限了,所以想要学习一下模型剪枝是否能够进一步优化模型的性能 这里主要参考了torch-pruning的基本使用,v8模型剪枝,Jetson nano部署剪枝YOLOv8 下面只是记录一个…

AWS Lambda

AWS Lambda 是 Amazon Web Services(AWS)提供的无服务器计算服务,它让开发者能够运行代码而不需要管理服务器或基础设施。AWS Lambda 会自动处理代码的执行、扩展和计费,开发者只需关注编写和部署代码,而无需担心底层硬…

MySQL-索引

目录 🌴概念 🌵作用 🌱使用场景 🎄使用 查看索引 创建索引 删除索引 🌴概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类…

自动化办公|xlwings简介

xlwings 是一个开源的 Python 库,旨在实现 Python 与 Microsoft Excel 的无缝集成。它允许用户使用 Python 脚本自动化 Excel 操作,读取和写入数据,执行宏,甚至调用 VBA 脚本。这使得数据分析、报告生成和其他与 Excel 相关的任务…

【物联网】ARM核介绍

文章目录 芯片产业链1. CPU核(1)ARM(2)MIPS(3)PowerPc(4)Intel(5)RISC-V 2. SOC芯片(1)主流厂家(2)产品解决方案 3. 产品 ARM核发展1. 不同架构的特点分析(1)VFP(2)Jazelle(3)Thumb(4)TrustZone(5)SIMD(6)NEON ARM核(ARMv7)工作模式1. 权限级别(privilege level)2. ARM process…

SuperMap iClient3D for Cesium立体地图选中+下钻特效

在大屏展示系统中,对行政区划数据制作了立体效果,如果希望选中某一行政区划进行重点介绍,目前常见的方式是通过修改选中对象色彩、边线等方式进行实现;这里提供另外一种偏移动效的思路,并提供下钻功能,让地…

Linux的常用命令(三)

目录 六、网络通信命令 1.网络通信命令ping 2.网络通信命令ifconfig 七、系统命令 1. 系统命令shutdown 2. 系统命令reboot 八、vi编辑器 六、网络通信命令 1.网络通信命令ping 命令名称:ping 命令所在路径:/usr/sbin/ping 执行权限&#xff…

SQL Prompt 插件

SQL Prompt 插件 注:SQL Prompt插件提供智能代码补全、SQL格式化、代码自动提示和快捷输入等功能,非常方便,可以自行去尝试体会。 1、问题 SSMS(SQL Server Management Studio)是SQL Server自带的管理工具&#xff0c…

《小迪安全》学习笔记05

目录 读取: 写入: (其中的读取和写入时我认为比较重要的,所以单独做成了目录,这里的读取和写入是指在进行sql注入的时候与本地文件进行的交互) 好久没发博客了。。。从这篇开始的小迪安全学习笔记就开始…

SpringCloud源码-Ribbon

一、Spring定制化RestTemplate,预留出RestTemplate定制化扩展点 org.springframework.cloud.client.loadbalancer.LoadBalancerAutoConfiguration 二、Ribbon定义RestTemplate Ribbon扩展点功能 org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguratio…

Linux 常用命令 - chmod 【改变文件或目录权限】

简介 “chmod” 这个命令来自于 “change mode” 的缩写,用于更改文件或目录的访问权限。这个命令允许用户设定谁可以读取、写入或执行一个文件。在 Linux 和其他类 Unix 系统中,文件权限对系统安全和用户隐私至关重要。 Linux/Unix 的文件调用权限分为…