当前位置: 首页 > news >正文

机器学习基本概念介绍 2023

笔记来源于:

https://www.youtube.com/watch?v=phQK8xZpgoU&t=172s

https://www.youtube.com/watch?v=XLyPFnephpY&t=645s

Machine/Deep Learning

机器学习概况来说,让机器具备自动找函式的能力 (Machine Learning 约等于 Looking for function)

三种机器学习: 回归,分类,生成式学习

函数输出来进行分类

1、 回归: 韩式的输出是一个数值

例子:预测明天的PM2.5值

2、分类:函式的输出是一个类别(选择题)

例子:email过滤垃圾邮件,让机器做一个选择题

输入是邮件,输出是垃圾邮件/不是垃圾邮件

机器学习有一个更困难的问题: 结构化学习(Structured Learning),让机器生成有结构的物件,例如影像,文字,又叫生成式学习(Generative Learning)

结构化学习,生成式学习是一门很难的技术,不知道什么时候才能达到生成式学习

不知道什么时候才能到达暗黑大陆

ChatGPT是哪一类呢?

chatgpt实际做的事情: 文字接龙,模型解的是分类的问题

使用者感受到的功能: 一个字一个字生成,可能感受到的是生成式学习

实际上,chatgpt要解的是生成式学习这个问题做下简化,拆解成多个分类问题

生成式学习有很多个策略,有哪些?

机器学习就是让机器找一个函式,那机器怎么找?

0

归纳成三个步骤,比较好理解

前置作业: 决定要找什么样的函式,这个和技术无关,取决于你要做什么样的应用

例子: 宝可梦,提升战斗力,或者判断是否是宝可梦

1、 设定范围

找出候选函数的集合,就是model

深度学习中,类神经网络的结构,例如CNN,RNN,Transformer等,指的就是不同的函式集合

0

为什么类神经网络的结构就是一个候选函式的集合?

视频解析: https://www.youtube.com/watch?v=Dr-WRlEFefw

参考资料:https://ruanyifeng.com/blog/2017/07/neural-network.html

近年来,计算机视觉慢慢由CNN转向transform的趋势

0

step1: 这个function其实就是一个Neural network

我们把一个Logistic Regression 称之为Neuron,整个称之为Neural Network。 也就是一个Neural network里面包含一大堆的Logistic Regression

每个Logistic Regression,它都有自己的weight和自己的bias,这些weight和bias集合起来,就是这个network的parameter

0

如何去连接不同的Neuron network? Full Connect Feedforward Network

通过不同的连接方式,就得到了不同的structure

0

1*1+(-1)*(-2)再加上bias 1,通过sigmoid function以后,计算得到值

0

一个neural network你可以把它看作是一个function,input是一个vector,output也是一个vector

如果不知道参数 weight和bias,只是定出了这个network的structure,只是定义好了这个network怎么样连接,

它其实就是定义了一个function set,我们可以给这个network设定不同的参数,它就变成了不同的function,把这些可能的function集合起来

我们就得到了一个function set

0

0

为什么我们要设定范围? 为什么我们要选出候选函式的范围? 为什么不把所有的函式纳入进来?

1、标准训练数据下,loss小,但是测试不好,例如是硬记答案,我们要找在各个环境都表现很好的函式。。。

2、 过滤掉不行的函式,所以一开始划定范围,不在这个范围的直接淘汰,这个范围也很有讲究。。。

3、这个范围选择有标准的数学理论支撑,参见视频:

卷积神经网络:https://www.youtube.com/watch?v=OP5HcXJg2Aw

浅谈机器学习原理:https://www.youtube.com/watch?v=_j9MVVcvyZI

0

2、 设定标准

设定一个评估函式好坏的标准

怎么设定一个最好的标准,loss越小,代表函数最好,loss越大,代表不好

这个loss设定怎么来呢? 自己来设置

例子:宝可梦,战斗力

专业人士设置标准答案,根据函式的输出和标准答案的差距,所有的差距加起来代表函式的好坏

0

L(f1)=15 入参为函式,大L也是一个函式,用来计算函式的好坏

怎么样来定义这个loss function?

假设有另外的情况,有部分的数据有标准答案,路边抓过来一些宝可梦,那怎么来评估战斗力?这种情况下

