机器学习与深度学习的基本概念

news2024/11/23 23:41:20

目录

  • 机器学习是什么?

    • 机器学习的任务

      • 回归Regression

      • 分类Classification

      • 创造学习Structed Learing

  • 机器学习怎么找这个函数

      • 定义含未知参数的函数

      • 定义loss损失函数

      • 定义优化器optimization

    • 写出一个更复杂的有未知参数的函数

      • sigmoid

        • 基本推理过程

        • sigmoid函数介绍

        • 继续推导

      • ReLU线性整流函数

        • Relu介绍

视频链接
https://www.bilibili.com/video/BV1Wv411h7kN/?p=3&spm_id_from=pageDriver&vd_source=ef8c99c8c4165aea8f811dafa9772ecd

https://www.bilibili.com/video/BV1J94y1f7u5/?p=3&vd_source=ef8c99c8c4165aea8f811dafa9772ecd

机器学习是什么?

机器学习就是找一个我们写不出来的函数,但是能够实现用户想要的结果。这个函数的输入可以是向量、矩阵以及序列(连续的段落以及语音信息),输出可以是单个数值(相对应的问题称之为回归regression)、类别(分类问题)、序列

机器学习的输入输出

机器学习的任务

回归Regression

机器学习的输出是一个数值

分类Classification

给出基本的选项,对给定的输入按照这些基本的选项进行分类

创造学习Structed Learing

根据给定输入,从无到有创造出一个东西

机器学习怎么找这个函数

定义含未知参数的函数

猜测这个函数的形式,进行定义

y = f ( x ) y=f(x) y=f(x)

这个f即可称为模型model,此时,x称作特征值feature,y为预测值predict,y的真实值称为标签label

y = b + w x , y = b + ∑ j w j x j y=b+wx,y=b+ \sum_{j} w_jx_j y=b+wx,y=b+jwjxj

  • 未知参数

    • 偏置量bias

    • 权重weight

可以给定的参数:超参hyperparameter

定义loss损失函数

loss损失函数是关于未知参数的一个函数,是来表示当前这个未知参数的好坏优劣

具体可以定义loss值为下列公式

l o s s = 1 n × ∑ i = 1 n e f i loss=\frac1 n \times \sum_{i=1}^ne_{fi} loss=n1×i=1nefi

M A E : e f i = ∣ y i − y ′ ∣ 或 者 是 M S E : ( y i − y ′ ) 2 MAE:e_{fi}=|y_i-y' | 或者是 MSE:(y_i-y')^2 MAEefi=yiyMSE(yiy)2

定义优化器optimization

优化器optimization是用来找一组最好的w与b,这个最好的w与b会使loss也最低(一般找到的标准是此时loss关于w的函数的斜率为0)
课程一般是采用Gradient Descent方法:

  • 随机选取初始值,设置迭代次数

  • 计算该点的斜率 w对loss的偏导,若斜率为负,则在该点左侧loss值更大,若斜率为正,则在该点右侧loss值更大

  • w的迭代公式:其中 的η为学习率,是人为设置的(人为设置的参数称之为hyper parameters超参数)

w i + 1 = w i − η × ∂ l o s s ∂ w ∣ w = w 0 w_{i+1}=wi-\eta \times \frac{\partial loss}{\partial w}|_{w=w^0} wi+1=wiη×wlossw=w0

  • 使用Gradient Descent会有全局最优解和局部最优解,但这并不是Gradient Descent的真正问题
  • 多参数的Gradient Descent应用需要进行分别对loss的微分,然后分别进行更新

📌这里之前设置的含未知参数的方程最后得到的是liner model,但是liner model过于简单,难以描述一些复杂的情况,这种来自于model的限制叫做model bias

写出一个更复杂的有未知参数的函数

sigmoid


未 知 函 数 = 常 量 + 若 干 个 s i g m o i d 的 和 未知函数= 常量+ 若干个sigmoid的和 =+sigmoid

