在探讨算法之前,我们先来谈一谈什么是机器学习。相信大家都听说过AlphaGo:2016年3月,AlphaGo与围棋世界冠军李世石进行围棋人机大战,最终以4:1获胜;2017年5月,AlphaGo与世界围棋冠军柯洁对战,以3:0获胜。AlphaGo其实就是一款围棋人工智能程序,其主要工作原理是“深度学习”。看一下下面这张图,来了解一下,人工智能、机器学习和深度学习的关系。
在20世纪五十年代,人工智能开始兴起,早期的人工智能还是让人兴奋的(虽然后来发展历程跌宕起伏,像下面这张图,比过山车还刺激,当然这个不是我们今天的探讨重点,感兴趣的小伙伴们可以自行补充这块知识)。在八十年代的时候,机器学习作为人工智能的一个分支也开始兴起,之后也得到了很广泛的应用,比如淘宝京东商品推送,豆瓣电影的“猜你喜欢”这类的推荐系统,还有其他的领域,像 数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺骗、语音与手写识别、战略游戏、机器人等等等等,足以看出它的应用范围有多广。2010年左右,机器学习里面的一个分支——深度学习取得了突破性进展,驱动人工智能蓬勃发展,比如像AlphaGo、人脸识别、图像识别、文字识别、智能监控等等。
这里我们重点来看一下,机器学习的概念,什么是机器学习呢?他其实就是一段计算机程序,针对某一个特定的任务,从经验中学习,并且变得越来越好。这就是机器学习。机器学习有哪些类型呢?主要就是监督学习、无监督学习、半监督学习、强化学习。
机器学习定义人工智能(Artificial Intelligence, AI):是指由人工制造出来的系统所表现出来的智能。类似于电影中终结者、阿尔法狗这类的具有一定的和人类智慧同样本质的一类智能的物体。
机器学习(Machine Learning, ML):是人工智能的一个分支,是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。让一个计算机程序针对某一个特定任务,从经验中学习,并且越来越好。
深度学习(Deep Learning, DL):是机器学习拉出的分支。是机器学习算法中的一种算法,一种实现机器学习的技术和学习方法。
机器学习类型
监督学习就是输入一个包含有特征和目标的训练集,并且要求目标是认为标注好的,也就是你需要提前告诉模型,特征是什么,目标是什么,然后让模型根据训练集学习出一个函数,那么当新的数据来的时候,可以根据这个函数预测出结果。
无监督学习与监督学习唯一的不同就是训练集没有提前进行人为标注。
半监督学习顾名思义就是介于监督学习和无监督学习之间
强化学习就是通过观察来学习做成某个动作,每个动作呢都会对环境有所影响,并且环境会给出反馈,学习对象就会根据观察到的周围环境的反馈来做出判断。这个过程就是强化学习。
类型说明监督学习 训练集包含特征和目标,且目标人为标注,根据训练集学习出一个函数,当新的数据到来的时候,可以根据这个函数预测结果
无监督学习 有训练集,有输入和输出与监督学习相比,训练集没有人为标注
半监督学习 介于监督学习和无监督学习之间
强化学习 通过观察来学习做成某种动作,每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断
那我们今天要讲的k-近邻算法就属于机器学习中的有监督学习,并且属于有监督学习中的距离类模型。
一、k-近邻算法是什么