• (1)机器学习的基本概念


    1.传统算法与机器学习的区别

    机器学习:让机器去学习   

    传统算法:让机器去执行

    2.人类学习的过程

    人类的学习过程是一个典型的经验学习的过程。

    3.机器学习的过程

    机器学习的过程和人类学习的过程是极为相似的。

    4.机器学习发展的两个前提:

    (1)数据资料的大量产生与获取。

    (2)计算机运算速度提高,计算能力越来越强。

    5.人工智能,机器学习和深度学习的关系

    6.学习机器学习需要关注的问题

    7.对于调库的态度

    8.机器学习世界的数据

    鸢尾花数据集的一部分:

    数据整体叫数据集(data set)

    每一行数据称为一个样本(sample)

    除最后一列,每一列表达样本的一个特征/属性(feature)    每一个样本由不同的特征进行描述

    最后一列称为标记(label)  (机器学习要学习的内容)

    数学上常用大写字母表示矩阵,小写字母表示向量。

    X是一个矩阵

    X有多少行说明有多少样本,有多少列说明有多少特征。

    y是一个向量

     

    每个样本的特征都可以表示为一个特征向量。

    在数学上,向量通常都用列向量表示(特征向量x(i)为列向量)

    以上的鸢尾花数据集可以用向量表示为:  

    样本的本质是在特征所组成的空间中的一个点:   (在高维空间同理)

    该空间称为特征空间(feature space)

    分类任务的本质就是在特征空间进行切分:

    特征可能是有具体语义的,也可能是抽象的。

    9.机器学习的主要任务

    机器学习的基本任务分为分类任务和回归任务。更准确地说,是监督学习这种方式处理的是分类问题和回归问题。

    分类任务: 将给定的数据进行分类

    (1) 二分类

    (2) 多分类

    很多复杂的问题可以转换为多分类问题

    一些算法只支持完成二分类的任务,但多分类的任务可以转换为二分类的任务,使得这些算法也能够胜任。

    有些算法天然就可以完成多分类任务。

    (3) 多标签分类

    把一样事物分到多个类别当中

    回归任务: 结果是一个连续数字的值,而不是一个类别。

     

    有一些算法只能解决回归问题,有一些算法只能解决分类问题,还有一些算法既能解决回归问题又能解决分类问题

    一些情况下,回归任务可以简化成分类任务

    可以把模型理解成是一个函数f(x)

    x为样本资料,函数的值即为结果(类别[分类问题]或连续数值[回归问题])

    机器学习的本质就是找出这样的一个函数

    10.监督学习,半监督学习,非监督学习和增强学习

    可以把机器学习算法分为监督学习,半监督学习,非监督学习和增强学习四个大类

    (1) 监督学习

    给机器的训练数据集拥有”标记”或者”答案”

    监督学习主要处理分类问题和回归问题

    (2) 非监督学习(辅助监督学习的进行)

    给机器的训练数据没有任何“标记”或”答案”

    非监督学习的意义:

    1. 对没有标记的数据进行分类(聚类分析)
    2. 对数据进行降维处理(包括特征提取【忽略与判断无关的特征】和特征压缩【若干个特征联系紧密,可以用一个特征来表达。在尽量少的损失信息的情况下,将高维的特征向量压缩成低维的特征向量,大大提高机器学习算法的运行效率且不影响机器学习最终的准确率】)

    特征压缩使用的主要手段:PCA

    数据降维处理的意义:方便可视化

         3.异常检测 检测出异常的样本并去除

    (3)半监督学习

    半监督学习是监督学习和无监督学习的结合

    一部分数据有”标记”或”答案”,另一部分数据没有

    半监督学习在实际生活中是更常见的,因为会有各种原因导致数据集中的标记缺失。

    对于半监督学习,通常先使用无监督学习手段对数据做处理,使得数据变成监督学习的模式,之后使用监督学习手段做模型的训练和预测。

    (4)增强学习

    Agent:机器学习算法

    机器学习算法(agent)根据周围的环境(environment)采取行动(action),采取行动之后,算法会收到环境的反馈(采用奖赏的机制或惩罚的机制),根据反馈改进自己的行为模式,然后再根据环境采取行动,环境再反馈,以此类推。

    Agent在循环往复的行动-反馈中逐渐增强自己的智能。

    监督学习和半监督学习是增强学习的基础。

     11.批量学习(离线学习 Offline Learning)Batch Learning和在线学习 Online Learning:

    (1)批量学习   模型训练完毕后就不会再发生变化

    优点:简单

    会产生的问题:  无法适应环境的变化 

    解决方法:  定时重新批量学习

    缺点:   每次重新批量学习,运算量巨大。

               在某些环境变化非常快的情况下(如股市),甚至是不可能的。

    (2)在线学习     即时将新产生的数据用于改进机器学习模型

    每次对输入数据产生产生输出结果时,同时也得到了输入数据对应的正确结果,将这一组新的样本实时地用于改进模型。

    优点: 能够及时地反映新的环境变化。

    可能产生的问题:新的数据若是异常数据,可能带来不好的变化

    解决方法: 需要加强对数据进行监控。(使用非监督学习进行异常数据检测)

    在线学习不仅适用于需要及时反映新的环境变化的情况,还适用于数据量巨大,无法完全进行批量学习的情况。

    12.参数学习(Parametric Learning)和非参数学习(Nonparametric Learning):

    (1)参数学习

     ab即为参数  

    机器学习过程的本质就是找到合适的a和b,从而建立模型

    一旦学到了参数,就不再需要原有的数据集

    (2)非参数学习

    不对模型进行参数上的假设

    原有的数据集也要参与到预测的过程中

    非参数学习不代表没有参数。

    13.在机器学习领域,算法和数据都非常重要。

    算法的重要性是毋庸置疑的。

    数据也非常重要。现今的大多数机器学习任务是数据驱动(高度依赖数据本身的质量)的。

    因此我们需要收集更多的数据,提高数据的质量,提高数据的代表性,研究更重要的特征。

    14.如何选择机器学习算法

    (1)简单的就是好的(问题:在机器学习领域,什么叫"简单"?)

      (2) 没有一种算法,绝对比另一种算法好。但具体到某个特定的问题,有些算法可能更好。

    脱离具体问题,谈哪个算法好是没有意义的。

    在面对一个具体问题的时候,尝试使用多种算法进行对比试验,是必要的。

    。。。
  • 相关阅读:
    [NOIP2018 提高组] 保卫王国
    CF 939F. Cutlet
    [USACO15JAN]Moovie Mooving G
    [NOIP2017 提高组] 宝藏
    花园
    [[清华集训2012]串珠子]
    帮助——状压
    R语言产生月末日期
    R for循环示例
    Spark scala String Array转为String
  • 原文地址:https://www.cnblogs.com/paradis/p/10798508.html
Copyright © 2020-2023  润新知