基本推理过程


红线=常数3+蓝线012

📌所有的折线段Liner Curves都可以用常量+若干个sigmoid来表示。而对于所有的连续曲线段也都可以用这样的方法去近似。转折点越多,需要的sigmoid越多,越容易过拟合。

上述的蓝色折线段称之为Hard sigmoid,用sigmoid去逼近

sigmoid函数介绍

在这里插入图片描述

sigmoid函数的取值是在0和1之间,其基本公式如下:

s i g m o i d ( x ) = 1 1 + e − x sigmoid(x)=\frac{1} {1+e^{-x}} sigmoid(x)=1+ex1

我们所用到的sigmoid是** c sigmoid(b+wx)**,即

y = c 1 1 + e − ( b + w x i ) y=c \frac {1} {1+e^{-(b+wx_i)}} y=c1+e(b+wxi)1

其中,w影响曲线的斜率,b影响曲线的位置(进行左右平移),c影响曲线的高度(会超过1)
在这里插入图片描述

继续推导

回到最初的推导:

  • 当特征值x取前一天进行推导,那么红线的最终方程如下:

    x i + 1 = b + ∑ i = 1 n c i s i g m o i d ( b i + w i x i ) x_{i+1}= b + \sum_{i=1}^{n} c_i sigmoid (b_i+w_ix_i) xi+1=b+i=1ncisigmoid(bi+wixi)

  • 当特征值x取前面多天进行推导,那么红线的最终方程如下:

    x i + 1 = b + ∑ i = 1 n c i s i g m o i d ( b i + ∑ j n w i j x j ) x_{i+1}= b + \sum_{i=1}^{n} c_i sigmoid (b_i+ \sum_{j }^{n}w_{ij}x_j) xi+1=b+i=1ncisigmoid(bi+jnwijxj)
    y = b + c T a , a = s i g m o i d ( r ) , r = b + W x y=b+ c^T a, a=sigmoid(r), r=b+Wx y=b+cTa,a=sigmoid(r),r=b+Wx

    其中x为特征值(单个值或多个值的向量),W的行数即表示有多少个sigmoid是超参数hyperparameter,W的列也是超参数,表示用前多少天的。剩下的均为未知参数,可以将W、内外b、C拉直结合成一个向量表示未知参数θ.

    紧接着定义loss,以及optimization得到最优的参数θ。其中在最优化时求除的偏导向量叫做gradient
    gradient向量的生成,参数的迭代
    为了减少特征值太多计算困难,我们将特征值随机划分成若干个batch,每次取一个batch中的样本进行一次gradient的计算并更新θ,称为一次update。算完一次全部的batch称为一次epoch。
    这里的epoch数和batch大小均是超参数

采用epoch和batch

ReLU线性整流函数

也可以用Relu来进行复杂函数的表示

Relu介绍

在这里插入图片描述

其基本公式为:

f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

我们用到的表示形式是:用2个relu可以表示一个sigmoid

f ( x ) = c m a x ( 0 , b + w x ) , f ( x ) = c m a x ( 0 , b + ∑ j w j x j ) f(x)=cmax(0,b+wx),f(x)=cmax(0,b+\sum_jw_jx_j) f(x)=cmax(0,b+wx),f(x)=cmax(0,b+jwjxj)
sigmoid转relu

📌Relu与sigmoid都是激活函数 Activation function。 可以多做几次求a的过程,设置多个隐含层。
过拟合over fitting:随着网络的复杂,训练集的loss降低而测试集的loss却增大(隐含层过多,激活函数过多都会导致over
fitting)

多做几次求a——增加隐含层复杂网络"
每一个求a都叫做一个神经元,若干个神经元这样迭代称之为神经网络,而近来称多层的神经网络为深度学习

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

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

相关文章

GitHub上架即下架!《分布式系统人人都是架构师》全彩笔记开源

