机器学习基本概念介绍 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要解的是生成式学习这个问题做下简化,拆解成多个分类问题

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

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

机器学习基本概念介绍 2023_第1张图片

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

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

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

1、 设定范围

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

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

机器学习基本概念介绍 2023_第2张图片

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

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

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

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

机器学习基本概念介绍 2023_第3张图片

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

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

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

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

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

机器学习基本概念介绍 2023_第4张图片

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

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

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

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

我们就得到了一个function set

机器学习基本概念介绍 2023_第5张图片

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

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

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

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

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

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

机器学习基本概念介绍 2023_第6张图片

2、 设定标准

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

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

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

例子:宝可梦,战斗力

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

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

怎么样来定义这个loss function?

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

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

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

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

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

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

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

机器学习基本概念介绍 2023_第7张图片

可能的原因是什么呢?

1、 数据量太小

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

怎么解决?

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

3、 达成目标

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

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

机器学习基本概念介绍 2023_第8张图片

机器学习基本概念介绍 2023_第9张图片

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

机器学习基本概念介绍 2023_第10张图片

最佳化演算法

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

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

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

怎么评估这个function的好坏?

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

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

机器学习基本概念介绍 2023_第11张图片

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

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

机器学习基本概念介绍 2023_第12张图片

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

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

机器学习基本概念介绍 2023_第13张图片

你可能感兴趣的:(python,机器学习)