机器学习就是让机器能自动找到一个函数(function)git
语音识别(Speech Recognition)github
输入是音频,输出是音频对应的文字。微信
图像分类网络
输入是图片,输出是类别(好比猫、狗)。机器学习
AlphaGo下围棋函数
输入是当前棋盘的状态,输出是下一步落棋的位置。学习
对话/问答系统优化
为解决不一样的问题、完成不一样的任务,须要找到不一样的函数,那机器学习能找到哪些函数呢?spa
回归(Regression)blog
输出是一个连续的数值、标量,好比PM2.5预测。
分类(Classification)
输出是一个离散的值。
二分类(Binary Classification)的输出就是0或一、Yes或No、…,好比文本情感分析的输出能够是正面和负面。
多分类(Multi-Category Classification)的输出就是[1,2,3,...,N],好比图像分类里判断一张图片是猫仍是狗仍是杯子。
生成(Generation)
不少教科书把机器学习划分为回归问题和分类问题,但其实不止这两种问题,还有其它问题,好比生成(Generation)。
生成(Generation)指让机器学习如何创造/生成,好比生成文本、图片等。
咱们该如何为机器提供学习资料?
有监督学习(Supervised Learning)
能够把有监督学习中的“监督”理解为“标签(Label)”,即数据集中不只包括特征还包括标签。
有了标签,咱们就能够评价一个函数的好坏,进而优化这个函数。
使用Loss判断函数的好坏,Loss越小,函数越好。我的想法:值得一提的是,Loss/评价指标是多样的、优化方法也是多样的。
强化学习(Reinforcement Learning)
原始的AlpahGo是先经过有监督学习优化到必定程度,而后用强化学习继续优化。
新版本的AlphaGo是彻底经过强化学习实现的,优于原始的AlphaGo。
无监督学习(Unsupervised Learning)
只给机器提供数据特征,但不提供数据标签。那机器能学到什么呢?
下面以让机器学习下围棋为例:有监督学习VS强化学习。
有监督学习
函数的输入(数据特征)就是棋盘状态,函数的输出(数据标签)就是下一步落棋的位置。
此时,咱们须要为机器提供的数据就相似棋谱(若是如今棋局是这样,那下一步怎么落棋最好),但其实人类不必定知道怎么落棋最好。
我的想法:理论上,经过这样的有监督学习,机器是没法超越人类的。由于这样的有监督学习的本质是人类把本身的下棋策略教给机器,机器学习的内容仅仅是人类的下棋策略而没法“自主进行思考”,因此理论上机器是没法超越人类的。同时要注意,这里的人类指全人类。
强化学习
让机器跟本身、别人下棋,把结果(赢或输)做为Reward,引导机器学习如何下棋。
若是它赢了,那它就知道这一盘里有几步棋下得好,但不知道是哪几步;若是它输了,它就知道这一盘里有几步棋下得很差,但不知道是哪几步。
我的想法:理论上,经过这样的强化学习,机器是能够超过人类的。由于二者的学习材料没有本质区别,但机器的机能却优于人类,这里讲的机能包括信息共享能力、记忆能力、执行能力等方面
咱们要给定函数形式/范围(模型)
好比假定函数是线性模型、神经网络等等。模型就是一个函数集,模型的参数肯定之后,才获得一个函数。
找到更好的函数:
使用梯度降低(Gradient Descent),找到更好的函数。
AI的可解释性(Explainable AI)
好比,机器为何认为这张图片里有一只猫?
对抗攻击(Adversarial Attack)
对输入故意添加一些人没法察觉的细微的干扰,致使模型以高置信度给出一个错误的输出。
模型压缩(Network Compression)
把模型压缩以减小模型对计算资源消耗。
异常检测(Anomaly Detection)
使机器知道它遇到了本身不知道的东西。
迁移学习(Transfer Learning/Domain Adversarial Learning)
一个模型已经学到了一些知识,将这些知识应用到另外一个任务中。
元学习(Meta Learning)
让机器学习如何学习。
机器学习是咱们教机器学习某种知识,元学习是咱们教机器如何学习。
终身学习(Life-Long Learning)
让机器终身学习,学习完任务一、再继续学任务二、……
Github(github.com):@chouxianyu
Github Pages(github.io):@臭咸鱼
知乎(zhihu.com):@臭咸鱼
博客园(cnblogs.com):@臭咸鱼
B站(bilibili.com):@绝版臭咸鱼
微信公众号(WeChat Official Accounts):@臭咸鱼的快乐生活
转载请注明出处,欢迎讨论和交流!