机器学习概括

news2024/11/17 5:53:37

文章目录

  • 一、机器学习是什么?
  • 二、模型训练
    • YouTube流量预测
      • 1. 先写一个具有未知参数的函数(Function)
      • 2. 定义损失(从训练数据进行计算)
      • 3.最优化
      • 4.结果分析
    • Back to framework
      • 1.带有未知数的函数:
      • 2.定义损失(从训练数据进行计算)
      • 3. 最优化
      • 4.激活函数
      • 5.继续改我们的模型
  • 三、Neural Network


一、机器学习是什么?

机器学习≈找一个函数
在这里插入图片描述

这个函数不是人能容易的找出来,需要借助机器的力量。
在这里插入图片描述
不同的函数:

  • 回归(Regression):函数输出一个标量。eg.对PM2.5的预测:

对PM2.5的预测

  • 分类(Classification):给定选项(类),函数输出正确的选项。eg1二分类.是否为垃圾邮件:
    是否为垃圾邮件
    eg2多分类.下围棋:
    在这里插入图片描述

二、模型训练

训练:

  • 先写一个具有未知参数的函数(Function)
  • 定义损失(从训练数据进行计算)
  • 最优化

YouTube流量预测

有没有可能找一个函数,输入是这个频道后台的数据,输出隔天的总点阅率?
在这里插入图片描述
机器学习找这个函数分为三个过程,以 YouTube流量预测为例。

1. 先写一个具有未知参数的函数(Function)

先猜测函数的类型
在这里插入图片描述

2. 定义损失(从训练数据进行计算)

损失是一个关于参数的函数
在这里插入图片描述
函数输入的值代表:这一组参数设定某一组数值,这个数值是好还是不好。
在这里插入图片描述
在这里插入图片描述
同样的方法,我们可以算出三年来每一天的预测误差。
在这里插入图片描述
接下来我们把三年的误差求平均。
在这里插入图片描述

L越小参数设置越好,越大越不好。

计算误差有很多方式,根据需求选取。
在这里插入图片描述
如果真实值与预测值是概率分布,可能选择交叉熵损失。

误差曲面:
在这里插入图片描述

3.最优化

找一组参数是的L最小
在这里插入图片描述

为此我们使用梯度下降(gradient decent)

简化过程,一个参数的gradient decent:
在这里插入图片描述
在这里插入图片描述

  • 随机选取初始点 w 0 w_0 w0
  • 计算 ∂ L ∂ w ∣ w = w 0 \frac{\partial L}{\partial w}|_{w=w_0} wLw=w0。(就是看左右哪边高,向低的跨步)
    若求出为负值(左高右低的切线),增大w,loss就变小;若求出为正值(左低右高的切线),减小w,loss就变大。
    步子跨多大,取决于:1.斜率(斜率大就跨大一点),2学习率(自己设定的)
  • 更新迭代w
    在这里插入图片描述
    ∂ L ∂ w ∣ w = w 0 \frac{\partial L}{\partial w}|_{w=w_0} wLw=w0计算为0就不在更新了。

有可能梯度下降会陷入局部最优
在这里插入图片描述

局部最小值真的会导致问题吗?(后面会说gradient decent的真正痛点)

两个参数的gradient decent:
在这里插入图片描述

  • 随机选取初始点 w 0 , b 0 w_0,b_0 w0b0
  • 计算 ∂ L ∂ w ∣ w = w 0 , b = b 0 , ∂ L ∂ b ∣ w = w 0 , b = b 0 \frac{\partial L}{\partial w}|_{w=w_0,b=b_0},\frac{\partial L}{\partial b}|_{w=w_0, b=b_0} wLw=w0b=b0bLw=w0,b=b0。(就是看左右哪边高,向低的跨步)
    若求出为负值(左高右低的切线),增大w,loss就变小;若求出为正值(左低右高的切线),减小w,loss就变大。
    步子跨多大,取决于:1.斜率(斜率大就跨大一点),2学习率(自己设定的)
  • 更新迭代w
    在这里插入图片描述
    在深度学习中,微分应该怎么算? ---- 程序会自己算
    在这里插入图片描述
    在这里插入图片描述

4.结果分析

在这里插入图片描述
能否做的更好?
在这里插入图片描述
从图中看出,7天一个循环。我们分别考虑2017-2020的前1、7、18、56天,对2021年的某一天的影响。我们采用的是Linear Model。

在这里插入图片描述
线性模型太简单了… 我们需要更复杂的模式。
在这里插入图片描述
线性模型具有严重的局限性。模型偏差我们需要一个更灵活的模式!

在这里插入图片描述

所有分段的线性曲线可以可以由常数与一系列蓝色Function组成。

在这里插入图片描述
转折越多,越复杂,需要的蓝色Function就越多。

