极简机器学习入门
一、人工智能、机器学习、深度学习之间的关系
机器学习是人工智能的子集。
人工智能是最早出现的,也是最大、最外侧的矩形;其次是机器学习,稍晚一点;
最内侧,是深度学习,当今人工智能大爆炸的核心驱动。
人工智能
人工智能可以分为强人工智能和弱人工智能。
- 强人工智能
一种构造复杂的、拥有与人类智慧同样本质特性的机器。这个无所不能的机器,它有着我们所有的感知(甚至比人更多),我们所有的理性,可以像我们一样思考。 - 弱人工智能
弱人工智能是能够很好地执行特定任务的技术。比如 Pinterest上的图像分类;或者Facebook的人脸识别。
机器学习
机器学习是一种实现人工智能的方法。
机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。
机器学习直接来源于早期的人工智能领域。
传统算法包括决策树学习、推导逻辑规划、聚类、强化学习和贝叶斯网络等等。
深度学习
深度学习是更深层次的神经网络,是一种机器学习的技术。
人工神经网络(Artificial Neural Networks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向。
例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。
每一个神经元都为它的输入分配权重,这个权重的正确与否与其执行的任务直接相关。最终的输出由这些权重加总来决定。这里的“深度”就是说神经网络中众多的层。
二、机器学习的分类
机器学习的分类
一般来说,机器学习可以分为监督式机器学习,半监督式机器学习,非监督式学习和强化学习。下面一一介绍:
监督式机器学习
- 使用有样本标志的数据来学习
- 通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出。例如分类
非监督式机器学习
- 使用无样本标志的数据来学习
- 直接对输入数据集进行建模,例如聚类。
- 聚类,是把相似的对象通过静态分类的方法分成不同的组别或者更多的子集(subset),这样让在同一个子集中的成员对象都有相似的一些属性。
半监督式机器学习
- 半监督学习的基本思想是利用数据分布上的模型假设, 建立学习器对未标签样本进行标签。
强化学习
强化学习是机器学习的一个重要分支,是多学科多领域交叉的一个产物,它的本质是解决 decision making 问题,即自动进行决策,并且可以做连续决策。
它主要包含四个元素,agent,环境状态,行动,奖励, 强化学习的目标就是获得最多的累计奖励。
基本网络结构如下图所示:
区别和联系
- 强化学习和监督式学习的区别:
监督式学习就好比你在学习的时候,有一个导师在旁边指点,他知道怎么是对的怎么是错的。
强化学习会在没有任何标签的情况下,通过先尝试做出一些行为得到一个结果,通过这个结果是对还是错的反馈,调整之前的行为,就这样不断的调整,算法能够学习到在什么样的情况下选择什么样的行为可以得到最好的结果。
两种学习方式都会学习出输入到输出的一个映射。
监督式学习出的是输入输出之间的关系,可以告诉算法什么样的输入对应着什么样的输出。
强化学习出的是给机器的反馈 reward function,即用来判断这个行为是好是坏。
- 强化学习和非监督式学习的区别
非监督式不是学习输入到输出的映射,而是模式。
例如在向用户推荐新闻文章的任务中,非监督式会找到用户先前已经阅读过类似的文章并向他们推荐其一,而强化学习将通过向用户先推荐少量的新闻,并不断获得来自用户的反馈,最后构建用户可能会喜欢的文章的“知识图”。
相关概念
- 分类与聚类
分类,是指预先知道类别的数量,将数据分配到特定的一类。比如,在一堆猫狗数据集中,将其分类,就是分成猫和狗这两类。
聚类,事先并不知道任何样本的类别标号,希望通过某种算法来把一组未知类别的样本划分成若干类别。比图,一群动物的图片里面,进行聚类,可以按照有四腿的,有翅膀的,肤色是黑色的等等特征进行聚类。
三、机器学习的学派
知识的来源
- 进化
- 经验
- 文化
- 计算机
机器学习的学派
符号主义—-> 起源于哲学和逻辑学
- 主算法-逆向演绎
联结主义—-> 起源于审计学
- 主算法-反向传播学习算法
进化主义—-> 起源于进化生物学
- 主算法-基因编程
贝叶斯主义—-> 起源于统计学
- 主算法-贝叶斯定理及其衍生定理
类推主义-—> 起源于心理学
- 主算法-支持向量机
机器学习算法的分类
- 分类算法
- 回归算法
- 聚类算法
集成算法
分类算法的介绍:
“训练集”+“测试集”:
- 获取一组输入和输出的集合,输入数据与输出数据之间的函数关系。
分类算法的举例:
- K近邻算法
- 决策树算法
- 朴素贝叶斯
- 支持向量机
- 神经网络
- 马尔科夫链—->语言识别中最好的算法之一
回归算法的介绍
分类和回归的区别
分类和回归的区别在于输出变量的类型不同。
- 连续变量输出为回归
- 离散变量输出为分类
- 预测明天的气温是多少度,这是一个回归任务;预测明天是阴、晴还是雨,就是一个分类任务
- 回归问题通常是用来预测一个值,如预测房价、未来的天气情况等等。
- 本质是拟合曲线,进行预测~
回归算法的举例:
- 线性回归
- 岭回归
- 逻辑回归
聚类算法
- 属于一种非监督学习的算法
算法举例
- K均值算法
- 层次聚类算法
- 自组织映射神经网络聚类算法
- Adaboost算法
- 随机森林
集成算法
- 将多个分类器集成起来而形成的新的分类算法。这类算法又称元算法(meta-algorithm)。最常见的集成思想有两种bagging和boosting。
- boosting:基于错误提升分类器性能,通过集中关注被已有分类器分类错误的样本,构建新分类器并集成。
- bagging:基于数据随机重抽样的分类器构建方法。