小编又来给大家分享好书了:高翔龙老师的 《超大流量分布式系统架构解决方案:人人都是架构师2.0》,我在网上没找见开源的PDF版本所以分享一下!小编会在文末附电子版免费下载方式。 高翔龙是谁? 云集基础架构负责人&am…

实战演练 | 使用 Navicat 在 MySQL 中存储图像

近年来,Web应用程序中的图像数量一直在稳定增长。还需要在不同尺寸的图像之间进行区分,例如缩略图,网络显示图像等。例如,我最近开发的一个应用程序显示新闻项目,其中每个项目都有缩略图和主要文章图像。另一个应用程序…

Tableau表格取消合并单元格

客户回访(Client Review) 文章目录前言一、原表格样式二、回访收集到的述求三、表格合并单元格方法(一)创建“序号”计算字段(二)将“序号”计算字段改为维度(三)将“序号”计算字段…

PMP项目管理中的重要角色

PMP及PMBOK有个大问题,就是没有统一的角色职责及流程,考试也是随意性很强,这给考生带来很多困扰。 一个管理体系,首先是人员分工安排。比如:PRINCE2,明确的组织结构,详细的流程活动&#xff0c…

用代码画两棵圣诞树送给你【附详细代码】

大家好,我是宁一 代码的魔力之处在于,可以帮我们实现许多奇奇怪怪、有趣的想法。 比如,用Python的Turtle库,可以帮我们在电脑上画出好看的图像。 下面这张樱花图就是用Turtle库实现的。 这不圣诞节快到啦。 那么就用代码来画一…

基于jsp+mysql+ssm在线音乐网站-计算机毕业设计

项目介绍 随着计算机行业和互联网技术的高速发展,以及互联网在日常生活中的飞速普及,网络已经与我们的生活息息相关,密不可分,我们越来越离不开网络,网络在我们每天的生活中占据非常重要的地位。现在,网络…

【Linux|树莓派】分文件编程以及静态库动态库

一、分文件编程 简单来说树莓派的分文件编程就是将一个项目的代码放在不同的文件里面&#xff0c;然后在主函数添加一个头文件&#xff0c;这样会使#控制字体颜色主程序变得简单。 在编译的时候要将主函数和功能函数一起编译&#xff1a; 注意&#xff1a;include <stdio.h…

01 Java语言简介

0 警告 Java从入门到放弃。 1.1概述 Java 语言是 SUN&#xff08;Stanford University Network&#xff0c;斯坦福大学网络公司&#xff09;于 1995 年推出的一门高级编程语言。 Java 语言是一种面向 Internet 的编程语言。Java 一开始富有吸引力是因为 Java 程序可以在 Web 浏…

面向碳中和的公共建筑室内环境营造再认识

3月26日&#xff5c;清华大学建筑节能学术周——公共建筑节能—工程实践助力实现双碳目标 【3月26日公开论坛】公共建筑节能 – 工程实践助力实现双碳目标 面向碳中和的公共建筑室内环境营造再认识 对“舒适”、“健康”和室内环境营造手段的再认识 1.对“舒适”的再认识 P…

luckysheet 国产超强纯前端在线excel表格功能强大 简单使用记录 异常报错记录及处理

效果预览 官网及在线示例 https://mengshukeji.gitee.io/LuckysheetDocs/zh/guide/ npm地址 https://www.npmjs.com/package/luckysheet 在线效果 https://mengshukeji.gitee.io/luckysheetdemo/ 在线导入效果 https://mengshukeji.gitee.io/luckyexceldemo/ 使用步骤 两…

单片机硬件和软件延时是啥意思?

软件延时和硬件延时是啥意思&#xff1f;做项目时他俩有什么区别&#xff1f; 今天就来讲讲关于硬件延时和软件延时的内容&#xff0c;以及它们的区别。 硬件和软件延时 延时的种类很多&#xff0c;先给大家普及一下延时相关概念和分类。 1.硬件延时 指利用具有计数功能的…

