《Python 深度学习》 第一章

人工智能、机器学习、深度学习#

人工智能 > 机器学习 > 深度学习

  1. 人工智能简洁定义:努力将通常由人类完成的智力任务自动化。 包括符号主义(明确的逻辑问题)和机器学习
  1. 机器学习:定义了一种新的编程范式,经典的程序设计输入是规则和数据,输出则是答案,而机器学习输入的是答案和数据,输出的是规则。黑盒,更多的是工程导向,想法靠工程实践去证明,而不是理论推导。

    机器学习就是从数据中学习,需要三要素:输入数据集,预期输出的实例以及衡量算法效果好坏的方法。机器学习中的学习,就是寻找数据更好的数据表示方法,所有的机器学习算法都是寻找一种变换,这种变换可以根据任务将数据转换为更加有用的表示

    机器学习的技术定义:在预先定义好的结构空间中,利用反馈信号的指引,寻找输入数据更加有效的表示

  2. 深度学习:强调从更多的表示层中(神经网络结构)学习非线性的特征,深度学习是从数据中学习表示的一种数学框架,权重,参数,学习,损失函数(目标函数),训练循环

    深度学习已经取得到的进展:图像分类,语音识别,手写文字转录,机器翻译,文本到语音的转换,数字助理,自动驾驶,广告投放等等,但是不要相信短期的炒作,更多应用可能在长时间内都不可能实现:例如可信的人机对话系统,跨任何语音的机器翻译,以及人类语言的理解。不要相信短期的炒作,一定要相信长期的愿景。人工智能可能需要一段时间才能充分发挥其潜力。

  1. 机器学习简史 before deep learning

    1.概率建模:朴素贝叶斯(贝叶斯定理和统计学基础),logistic回归

    2.早期神经网络 一种利用梯度下降优化来训练仪洗脸参数化运算链的方法

    3.核方法(SVM) support vector machine 目标是通过在属于两个不同类别的数据集中间找到一条决策边界,通过两步来实现:(1)将数据映射到一个高维表示,这时决策平面可以用一个超平面来表示 (2)尽量让超平面与每个类别最近的数据点距离最大化,从而计算出良好决策边界,这一步叫做间隔最大化。 核方法难点在于如何将数据映射到高维表示从而使问题简化,通常用到__核方法__,核函数是一个在计算机上能够实现的方法,将原始空间任意两点内映射为这两点在目标表示空间的距离,完全避免了对新表示法的直接计算。核函数通常人为选择。
    核方法在简单的分类问题比较好,并且适用于严肃的数学分析,因而非常易于解释和理解,但是很难扩展到较大的数据集(为什么很难扩展到较大的数据集?),在图像分类的感知问题上效果也不好,因为需要用特征工程手动提取有用信息。

    4.决策树、随机森林与梯度提升机:适用于浅层的机器学习问题。随机森里算法,是将构建的许多决策树的输出集成在一起。同事,梯度提升机也是将弱预测模型(通常是决策树)集成的机器学习技术,使用梯度提升方法,通过迭代地训练新模型来专门解决之前的问题。(GBDT) boosting家族算法

    5.深度学习有何不同:不同于SVM(非线性高维投影)和决策树,将特征工程自动化。深度学习从数据中学习有两个基本特征:第一:通过渐进的、逐层的方式形成越来越复杂的表示;第二:对中间这些渐进的表示共同进行学习

  2. 为什么是深度学习
    硬件、数据、算法优化
    1.硬件: GPU CUDA 并行矩阵运算
    2.数据: 互联网时代的数据大爆炸
    3.算法:1)更好的神经层激活函数 2)更好的权重初始化方案 3)更好的优化方案,例如Adam和RMSProp

    深度学习工具的特点:
    1.简单
    2.可扩展
    3.多功能与复用