文章目录
机器学习定义
机器学习三板斧
1.定义一个函数集合
2.找到函数的评价标准;
3.选择最佳的函数
监督学习
用已知某种或者某些特性的样本作为训练集,建立一个数学模型,再用已经建立的模型来预测未知样本,这种方法被被称为有监督学习,是常用的一种学习方法;
Supervised Learning-> Regression
Regresion: The output of the target founction f is ‘scalar’.
如果我们在机器学习中要找的function输出是数值,
举个例子: 预测PM2.5进行天气预报。
Supervised Learning-> Classification
分类问题有两种可能,Binary Classification 输出是或否,Multi-class Classification输出多个类型。
举个例子:
Binary Classification: Spam filtering(垃圾邮件过滤),判断是垃圾邮件,不是垃圾邮件。
Multi-classification: Document
Classification(文件分类),将文件分为政治、经济、体育等多个大类。
Classification-> Linear Model 与 Non-Linear Model
Linear Model : 能做的事有限,一些简单的模型可以用它来做,但遇到复杂问题就力不从心了。
Non-linear Model : For example,现在的深度学习就是一个Non-linear Model,能完成一些很复杂的工作,比如图像分类等。
Classification-Image Recognition:输入一个图片,通过一个很复杂的卷积神经网络(CNN)的Function判断是猫是狗还是猴子,每个可能的物种是class。
Classification-Playing Go:输入棋盘上的局势,判断下一个落子的位置,每一个可能的落子位置就是一个class。
Structuerd Learning
在实际运用中,常常会遇到Beyond
Classification的情况,比如语音识别,人脸识别,语言翻译等,是结构化输出。此类问题常配合Reinforcement Learning 解决。
无监督学习
与监督学习相比,无监督学嗲陈的训练集中没有人为的标注的结果,在非监督的学习的过程中数据并不是被特别标识,学习模型只是为了推断出数据的一些内在结构;
example1: 要让机器学会阅读,希望机器自己在网络上爬去很多文章,自己理解其中的意思,进而取得人类的一些理解,掌握阅读的技巧,这就是非监督学习要做的。
我们知道,做machine Learning就是要找一个function。比如在学会阅读这个系统里,我们给系统input一个“apple”词汇,然后让机器看懂。在Unsupervised Learning 中没有人告诉机器每个词汇表示什么意思,只有大量text喂给机器
example2:要让机器学会自主绘画,我们只给机器呈现显示世界中的景象并不做标识,机器要从中提炼绘画风格与内容,学会通过作画表达自己。
半监督学习
如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题,是有监督和无监督学习的结合;
Reinforcement Learning
Reinforcement Learning VS Supervised
增强学习与监督学习有什么区别呢?
example1:用一个语音识别的例子来解释:
Supervised 就像给了机器一个点读机,他听到一句话时可以看到其含义,每一句话都有标签,就像有一个手把手教他的老师。
而Reinforcement Learning
就像跟女朋友对话,反复讲来回讲很多句话,直到女朋友觉得你无言以对愤然离去,机器唯一可以知道的就是他做的好还是不好,除此之外没有任何information。而这更像人类现实生活中的学习过程,必须自己像哪里做得好做得不够好,怎么修正。
另一个例子,下围棋。
example2:
supervised: 给机器一堆棋谱,告诉机器,情况a则落子在“5-5”处,情况b则落子在……
Reinforcement Learning:
让机器自己下棋,下过几百手之后,机器只知道自己赢了还是输了,下的好还是不好,机器必须自己想办法做提高。
Transfer Learning
学习导图
机器学习开发流程总结
数据收集—>数据预处理---->特征提取---->模型构建---->模型测试评估---->投入使用---->迭代优化