【学习笔记】空间坐标系旋转与四元数

前言 最近在学惯性器件&#xff0c;想着先把理论知识脉络打通&#xff0c;于是便开始学习空间坐标系旋转和四元数&#xff0c;正好结合刚刚结课的课程《机器人控制技术》&#xff0c;记录一下学习心得。 旋转矩阵和齐次变换矩阵部分主要参考自教材 《机器人学导论》 中的第2章 …

SD NAND 的 SDIO在STM32上的应用详解(中篇)

四.SDIO功能框图(重点) SDIO包含2个部分&#xff1a; ● SDIO适配器模块&#xff1a;实现所有MMC/SD/SD I/O卡的相关功能&#xff0c;如时钟的产生、命令和数据的传送。 ● AHB总线接口&#xff1a;操作SDIO适配器模块中的寄存器(由STM32控制SDIO外设)&#xff0c;并产生中断和…

四种区块链底层技术形态的对比解读

新世纪以来&#xff0c;互联网技术快速发展&#xff0c;催生了以平台经济为典型的各种新业态、新模式&#xff0c;深刻影响和改变了人类社会的生产方式、生活方式和社会治理方式。然而在推动经济和社会发展的同时&#xff0c;基于数据点对点传输建立的互联网也越来越多地暴露出…

可以作为艺术作品欣赏的CT三维重建技术。

什么是CT三维重建技术&#xff1a;简而言之就是通过螺旋CT自带的计算机软件&#xff0c;对扫描获得的数据进行后处理&#xff0c;以达到辅助医生对病变和周围组织&#xff0c;及其与血管的关系进行分析和显示的目的&#xff0c;它极大地提高了影像诊断的直观性&#xff0c;准确…

国际学校妈妈哭诉IB太难:中国孩子都不知道怎么答题?

听别人说考国际学校的IB体系相对简单直到我看到IB试题才知道其实IB一点都不容易特别对于中国学生有大量写论文的部分来看看IB的真题有些学生真的很难下笔不知道怎么答题啊&#xff01;商科生物 题目都是非常考验综合能力的&#xff0c;学生需要掌握很多知识点并融会贯通&#x…

大数据学习:使用Vim编辑器

文章目录一、安装Vim编辑器二、切换三种工作模式1、命令模式2、输入模式3、末行模式三、案例演示1、将第一行内容复制粘贴到第二行之后2、删除第二行内容四、末行模式中基本操作1、案例演示任务一&#xff1a;显示行号任务二&#xff1a;取消行号任务三&#xff1a;存盘退出&am…

【教程】Derby数据库安装与使用

前言 环境配置只是开始&#xff0c;代码上的创作才是灵魂。 JDK版本&#xff1a;1.8.0_341 Derby版本&#xff1a;10.14.2.0 一、Derby安装 1. 打开 cmd 键盘按下 Windows R 打开本地 cmd &#xff08;命令提示符&#xff09;或 windows powershell 。 2. 查询 jdk 版本 输…

基于ARM架构openEuler系统通过qemu模拟器自动安装启动ARM架构的openEuler虚拟机

【原文链接】基于ARM架构openEuler系统通过qemu模拟器自动安装启动ARM架构的openEuler虚拟机 文章目录一、基础准备工作二、自动创建基于dhcp自动获取ip地址的openEuler虚拟机三、自动创建配置静态IP地址的openEuler虚拟一、基础准备工作 &#xff08;1&#xff09;下载ARM架构…

听话的苹果-第11届蓝桥杯Scratch选拔赛真题精选

[导读]&#xff1a;超平老师计划推出Scratch蓝桥杯真题解析100讲&#xff0c;这是超平老师解读Scratch蓝桥真题系列的第96讲。 蓝桥杯选拔赛每一届都要举行4~5次&#xff0c;和省赛、国赛相比&#xff0c;题目要简单不少&#xff0c;再加上篇幅有限&#xff0c;因此我精挑细选…