zoukankan      html  css  js  c++  java
  • Deep learning with Python

    一、导论

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

    人工智能、机器学习

    人工智能:1980年代达到高峰的是专家系统,符号AI是之前的,但不能解决模糊、复杂的问题。

    机器学习是把数据、答案做输入,规则作输出。而传统的是把数据、规则作输入,答案作输出。和统计学有关,但是比统计学解决问题更加复杂。

    机器学习三要素:

    • 输入、
    • 期望的输出、
    • 衡量指标。

    机器学习中的「学习」,就是指寻找更好的表达。

    深度学习

    深度学习(Deep learning)中的深度,是指递进式层级的表达。层数,就是深度。层数一般10层到数百层不等。

    而非深度学习,被称为浅度学习(shallow learning)。

    深度学习的层,常和神经网络有关。(神经网络和生物学的大脑神经没半毛钱关系。)可将层,视为过滤器,一层一层过滤,最后一层输出的是纯净物。

    每一层都有权重,找到权重很难。但目标和输入之间的距离,用损失函数(目标函数)来衡量。这样来调节权重。这就是反馈算法,深度学习算法的核心。

    于是,开始时候随便给个权重,这样第一次的结果,和Y之间就有一个差距(第一次很大),这样就调节权重,进行第二次,再算出差距,循环往复。

    提醒

    AI经历了两轮寒冬,不要被媒体的过分宣传引导。要避免铁锤人倾向,可以学一些其他的机器学习算法。概率模型(朴素贝叶斯、逻辑回归)这些经常用于分类。

    1.2 历史

    Kernal method

    核心算法是一系列的分类算法,支持向量机就是一种(SVM),SVM处理小数据比较好,但是像图像这样的大数据就不行了,而且是浅算法,一开始需要人为操作。

    决策树、随机森林、梯度提升机

    随机森林是把决策树给聚合在一起,在kaggle上,一度是最流行的算法,后来被gradient boosting machine取代

    之所以深度学习脱颖而出,不仅仅因为其表现较好,更是因为可以自动完成其他机器学习需要手动完成的一步——特征工程

    1.3 现在

    Kaggle中,gradient boosting machinedeep learning两种在2016,2017最流行。

    gradient boosting machiens 用于结构化数据,是浅算法,使用XGBboost库。而deep learning使用Keras

    硬件在2000以来飞速发展,但是还不足以支撑关于图像、语言处理,但NVIDIA的cuda可用。

    二、 Tensor

    2.1 什么是tensor?

    tensor是数据容器,里面都是数据,任意维度的数据。

    0维tensor是scalar(标量)。np.array(12)就是一个scalar

    2.2 不同维度的tensor

    • 1维tensor是vector(向量)。np.array([3, 4, 5, 5])就是一个vector

    • 2维tensor是matrix(矩阵) 由多个vector组成

    • 3维是多个matrix。多个matrix组成

    • 一般是0-4维,5维是视频。

    (6000, 28, 28) 这是6000张,28*28大小的图片。第一维度是样本轴。如果是按批次处理,第一维度是batch轴。

    常用数据类型

    Vector

    每个人有年龄、邮编、收入三个特征。100个人,表示为:(100, 3)

    3D

    每分钟股票价格、最高价、最低价。一天有390分钟,一年有250个交易日:(250, 390, 3)

    4D图片

    每个有色图像RGB是是三个(4th D),一张图片有长度、宽度(3th, 2th D),若干张图片(1th D)。(200, 256, 256, 3) 是200张,256*256大小的有色图片。

    5D视频

    一帧是一张图片,号多帧,就是视频(4, 240, 144, 256, 3) 就是4个240帧的144*256大小的彩色视频。

    Tensor操作

    • 元素指向操作。针对tensor中每个元素进行运算。
    • 广播 broadcast。将一列向其他列做同样操作。
    • 点乘 dot 。类似于矩阵的乘法(而不是数乘)
    • 重塑 reshape。原、新tensor元素个数要相同。
  • 相关阅读:
    Elementary Methods in Number Theory Exercise 1.2.25
    Elementary Methods in Number Theory Exercise 1.2.14
    图解欧几里德算法
    图解欧几里德算法
    Elementary Methods in Number Theory Exercise 1.2.14
    Android中的长度单位详解(dp、sp、px、in、pt、mm)
    分享下多年积累的对JAVA程序员成长之路的总结
    android异常之都是deamon惹的祸The connection to adb is down, and a severe error has occured.
    TomatoCartv1.1.8.2部署时报错
    JavaScript浏览器对象之二Document对象
  • 原文地址:https://www.cnblogs.com/heenhui2016/p/10896229.html
Copyright © 2011-2022 走看看