机器学习基本概念2

news2024/11/27 0:28:48

资料来源:

https://www.youtube.com/watch?v=Ye018rCVvOo&list=PLJV_el3uVTsMhtt7_Y6sgTHGHp1Vb2P2J&index=1

https://www.youtube.com/watch?v=bHcJCp2Fyxs&list=PLJV_el3uVTsMhtt7_Y6sgTHGHp1Vb2P2J&index=2

分三步

1、 定义function

0

b和w是需要透过知识去获取的,是未知的

做机器学习,需要Domain Knowledge,这些知识就是用来解b和w

0

这里的函式,就叫做Model

我们知道2月25号的人数是多少,就叫feauture

2、 定义Loss

Loss is a function of parameters

0

真实的值叫Label(正确的数值)

0

可以算出来最近3年的误差,把所有的误差加起来,算出来一个L,这就是我们的Loss,值越大,说明越不好

0

MAE和MSE的区别和选择具体而定,还有Cross-entropy

0

真实的后台统计数据例子

0

越偏红色,代表Loss越大,偏蓝色,Loss越小,那在预测的时候,w为0.75 b代500,可能预测会更准

3、最佳化算法

做法: Gradient Descent

如何做: 当w不同的值时,会得到不同的Loss,

怎么找到w,让Loss最小,随机选取初始化的点 w0(有一些方法可以更科学的找到这个值)

计算w对l的微积分,计算error surface的斜率,如果这个斜率的值为负数,

把w的值变大,Loss就会小

0

跨步要多大呢?

斜率大,就跨大

0

0

学习速率是自己设定的

Loss的值为什么会是负数?

因为这个函数是自己定义的,Loss的定义的估算的值和实际的值的绝对值,如果根据刚刚的定义,不可能为负数

但上面的这个例子不是真实的案例,error surface 可能是任何形状

hyperparameter,自己设定的

什么时候会停止下来?一般两种情况

a、 前期设定了这个参数,例如次数

b、 达到了理想的状态

Gradient Descent上面找不到最佳的loss值,因为随机的位置不一样

0

Local minima是个假的问题,具体为什么,后面会讲

两个参数,如何做上面的Graddient Descent?

0

例子

0

0

课程总结:

这三个步骤合并起来,叫做训练

0

0

2021年的误差还是比较大的,怎么做的更好? 分析下数据

0

蓝色线相当于把红色右移了一天而已,每隔7天就是一个循环

这个model是一个比较坏的,我们可以拿7天的周期来进行修改

0

x叫做feature

上面的叫做Linear Model,我们后面看下怎么把Linear Model做的更好

Linear Model 太过简单了

0

我们需要写出更复杂,更多未知参数的function

0

1除以1+Exponential-b+wx1,再乘以constant常数

当b+wx1趋向于无穷大的时候,会发生什么事呢,Exponential会消失,当X1非常大的时候,这一条线会收敛在高度是C的地方

当b+wx1趋向于负的无穷大,分母会非常大,Y的值会趋近于0

0

S型的function,叫做sigmoid

0

我们需要各式各样合适蓝色的function,那这个蓝色function怎么出来呢,需要调整b和w

改w,会改变斜率,斜坡的坡度

修改b呢,会左右移动

修改c,会改变高度

0

可以制造出不同

0

把0和1和2和3都加起来

0

summation,b是constant

假设b,c,w是未知参数,有弹性,有未知参数的函式

0

0

0

0

Transpose

0

X输入,我们的Feature是X这个向量,X乘上矩阵W加上向量b,得到向量r,再把向量r,通过Sigmooid Function得到向量a,

再把向量a跟乘上c的Transpose加上b,就得到了y

0

不同的表示方式,上面是图示化的方式,下面是线性代数的表示方式

0

0

在参数小的情况下,穷举所有的可能就行,不需要使用Gradient Descent

Sigmoid 可以有多个,会产生越多线段的 Piecewise Linear的function,你就可以逼近越复杂的function

至于需要几个Sigmoid,这是另外的Hyper Parameter,这个自己决定

Loss function

0

0

0

0

0

Update和Epoch是不一样的东西

每次更新一次参数叫做一次update,把所有的Batch都看过一遍,叫做一个Epoch

为什么要分成一个一个的batch?

0

0

0

0

0

激活函数

哪种比较好?? Relu好一些

