什么是机器学习
Machine learning ≈ Looking for function
找到一个函数
f(voice) = “HOW ARE YOU”
f(image) = 这是一只猫
Function:是一个类神经网络
函数的输入和输出可以有很多不同的类别。
有监督学习
Supervised Learning
告诉机器Traning data,并对data进行标记
自监督学习
Self-supervised Learning:让机器先学习基本功
比如让图片翻转,让图片变色,让机器去辨识变换前后的图片是不是同一种
Pre-trained model(foundation model) 与 Downstream tasks之间的关系:类似Operating system和applications之间的关系,OS做了很多事情,可以让应用开发变得简单。
对抗网络
Generative Adversarial Network
增强学习(RL)
Reinforcement Learning:人类本身也不知道怎么标注,但可以定义好坏的时候会使用
异常检测
Anomaly Detection:让机器具备回答“我不知道”的能力
可解释的AI
Explainable AI:了解到“为什么”是这样的结果
模型的攻击
域适应—-Domain Adaptation
模型的压缩
把模型变小,让其在手机、手表、嵌入式设备上运行
Life-long Learning
Meta Learning
课程相关—-李宏毅老师机器学习课
基础
数学:微积分,线性代数,概率论
编程:Python,修改助教的sample codes
硬件:作业可以在google colab完成,不需要准备硬件或安装任何东西
目标
聚焦 deep learning
从最基础概念讲到最前沿、最进阶的技术
作业
选择,排行榜:Kaggle or JudgeBoi
上传code
一共有15个作业,可选10个作业任务,需要决定what you want to learn,最好15个作业都完成。
Kaggle
https://www.kaggle.com/ 注册账号,上传作业,可以看到排行榜
kaggle注册中遇到的问题
显示需要输入验证码,这里需要人机验证
fotiaoqiang软件下载:https://www.catbd.net/download
多自己想,少参考别人的code
机器学习的基本概念简介
机器学习:让机器具备找一个函数的能力
function的不同类型
1.Regression—-回归
函数的输出是一个数值
2.Classfication—分类
设定多个选项,function的输出是正确的那个
3.Structured Learning
机器如何找一个函数
1.Function with unknown parameters —-选择一个带未知参数的函数
2.Define loss from traning data(损失函数)—-为参数定义损失函数
loss:function of parameters L(b,w)
loss: how good a set of value is
例子:L(0.5k ,1)
y = 0.5k + 1 x1,计算每一天的误差e
将每天的误差加起来
L就是Loss,用来评判这一组参数的好坏
3.Optimization—-最优解
步骤
在youtube例程中:
详解
找到最好w和b,获得最小的L
Gradient Descent:梯度下降法
假设未知参数只有w:1.随机选择初始点w0
2.计算w0处的微分,微分的情况决定w的取值方向
学习率η
hyperparameters:自己设定的超级参数
循环进行上面的操作,指导最后得到w的参数值:微分值为0
存在的问题:梯度下降的方法找到的是local minima,而不是global minima
训练
以上机器学习的三个步骤合起来就是训练
将找到的函数用来预测未来的视频流量数据
Domain knowledge
根据专业的知识对模型继续优化的过程
比如:考虑天数