zoukankan      html  css  js  c++  java
  • 机器学习算法总览

    本文对机器学习做一个大体概览,以便看清该学科分支的知识点分布情况,以供后续学习指明方向与道路。

    机器学习是什么

    一般的解释如下:
    机器学习是通过编程让计算机从数据中进行学习的科学(和艺术)。

    还有两位前辈对机器学习的定义如下:
    机器学习是让计算机具有学习的能力,无需进行明确编程。 —— 亚瑟·萨缪尔,1959
    计算机程序利用经验 E 学习任务 T,性能是 P,如果针对任务 T 的性能 P 随着经验 E 不断增长,则称为机器学习。 —— 汤姆·米切尔,1997

    机器学习有哪些优势

    在《Sklearn与TensorFlow机器学习实用指南》一书中,指出机器学习的特长如下:
    1 需要进行大量手工调整或需要拥有长串规则才能解决的问题:机器学习算法通常可以简化代码、提高性能。
    2 问题复杂,传统方法难以解决:最好的机器学习方法可以找到解决方案。
    3 环境有波动:机器学习算法可以适应新数据。
    4 洞察复杂问题和大量数据。

    机器学习算法分类与概括

    根据训练手段与数据特点,常见的机器学习算法被分为以下几类(考虑到深度学习属于机器学习的一个分支,但其自身研究规模可以单独成为一门学科,所以不再将深度学习内容吸纳进来):
    1 监督学习
    2 无监督学习
    3 半监督学习
    4 强化学习

    当然,如果从问题本身出发,则可以按问题特征将算法进行分类,如分类问题、回归问题、聚类问题以及降维问题等。

    1 监督学习

    在监督学习中,用来训练的数据包含了答案,一般将这个答案称为标签。通常在分类与回归问题中,多数用到监督学习算法。其包含的算法有:
    K近邻算法、线性回归、逻辑回归、支持向量机、决策树和随机森林、神经网络(隶属深度学习)等多种算法。

    2 无监督学习

    在无监督学习中,训练数据是不带标签的。通常在聚类、关联规则、降维以及异常检测等任务中需要用到无监督学习算法。其包含的算法有:
    聚类、K均值、层次聚类分析、期望最大值、可视化和降维、主成分分析、关联性规则学习、Apriori 算法等多种算法。

    3 半监督学习

    在半监督学习中,面对的是部分带标签的训练数据,即通常是大量不带标签数据和小部分带标签数据。半监督学习介于监督学习与无监督学习之间,所以多数半监督学习算法是监督算法和无监督算法的结合。例如深度信念网络(deep belief networks)是基于互相叠加的受限玻尔兹曼机(restricted Boltzmann machines,RBM),后者是一个非监督组件。RBM 先用无监督学习方法进行训练,再用监督学习方法进行整个系统的微调。

    4 强化学习

    强化学习在机器学习中独树一帜,学习系统在这里被称为智能体(agent),可以对环境进行观察,选择和执行动作,从而获得奖励或惩罚,以此促进系统自己学习哪个是最佳方法或策略才能得到长久的最大奖励,学习到的策略决定了智能体在给定情况下应该采取的行动。DeepMind 的 AlphaGo 就是强化学习的典型案例,它在 2016 年三月击败了世界围棋冠军李世石,震撼一时。

    声明:对于机器学习的入门书籍,笔者较为推荐文中提到的《Sklearn与TensorFlow机器学习实用指南》,笔者也是在阅读之后想将其内容分享给诸位,本篇博文的素材与思路大多来源于这本书。
  • 相关阅读:
    「日常训练」Single-use Stones (CFR476D2D)
    「日常训练」Greedy Arkady (CFR476D2C)
    「Haskell 学习」二 类型和函数(上)
    「学习记录」《数值分析》第二章计算实习题(Python语言)
    「日常训练」Alena And The Heater (CFR466D2D)
    Dubbo 消费者
    Dubbo 暴露服务
    Rpc
    git fail to push some refs....
    Spring Cloud (6)config 客户端配置 与GitHub通信
  • 原文地址:https://www.cnblogs.com/pythonfl/p/12307077.html
Copyright © 2011-2022 走看看