怎么来评估这些没有正确标注的宝可梦的战斗力?

第一步,把宝可梦丢到这个函式里面,如果有返回,则使用

没有的话,我们可以定一些假设,长得像宝可梦的战斗力要一样

(那怎么定义长得像呢? 比如像素的相似度 这个你自己来根据资料来灵活定义)

一个好的函式,可以评估出没有标注过的数据

0

问题: 在训练数据上面评估的loss函数小,但是在训练数据上面不一定好

0

可能的原因是什么呢?

1、 数据量太小

2、有很多其他的理论知识。。。。

怎么解决?

我们在Loss上做一些额外的考量,如Regularization,具体做法原理视频没讲。。。。。。。

3、 达成目标

找出最好的函式,什么叫做好呢? 就是上面的loss,loss越小,函式越好

这个找出函式最佳的方式叫做Optimization

0

0

如何进一步去找最好评估的loss函式,可以学习下这几个视频。。。我没来的及学习

0

最佳化演算法

什么是达成目标比较好的方式?

把最佳化演算法看作一个巨大的funciton,输入是定义好的函式集合 H和评估函式好坏的标准L,

输出一个最好的函式,这个函式在大L里面的值越小越好

怎么评估这个function的好坏?

1、 我们期待这个function能够在同样输入H和L的前提下,越快输出越好

2、有时候需要L(f*)越小越好,但是通常找不出大L最低的function(不清楚为啥。。。。),但是我们期待最佳化演算法找出来的L(f*) 越低越好

0

我们需要先设定 Learning Rate,Batch Size,How to Init,这些就叫做超参数,纯手工去调(技术活)

参数狗。。。 不是类神经网络里面的参数

0

一个好的最佳化演算法,我们期待最佳化演算法对于超参数不敏感。。。。这样就可以用预设值了

--------------------------------------------------------------------------------------------------------------------------------

0

相关文章:

  • 【Spring教程25】Spring框架实战:从零开始学习SpringMVC 之 SpringMVC入门案例总结与SpringMVC工作流程分析
  • 深入理解网络中断:原理与应用
  • 14、SQL注入——HTTP文件头注入
  • 【数据结构高阶】红黑树
  • C_3练习题答案
  • 区间合并|LeetCode100136:统计好分割方案的数目
  • Flink State 状态原理解析 | 京东物流技术团队
  • 区块链媒体宣发:揭示优势与趋势,引领信息传播新时代
  • 操作系统笔记——储存系统、文件系统(王道408)
  • 智能优化算法应用:基于缎蓝园丁鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 强化学习(二)——Dueling Network(DQN改进)
  • 公务员常考应用文公文格式模板
  • 定时任务特辑 | Quartz、xxl-job、elastic-job、Cron四个定时任务框架对比,和Spring Boot集成实战
  • 定时补偿方案
  • C#图像处理OpenCV开发指南(CVStar,09)——边缘识别之Scharr算法的实例代码
  • DOM的那些事
  • isset在php5.6-和php7.0+的一些差异
  • Spring框架之我见(三)——IOC、AOP
  • sublime配置文件
  • 编写符合Python风格的对象
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 聊聊directory traversal attack
  • 配置 PM2 实现代码自动发布
  • 数据仓库的几种建模方法
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 小李飞刀:SQL题目刷起来!
  • Hibernate主键生成策略及选择
  • MyCAT水平分库
  • scrapy中间件源码分析及常用中间件大全
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • (C语言)逆序输出字符串
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (函数)颠倒字符串顺序(C语言)
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (转)甲方乙方——赵民谈找工作
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • 、写入Shellcode到注册表上线
  • .md即markdown文件的基本常用编写语法
  • .net core + vue 搭建前后端分离的框架
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET6实现破解Modbus poll点表配置文件
  • .Net多线程总结
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .Net语言中的StringBuilder:入门到精通
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • ::前边啥也没有
  • @PreAuthorize与@Secured注解的区别是什么?
  • @SuppressWarnings注解
  • @Transactional 参数详解
  • [20150904]exp slow.txt
  • [20160902]rm -rf的惨案.txt
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [android] 天气app布局练习