zoukankan      html  css  js  c++  java
  • 机器学习--基础入门

    一、说在前面

      今天开始第一节数据酷客的学习,进行机器学习的入门,机器能学习吗?

    二、笔记

    机器学习方法的分类

    有监督学习
    数据集中的样本带有标签,有明确目标
    回归和分类
    目标:找到样本到标签的最佳映射 y=f(x) 找到这个f
    应用场景:垃圾邮件分类、病理切片分类、客户流失预警、客户风险评估、房价预测等
    典型方法
    回归模型:线性回归、岭回归、LASSO和回归样条等
    分类模型:逻辑回归、K近邻、决策树、支持向量机等

    无监督学习(根据数据本身的分布特点,挖掘反映数据的内在特性)
    数据集中的样本没有标签,没有明确目标
    聚类、降维、排序、密度估计、关联规则挖掘

    聚类:将数据集中相似的样本进行分类,使得:
    同一组对象之间尽可能相似;
    不同组的对象之间尽可能不相似。

    应用场景:
    基因表达水平聚类:基因表达水平聚类∶根据不同基因表达的时序特征进行聚类,得到基因表达处于信号通路上游还是下游的信息
    篮球运动员划分:篮球运动员划分∶根据球员相关数据,将其划分到不同类型(或者不同等级)的运动员阵营中
    客户分析:把客户细分成不同客户群,每个客户群有相似行为,做到精准营销

    电信客户分析(K-means)
    K-means
    (1)选择K个点作为初始质心
    (2)Repeat:将每一个点指派到最近的质心,形成K个簇,重新计算每一个簇的质心
    (3)直到质心不发生变化

    强化学习
    指挥决策的过程,通过过程模拟和观察来不断学习、提高决策能力
    例如:AlphaGo

    基本概念
    agent:智能体(学习的对象)
    environment:环境(和agent不断交互)
    state:状态(environment对agent的反馈)
    action:行动(根据state采取最佳的action)
    reward:奖励

    机器学习核心概念和一般流程:
    数据集:一组样本的集合
    样本:数据集的一行。一个样本包含一个或多个特征,此外还可能包含一个标签
    特征:数据集的一列。在进行预测时的输入变量

    以有监督学习为例:
    有监督学习的数据集还分 
    训练集:用于训练模型的数据集
    测试集:用于测试模型的数据集
    模型:建立数据的输入x和输出y之间的映射关系 y=f(x)
    损失函数: L(yi,f(xi)),用来制定一个学习目标
    优化目标:对损失函数的最小化,最优化的问题

    模型过于复杂(过度拟合):例如参数过多,导致所选模型对已知数据预测得很好,但对未知数据预测很差
    正则化:

    模型的选择:
    交叉验证(数据集不太大):基本想法是重复地使用数据。将数据集随机切分,将切分的数据集组合为训练集和测试集,在此基础上反复进行训练,测试和模型选择。
    K折交叉验证:随机地将数据切分为K个子集,每次利用k-1个子集的数据训练模型,余下的数据测试模型,最后选择在k次测评中平均性能最好的模型。

    机器学习中的数学结构
    数据也是有数据结构的,没有数据结构便无法处理数据
    度量结构︰表示数据之间的距离。
    网络结构︰有些数据本身就有网络结构,如社交网络。如果没有,可以利用度重结构给数据附加一个网络结构。
    代数结构︰将数据看作向量、矩阵或更高阶的张量。tensorflow
    几何结构︰流形、对称性等

    度量结构与K近邻算法
    文本处理为例:
    计算两篇文章的距离,相似度:以字典上所有的词作为坐标,对应的文章中词频作为坐标值,便可以将文章表示为向量,使用余弦相似度来计算文章的距离
    K近邻:当对测试样本进行分类时,找到训练集中与该样本集最相似的k个样本,根据k个样本的标签确定测试样本的标签。k的选择很重要,k不同可能会影响预测结果
    提高计算速度:最常用的数据结构为k-d数,是二叉搜索树在多维空间上的扩展。

    网络结构与PageRank算法
    有了数据的度量结构,可以很容易定义一个网络结构。网络表示为G=<V,E>,V表示节点,E表示边。
    例如两个样本的距离校宇某个阈值,就连一条边,也可以进一步将边赋予权重。
    PageRank:

    实践案例
    案例1:使用KNN对新闻主题进行自动分类

    案例2:使用PageRank对全球机场进行排序

    实践工具
    jieba
    sklearn
    pandas
    matplotlib
    networkx

    三、体会

    通过第一节课的学习我学习到了一些关于机器学习的基础知识,但是其中内部的实现还不了解,就像笔记中对老师的案例讲解和使用的工具根本不明白,先留下空缺,待之后的学习来填补空白。

  • 相关阅读:
    poj 1860 Currency Exchange(最短路径的应用)
    poj 2965 The Pilots Brothers' refrigerator
    zoj 1827 the game of 31 (有限制的博弈论)
    poj 3295 Tautology (构造法)
    poj 1753 Flip Game(枚举)
    poj 2109 (贪心)
    poj 1328(贪心)
    Qt 对单个控件美化
    Qt 4基础
    Bash Shell
  • 原文地址:https://www.cnblogs.com/suanai/p/14331699.html
Copyright © 2011-2022 走看看