如果不是分段曲线,而是连续曲线,我们可以使用分段线性曲线去逼近。
在这里插入图片描述
如何表示蓝色的Function呢?
在这里插入图片描述
我们可以使用 y = c 1 1 + e − ( b + w 1 x ) y=c\frac{1}{1+e^{-(b+w_1x)}} y=c1+e(b+w1x)1:
在这里插入图片描述
Sigmoid Function(S型曲线):
y = c ∗ s i g m o i d ( b + w 1 x ) = c 1 1 + e − ( b + w 1 x ) y = c*sigmoid(b+w_1x) = c\frac{1}{1+e^{-(b+w_1x)}} y=csigmoid(b+w1x)=c1+e(b+w1x)1

w改变斜率、b曲线左右移动、c改变他的高度:
在这里插入图片描述
在这里插入图片描述

新的模型:有更多的特征
在这里插入图片描述

我们把它画出来,直观
在这里插入图片描述
x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3 r 1 , r 2 , r 3 r_1,r_2,r_3 r1,r2,r3的关系我们可以用矩阵表示出来:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


Back to framework

1.带有未知数的函数:

在这里插入图片描述
特征与参数:
在这里插入图片描述

2.定义损失(从训练数据进行计算)

Loss是参数的函数 L ( θ ) L(\theta) L(θ)
Loss意味着一套参数值有多好
在这里插入图片描述

3. 最优化

在这里插入图片描述

  • 随机选取初始点 θ 0 \theta_0 θ0
  • 计算微分

(就是看左右哪边高,向低的跨步)
若求出为负值(左高右低的切线),增大w,loss就变小;若求出为正值(左低右高的切线),减小w,loss就变大。

  • 更新迭代w
    步子跨多大,取决于:1.斜率(斜率大就跨大一点),2学习率(自己设定的)
    在这里插入图片描述
    在这里插入图片描述
    直到你不想做了,或计算出的gradient为零向量。

实际做gradient decent:
N的数据分成多个Batch,计算loss,更新参数。
在这里插入图片描述
在这里插入图片描述
为什么Hard Sigmoid 要换成Soft Sigmoid?
Hard Sigmoid 表示:

在这里插入图片描述
ReLU函数:
在这里插入图片描述
从ReLU到Sigmoid:(2个ReLU合成Sigmoid)
在这里插入图片描述

4.激活函数

在这里插入图片描述
在这里插入图片描述

5.继续改我们的模型

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
机器02/14左右高估了,因为除夕。

三、Neural Network

那这个 Sigmoid 或是 ReLU,它们在机器学习里面叫做 Activation Function 激活函数。 这些Sigmoid 或 ReLU ,它们叫做 Neuron 神经元。我们这边有很多的 Neuron,很多的 Neuron 就叫做 Neural Network。
在这里插入图片描述

每一排neourn叫做hidden layer,许多layer就叫做Deep Learning。

在这里插入图片描述

为什么不做的更深呢?
会过拟合,即在训练资料上变好,在没训练的资料上变差

在这里插入图片描述
预测未知资料
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

20.自定义tabBar(使用vant中的tabbar)

自定义tabBar就是不用官方提供的tabBar了,而是自己搞 目录 1 配置 2 使用vant组件库做TabBar 2.1 引入组件 2.2 使用组件 2.3 自定义图标 2.4 把info与store进行绑定 2.5 tab页面的切换 2.6 改变激活状态下的文本颜色 1 配置 首先你需要在项目根…

4.2 “ P4G42_V1

P4G42_V1 产品参数 产品型号 P4G42_V1 尺寸(mm) 124*90*12mm(不含安装支架) 屏幕尺寸 4.2 inch 显示技术 电子墨水屏显示 显示区域(mm) 84.6(H) * 63.4(V) 分辨率(像素) 400*300 像素密度 120dpi 显示颜色 黑/白 外观颜色 白色&…

springMVC(二)—— 进阶

一、解决中文乱码问题 解决中文乱码问题的关键在于判断字符是什么时候乱码的 先在java程序里刚生成这个值的地方打印一下,如果在控制台输出就乱码了,那就排除浏览器和jsp页面的编码出问题。否则 看浏览器的编码 看这个jsp页面的编码是否设置好了 一般不用…

Python启动TCP服务并监听连接,从客户端发送消息

下面是一个简单的例子,演示如何在Python中启动TCP服务并监听连接,以及如何从客户端发送消息: TCP服务端代码: import socketHOST 192.168.6.211 PORT 8888server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM) …

electron的(maximize)最大化方法会导致头部白色横条以及四周大黑边

参考文章:https://www.w3cways.com/2505.html 感谢这位博主 我在使用win.maximize()后发现应用程序虽然最大化了,但是四周和顶部有一定宽度的黑边白边,在百度一段时间后没有发现其他人有这个问题 😔唉 必现步骤: 只要…

禁止 input 输入框显示历史记录

