机器学习介绍
Datawhale开源学习,机器学习课程,项目地址:https://github.com/datawhalechina/leeml-notes
机器学习隶属于人工智能范畴,说到人工智能,大家可能会想到「让机器像人一样智能」,没错,机器学习是人工智能范畴中的一门学科,机器学习下面有很多类别,深度学习也是其中的一个领域。 这三者的关系:
人工智能(想要达成的目标)->机器学习(想要达成目标所使用的手段)->深度学习(机器学习的一种方法)
机器需要一个模型,这个模型可以使得未知的输入得到一个「符合预期」的输出。「符合预期」就是所谓的「智能」,那如何得到这个模型呢?这里的模型,按照数学的方法,就是去寻找一种函数,使得函数根据「输入」能够得到理想的「输出」,通过已知的「输入」和「输出」去训练模型,去拟合得到想要的模型。所以简而言之,Machine Learning约等于Looking for a Function,寻找一个拟合好的函数。
比如,输入一段语音讲话,得到其文字内容(语音辨识);输入一个图像,得到这个图像中的具体事物类别(影像辨识);告诉机器哪个位置有黑棋和白棋,输出下一步落子的位置等:
那么问题来了,该以什么样的架构去训练一个模型,让它看起来更「智能」?
根据上图,机器学习归结起来有三个步骤:
- define a set of function
- goodness of function
- pick the best function
function set就叫做model模型,有了function set后,要做的事情就是训练,也就是使得训练数据训练出goodness of function,拿图像识别来说,就是我告诉function,我的输入图片是猴子,输出的结果就得是「Monkey」,输入图片是猫咪,输出结果就得是「Cat」,输入图片是小狗,输出结果就得是「Dog」,训练完毕后的function用在测试数据集上,让测试数据作为输入来评判输出结果的准确率,选出最好的模型即可,这就是pick the best function。
李宏机器学习路线:
- Regression(回归,比如根据以往走势预测未来的某个走势)
- Classification(二元、多元分类,把某件事或物分类成不同类别,根据类别数可划分为二元、三元、多元等等,比如输入一个新闻,输出分类政治、经济、体育等等不同类别)
- 线性分类
- 非线性分类(Deep Learning、SVM支持向量机、决策树、KNN等等)
- Semi-supervised Learning(元学习,通过少量有标签数据先训练模型,然后让机器学习大量无标签数据)
- Transfer Learning(给已有模型加上毫不相关的数据,提取其中的可用信息)
- Unsupervised Learning(希望机器无师自通,在没有标签的情况下,机器如何学习某种特定模型)
- Structured Learning(机器的输出是个复杂结构,比如输入声音后,输出由中文词汇拼凑而成的语句)
- Reinforcement Learning(不同于Supervised Learning,需要不断告诉机器这样做不行,让机器自己去纠正自己)