0

我们还可以继续改我们的模型

0

我们可以把重复的事情,反复的再多做几次,这里的几次,又是另外一个超参数

0

模型也需要一个好的名字

0

这个是在模拟人脑

0

Deep Learning的由来。。。。

0

0

只要有足够多的ReLU或者Sigmoid,就能够逼近任何连续的Function

反复用的意义在哪里?

0

过多的层数效果不一定好

0

神经网络结构那部分讲的太精彩了。从简单的线性回归开始,到用几个简单线性函数去逼近一个分段线性函数,然后提出用sigmooid和线性逼近曲线,然后自然而然引出神经网络的基本结构。输入特征,参数,激活函数..等等概念自然而然都出来了

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

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

相关文章

neuq-acm预备队训练week 9 P3367 【模板】并查集

题目描述 如题&#xff0c;现在有一个并查集&#xff0c;你需要完成合并和查询操作。 输入格式 解题思路 并查集的用法 AC代码 #include <bits/stdc.h> using namespace std; #define Max 1000001 int zi,xi[Max],yi[Max],Fa[Max]; int find(int x); bool qu(int u,…

MIT线性代数笔记-第28讲-正定矩阵,最小值

目录 28.正定矩阵&#xff0c;最小值打赏 28.正定矩阵&#xff0c;最小值 首先正定矩阵是一个实对称矩阵 由第 26 26 26讲的末尾可知正定矩阵有以下四种判定条件&#xff1a; 所有特征值都为正左上角所有 k k k阶子矩阵行列式都为正&#xff08; 1 ≤ k ≤ n 1 \le k \le n …

transformer模型结构|李宏毅机器学习21年

来源&#xff1a;https://www.bilibili.com/video/BV1Bb4y1L7FT?p4&vd_sourcef66cebc7ed6819c67fca9b4fa3785d39 文章目录 概述seq2seqtransformerEncoderDecoderAutoregressive&#xff08;AT&#xff09;self-attention与masked-self attentionmodel如何决定输出的长度…

ToolkenGPT:用大量工具增强LLM

深度学习自然语言处理 原创作者&#xff1a;cola 用外部工具增强大型语言模型(LLM)已经成为解决复杂问题的一种方法。然而&#xff0c;用样例数据对LLM进行微调的传统方法&#xff0c;可能既昂贵又局限于一组预定义的工具。最近的上下文学习范式缓解了这一问题&#xff0c;但有…

【C++】C++中的String类详解及模拟实现示例

文章目录 string类简介string类的基本用法string类的常用方法string类的优势 string类的模拟实现存储结构头文件string.h源文件string.cpp源文件test.cpp string类简介 string类简介在C编程中&#xff0c;字符串是一种非常常见的数据类型&#xff0c;用于存储文本信息。C标准库…

鸿蒙应用开发(二)环境搭建

开发流程 IDE下载 首先下载HUAWEI DevEco Studio&#xff0c;介绍首次启动DevEco Studio的配置向导&#xff1a; 运行已安装的DevEco Studio&#xff0c;首次使用&#xff0c;请选择Do not import settings&#xff0c;单击OK。安装Node.js与ohpm。node.js 是基于 V8 引擎构…

〖大前端 - 基础入门三大核心之JS篇㊿〗- 面向对象之对象的方法、遍历、深浅克隆

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;哈哥撩编程&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xff0c;目前在公司…

堆的基础功能实现和优先级队列

1. 堆的插入与删除 1.1 堆的插入 步骤&#xff1a; 1、先将元素放入到底层空间中(注意&#xff1a;一般是放到整个二叉树的最后一个叶子节点的后边&#xff0c;其次存储空间不够时需要扩容) 2、将最后新插入的节点向上调整&#xff0c;直到满足堆的性质&#xff08;判断该节点…

【金融数据分析】计算沪深300指数行业权重分布并用饼图展示

前言 前面的文章我们已经介绍了如何获取沪深300成分股所述行业以及权重的数据&#xff0c;想要了解这部分内容的小伙伴可以阅读上一篇文章 springbootjdbcTemplatesqlite编程示例——以沪深300成分股数据处理为例-CSDN博客 那么有了上文获取的数据&#xff0c;我们实际上可以…

List 接口

