什么是机器学习
机器学习就是自动找一个函数关系式
-
Speech Recognition
-
Image Recognition
-
Playing Go
-
Dialogue System
机器学习的第一步
你自己想要找什么样的函数关系式
-
Regression: 现在要找的函数的输出是一个数值。
- 作业1,预测未来某个时刻的PM2.5,输出值是一个scalar
-
Binary Classification: 输出只有两个可能,Yes or No。
- 作业 RNN,输入句子,输出句子是正面的还是负面的。
-
Multi-class Classification: 让机器来做选择题,选出正确的。
- 作业 CNN,输入图片,选出这个图片对应的种类
但是机器学习不只有Regression 和 Classification。
其他的种类被称为Generation(生成)
产生有结构的复杂产物
- Generation:GAN
- 让机器画图
怎么告诉机器,你想要找什么样的函数关系式
-
Supervised Learning:最为常见的,比如知道输入是一张图片,输出是该图片的类别。
-
给定一些图片,把理想的图片规定为哪一种类,这一过程称为Label
-
评估这个函数关系式的好坏,也就是Loss,给定几张来用某一函式来评价对错,并计算错误率,该错误率称为Loss,Loss越小越好。
-
-
Reinfocement Learning:以围棋为例。
-
Supervised:给机器一个input,告诉理想的是什么样的,然后输出下一步最应该落子的位置在哪里
-
Reinforcement Learning: 让机器和其他人去下,赢了或输了让机器自己分析,赢了或者输了就叫做Reward,Alpha Go is supervised learning + reinforcement learning
-
机器怎么实际找出想要找出的函数式呢
-
给定函数式寻找范围 Network Architecture
-
RNN
-
CNN
-
-
怎么从范围中找出最好的函数式呢?Deep Learning Framework
- Gradient Descent
前沿研究
-
Expainable AI:以认猫为例,如何告诉用户是一只猫的理由是什么?
- CNN required
-
Adversarial Attack:假设辨识非常强了,用户怀恶意去特意攻击这个函数式,会发生什么?
-
Network Compression:如何将硕大的Network缩小,比如移植到手机上
-
Anormaly Detection:如果输入了错误的数据,会发生什么。如何让机器知道他不认识这个错误的数据
-
Transfer Learning (Domain Adversarial Learning),输入数据时输入了不同类型的数据,比如正常是灰度的数字,而实际上却输入了彩色的数字。即,如何在输入数据和测试数据不同的时候,仍然能够让机器学到东西
-
Meta Learning:比机器学习更进一步,机器是让机器具有学习的能力。Meta Learning则令机器具有了学习如何学习的能力。因为先在的学习效率很低,需要有更好的学习效果。
-
Life-long learning:让机器一连串的任务,终生不断学习。又称为Continuous Learning或者Never Ending Learning
General Regulations
-
Environment
- 建议用Linux或macOS
- python 3.6.8
- Pyenv
-
Kaggle:是一个庞大的资料科学社群,上面有各种资料分析的竞赛。
-
Github
git config --global user.name "name" # 设置用户名 git config --global user.email "name@gmail.com" git config --list # 检查是否设定完成 git init git add example.sh # 将特定档案加入追踪 git add --all git rm --cache train.csv git commit -m "Description" git remote add origin http://... # 与Github地址连起来 git push -u origin