zoukankan      html  css  js  c++  java
  • 机器学习,深度学习相关介绍

    最近看了周志华老师的书,主要内容如下,涉及到很多机器学习的知识点:

    by [2017.12.29 更新  denny  shenzhen 59888745@qq.com]

    1.线性模型:

    1. 线性回归;多元线性回归;广义线性回归;
    2. 二分类问题,

    3.在样本空间找一个超平面,将不同类别的样本分开;

    2.决策树:CSL,ID3,C4.5算法

    ID3中根据属性值分割数据,之后该特征不会再起作用,这种快速切割的方式会影响算法的准确率.

    C4.5还弥补了ID3中不能处理特征属性值连续的问题

    CART(Classification and Regression tree)分类回归树是一棵二叉树,采用二元切分法,每次把数据切成两份,分别进入左子树、右子树.

    CART:回归任务的决策树.

    GB、GBDT、xgboost 的关系

    GB:Gradient boosting:机器学习中的学习算法的目标是为了优化或者说最小化loss Function,Gradient boosting的思想是迭代生多个(M个)弱的模型,然后将每个弱模型的预测结果相加

    GBDT:Gradient boosting Decision Tree(GBDT),GB算法中最典型的基学习器是决策树,尤其是CART,正如名字的含义,GBDT是GB和DT的结合

    xgboost :Xgboost是GB算法的高效实现,xgboost中的基学习器除了可以是CART(gbtree)也可以是线性分类器(gblinear)。

    RF:随即森林

    策略:分而治之,自根至叶的递归过程;在每一个中间结点寻找一个划分;

    信息熵:

    信息增益:求特增的信息增益,再用信息增益最大的特征来划分属性;

    剪枝方法(训练样本时,有可能造成分支过多,主动去掉一些分支):是决策树对付过拟合的主要手段

    3. 神经网络:

    神经元模型:

    激活函数:sigmoid

    多层网络:包含隐含的网络

    BP算法:

    BP算法:误差逆传播算法:是一个迭代学习算法,在迭代的每一轮中采用广义感知机;基于梯度下降策略;

    标准BP算法,累积BP算法;

    缓解过拟合的策略:

    早停:若训练误差连续n轮的变化小于b,则停止训练;若训练误差降低,验证误差升高,则停止训练;

    正则化:在误差目标函数中增加一项描述网络复杂度;

    全局最小,局部最小:

    神经网络的训练过程可以看作是一个参数寻优的过程;在参数空间中,寻找一组最优参数使得误差最小;

    跳出局部最小的常见策略:

    不同的初始参数;

    随机扰动;

    遗传算法;

    其他常见神经网络:

    RBF劲向基函数:分类任务中出bp之外最常用

    ART:‘竞争学习’的代表

    SOM自组织特征映射:最常用的聚类方法

    etc

    最常用的深度学习模型:卷积神经网络CNN

    深度学习常用软件包:caffe,matconvnet,torch

    3.支持向量机svm

    对偶问题:拉格朗日函数

    解的稀疏性:

    核函数kernel function:的选择成为支持向量机性能的关键;

    e不敏感损失函数;

    4.贝叶斯分类器

        贝叶斯定理

       先验概力,后验概力

      极大力拟然估算

      EM算法:是估算隐变量的利器;

    5.集成学习

          通过构建并结合多个学习器来完成学习任务。

          同质集成:集成中包含同类型学习器

          异质集成:个体学习器由不同的学习算法生成

          集成学习方法:

          序列化方法:adaboost,gradientboost,lpboost

          并行化方法:bagging

    6.聚类:

    将样本数据划分为多个族;

    原型据类:kmeans

    1.随机选取k个点作为族中心

    2.将其他样本点根据与族中心的距离,划分给最近的族;

    3.根新各族的均值向量,将其作为族中心;

    4.若所有族中心没有发生变化,则停止,否则执行2

    密度据类:dbscan

    层次据类:agnes

    -----------------------------

    1.用递归的视角来看决策树,根据特征选择分支条件,不断的生成子树,所有的子数组成了最后的决策树。为了防止过拟合,限制模型的复杂度,通常都会通过剪枝(Pruning)来正则化决策树

    例如下面根据回家时间、约会情况

    2.熵是随机变量不确定性的度量,不确定性越大,熵值就越大.

    3.正则化概述(Regularization):理解为在最小化loss function 的同时,保证模型的复杂度尽可能的低,防止出现过拟合(overfitting)。 它一方面可用于控制模型的复杂度,提高模型的范化能力;另一方面还可以用于约束模型的特性,例如稀疏、平滑特性等

    4.机器学习技法-AdaBoost元算法:通过组合多个弱分类器(hypothese),构建一个更强大的分类器(hypothese),从而达到“三个臭皮匠赛过诸葛亮”的效果

    5.CART相比AdaBoost的效率会高一些,因为前者是“有条件的切”,后者是完全的“横、竖”。

    6.随机森林(RF):通过Bagging的方式将许多个CART组合在一起,不考虑计算代价,通常树越多越好.

     7.熵是随机变量不确定性的度量,不确定性越大,熵值就越大。

    机器学习性能评估指标

    分类:         准确里accuracy,         精确里precison,         召回里recall         ROC         AUC

    回归:          平均绝对误差MAE(Mean Absolute Error)又被称为 l 1  范数损失(l1-norm loss),          平均平方误差 MSE(Mean Squared Error)又被称为 l 2  范数损失(l2-norm loss).

    ROC 曲线可以用于评价一个分类器好坏 在逻辑回归里面,我们会设一个阈值,大于这个值的为正类,小于这个值为负类。如果我们减小这个阀值,那么更多的样本会被识别为正类。这会提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了形象化这一变化,在此引入 ROC TPR 代表能将正例分对的概率,FPR 代表将负例错分为正例的概率.

    AUC:定义为ROC曲线下的面积

     ------------------------------------------------

     

    /场合

    朴素贝叶

    对小规模的数据表现很好,适合多分类任务,适合增量式训练

    对输入数据的表达形式很敏感

    决策是选择一个属性进行分枝

    计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征

    容易过拟合(后续出现了随机森林,减小了过拟合现象);

    logsitc回归 是用最大似然估计来学习的用于分类

    分类时计算量非常小,速度很快,存储资源低

    容易欠拟合,一般准确度不太高, 只能处理两分类问题

     线性回  用于回归

    实现简单,计算简单

                       不能拟合非线性数据

    KNN

    可以用来做分类也可以用来做回归, 准确度高,对数据没有假设

    计算量大, 需要大量的内存

    参考大神 陈天奇的blog:http://homes.cs.washington.edu/~tqchen
    http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf

    学习资料:

    1. 特征工程技术和方法概括总结:http://blog.csdn.net/jasonding1354/article/details/47171115

    2. 干货:结合Scikit-learn介绍几种常用的特征选择方法:http://dataunion.org/14072.html

    3. 参考资料2的英文原版:http://machinelearningmastery.com/discover-feature-engineering-how-to-engineer-features-and-how-to-get-good-at-it/

    4. 机器学习之特征工程:http://www.csuldw.com/2015/10/24/2015-10-24%20feature%20engineering/

    5. 特征提取与特征选择: http://lanbing510.info/2014/10/22/Feature-Extraction-Selection.html

    6. PCA与LDA:http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html 

    7。http://www.cnblogs.com/wxquare/p/5484636.html ml 学习笔记

    8。https://class.coursera.org/ntumltwo-002/lecture

  • 相关阅读:
    TPCx-BB官宣最新世界纪录,阿里巴巴计算力持续突破
    Java 编程技巧之数据结构
    从零开始入门 K8s | Kubernetes 网络概念及策略控制
    从零开始入门 K8s | 可观测性:监控与日志
    如何在 Knative 中部署 WebSocket 和 gRPC 服务?
    全球首个开放应用模型 OAM 开源
    开放应用模型(OAM):全球首个云原生应用标准定义与架构模型
    一文读懂分布式架构知识体系(内含超全核心知识大图)
    更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读
    数论练习(1)——取余运算(快速幂)
  • 原文地址:https://www.cnblogs.com/csj007523/p/8144775.html
Copyright © 2011-2022 走看看