1 List 接口 java.util 中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。 List是一种常用的集合类型&#xff0c;它可以存储任意类型的对象&#xff0c;也可以结合泛型来存储具体的类型对象&#xff0c;本质上就是一个容器。 1.1 List 类型介绍 有序性…

基于Solr的全文检索系统的实现与应用

文章目录 一、概念1、什么是Solr2、与Lucene的比较区别1&#xff09;Lucene2&#xff09;Solr 二、Solr的安装与配置1、Solr的下载2、Solr的文件夹结构3、运行环境4、Solr整合tomcat1&#xff09;Solr Home与SolrCore2&#xff09;整合步骤 5、Solr管理后台1&#xff09;Dashbo…

Redis 五大经典业务问题

一 缓存穿透 缓存穿透是指当请求的数据既不在缓存中也不存在于数据库中时&#xff0c;请求会直接穿透缓存层&#xff0c;到达数据库层。这通常是由于恶意攻击或者程序错误造成的&#xff0c;比如攻击者故意请求不存在的大量数据&#xff0c;导致缓存不命中&#xff0c;所有的请…

python zblog API实现类似XMLRPC/发布文章

我发现python对Zblog的XML发布并不友好&#xff0c;虽然也有对应的模块&#xff0c;但是远远没有XPCRPC更直接方便&#xff0c;但是使用xmlRpc是直接给发布文章带来了不小的便利&#xff0c;但是对系统也并不友好&#xff0c;但是zblog也开放了Api&#xff0c;但是干部子弟不乐…

【Spring教程20】Spring框架实战:AOP(面对切面编程)知识总结

欢迎大家回到《Java教程之Spring30天快速入门》&#xff0c;本教程所有示例均基于Maven实现&#xff0c;如果您对Maven还很陌生&#xff0c;请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》&#xff0c;本文的上一篇为《利用 AOP通知获取数据代码…

为 Compose MultiPlatform 添加 C/C++ 支持(3):实战 Desktop、Android、iOS 调用同一个 C/C++ 代码

theme: serene-rose 前言 在本系列的前两篇文章中我们已经学会了如何在 kotlin native 平台&#xff08;iOS&#xff09;使用 cinterop 调用 C/C 代码。以及在 jvm 平台&#xff08;Android、Desktop&#xff09;使用 jni 调用 C/C 代码&#xff0c;并且知道了如何自动编译 A…

Leetcode—389.找不同【简单】

2023每日刷题&#xff08;五十五&#xff09; Leetcode—389.找不同 实现代码 char findTheDifference(char* s, char* t) {int len strlen(s);int len2 len 1;int a[26] {0};int b[26] {0};if(len 0) {return t[0];}for(int i 0; i < len; i) {int idx s[i] - a;…

使用alpine镜像部署go应用时踩的坑

使用alpine镜像部署go应用时踩的坑 关于交叉编译 实际上我在ubuntu的交叉编译出来的exe并不能在alpine上运行&#xff0c;这边采取拉镜像编译复制出来的做法&#xff0c;部署再用干净的alpine 拉取golang:alpine踩坑 在Dockerhub上可以找到&#xff1a; 然而拉取的alpine中…

蓝桥杯-动态规划专题-子数组系列,双指针

目录 一、单词拆分 二、环绕字符串中唯一的子字符串 双指针-三数之和 ArrayList(Arrays.asList(array)) 四、四数之和&#xff08;思路和三数之和一样&#xff0c;只是多了一层循环&#xff09; 一、单词拆分 1.状态表示 dp[i]:到达i位置结尾&#xff0c;能否被dict拆分 …

JVM进程缓存

引言 缓存在日常开发中启动至关重要的作用&#xff0c;由于是存储在内存中&#xff0c;数据的读取速度是非常快的&#xff0c;能大量减少对数据库的访问&#xff0c;减少数据库的压力。我们把缓存分为两类&#xff1a; 分布式缓存&#xff0c;例如Redis&#xff1a; 优点&…

【MySQL】MySQL 在 Centos 7环境安装教程

文章目录 1.卸载不要的环境2.检查系统安装包3.获取mysql官方yum源4.安装mysql yum 源&#xff0c;对比前后yum源5.安装mysql服务6.查看配置文件和数据存储位置7.启动服务和查看启动服务8.登录9.配置my.cnf 1.卸载不要的环境 先检查是否有mariadb存在 ps ajx |grep mariadb如果…