问题概述 在 HTML 开发中会 input 标签是非常常用的, 当在 input 标签 输入数据后,再点击输入框会显示原来输入过的内容,还会出现下拉的历史记录。让使用人员感觉比较恶心。 解决方案(隐藏记录框) 隐藏记录框 aut…

环二肽试剂:7451-73-2,CYCLO(-GLY-TRP),环(甘氨酰-L-色氨酰)

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ CYCLO(-GLY-TRP)环二肽,含有(甘氨酰和色氨酰基团),色氨酸又名α-氨基吲哚基丙酸,分子式:C11H12N2O2,白色至黄白色晶体或结晶性粉末。无臭或微臭,长时间…

Apifox详细使用教程 -- 有这一篇就够了

文章目录 Apifox简介 Apifox的安装与新建项目 Apifox编写接口文档 总结 四、Apifox的使用快捷键 一、Apifox简介 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,更先进的 API 设计/开发/测试工具,定位 Postman Swagger Mock J…

SpringBoot + Kotlin 中使用 GRPC 进行服务通信

示例项目见:kotlin-grpc 一、导入依赖: import com.google.protobuf.gradle.* plugins { id("org.springframework.boot") version "2.3.1.RELEASE" id("io.spring.dependency-management") version "1.0.9.REL…

面试官常问的一些初中级前端知识点

CSS 1. 介绍下 CSS 盒子模型 回答到以下两点就可以: 一个盒子由四个部分组成:content、padding、border、margin。两种盒子模型:W3C 标准盒子模型、IE 怪异盒子模型标准盒子模型 width / height 只是内容高度,不包含 padding 和…

平板ipad触控笔是哪几款?苹果笔性价比高的推荐

实际上,现在市场上许多产品都有各自的特色,一些注重产品外观,一些注重产品功能。就相当于ipad上所搭配的电容笔。所以,在购买电容笔的时候,必须对电容笔有一些认识。在选购前,必须先了解各种类型的电容笔&a…

7-8 程序员买包子

7-8 程序员买包子 分数 10 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 这是一条检测真正程序员的段子:假如你被家人要求下班顺路买十只包子,如果看到卖西瓜的,买一只。那么你会在什么情况下只买一只包子回家? 本题要求你考…

线程 线程池

线程和进程的区别? 进程是正在运行程序的实例,进程中包含了线程,每个线程执行不同的任务 不同的进程使用不同的内存空间,在当前进程下的所有线程可以共享内存空间 线程更轻量,线程上下文切换成本一般上要比进程上下文切换低 创…

博士后申请哪些老板不要选?

博士后申请是许多研究人员迈向学术界的重要阶段。在选择导师时,需要慎重考虑各方面因素。虽然我不能提及具体老板的名字,但我可以给你一些在博士后申请过程中需要谨慎选择的类型。以下是知识人网小编整理的一些可能不适合选择的老板类型: 1. …

Spring-AutowireFactoryBean

autowire autowire 即自动注入的意思,通过使用 autowire 特性,我们就不用再显示的配置 bean 之间的依赖了。把依赖的发现和注入都交给 Spring 去处理,省时又省力。autowire 几个可选项,比如 byName、byType 和 constructor 等。a…

刘铁猛C#教程学习笔记--初识C#程序

构成C#程序的基本元素 关键字:C#保留的用作特殊用途的标识符标识符:名字,如变量名字,类名字,命名空间名字等等; 标识符命名规则:只能以数字字母或者下划线开头,不能用关键字作为标识…

喜讯!云联壹云入选2023年北京市“专精特新”中小企业

6月25日,北京市经济和信息化局发布《关于对2023年第一季度北京市专精特新中小企业名单进行公告的通知》,北京云联壹云技术有限公司入选2023年北京市“专精特新”中小企业。 “专精特新”是国家为增强企业自主创新能力和核心竞争力,不断提高中…

HHDESK资源管理功能

为使客户体验更上一层楼,我们在最新的HHDESK版本中,新增了一个功能“资源管理”,其中不仅整合了原有的连接管理、网络代理功能,还增加了不少实用的新功能。 本篇便为您简单介绍一下。 1 本地服务 可以方便的调用本地资源。 比如…

基于STM32设计的酒精检测仪

一、需求分析 随着社会的发展和生活水平的提高,人们对于行车安全、家庭安全的要求越来越高,而酒驾等问题也日渐突出,为此,开发一款基于STM32的酒精检测仪,通过检测酒精浓度,实时显示结果并进行报警&#x…

openGauss学习笔记-05 openGauss gsql连接与使用方法

文章目录 openGauss学习笔记-05 openGauss gsql连接与使用方法5.1 以操作系统用户omm登录数据库主节点5.2 连接数据库5.3 数据库简单操作5.4 退出数据库 openGauss学习笔记-05 openGauss gsql连接与使用方法 openGauss提供了在命令行下运行的数据库连接工具gsql。此工具除了具…