zoukankan      html  css  js  c++  java
  • 关于分类算法

    顾名思义,分类,是对事物进行区分的过程和方法。分类算法是目前数据挖掘、机器学习等领域中很重要的一部分。下面谈谈对分类算法几个慨念的简单认识。

    1、朴素贝叶斯(Naive Bayes)

    贝叶斯(Bayes)分类算法的原理是利用概率统计知识进行分类,朴素贝叶斯是其中一种。朴素贝叶斯算法成立的一个前提是满足特征间条件独立假设。这种假设可能和实际情况不符合,但让我们判断起来更加简单粗暴。

    举个栗子:“十个吃货有九个会变胖”

    That means“吃货”变胖的概率P(吃货 | 变胖)=0.9,假设根据健康协会的数据吃货占人群总数P(吃货)=0.1、变胖的概率是P(变胖)=0.09,即有一旦有人变胖了,就可以通过贝叶斯公式推导出那个人是“吃货”的概率P(吃货 | 变胖)=P(变胖 | 吃货)* P(吃货)/ P(变胖)=1.0,则这个人100%是个“吃货”。

      非吃货 吃货  
    变胖 0 9 P(变胖)=0.09
    没胖 90 1 P(没胖)=0.901

    P(非吃货)=0.9 P(吃货)=0.1

    2、决策树

    决策树是一种依托策略抉择建立起来的树,一种对实例进行分类的树形结构,这种结构由节点(node)和有向边(directed edge)组成。在决策树中,最能区分类别的特征将会作为最先判断的条件,然后依次向下判断各个次优特征。决策树的核心是怎样选区每个节点的最优判断条件,即选择的过程。

    在每一个判断节点,决策树都会遵循一套类似于IF-THEN的判断规则,举个栗子:

    IF “撒谎” THEN -> “坏孩子”

    ELSE

            IF “逃课” THEN -> “坏孩子”

            ELSE IF “打架” THEN -> “坏孩子”

                    ELSE -> “好孩子”

    3、支持向量机(Support Vector Machine,简称SVM)

    支持向量指的是训练样本集中的最靠近分类决策面的点,这些数据点最难分割。机指的是机器学习中对算法的一个统称,相当于把算法看作学习函数。支持向量机努力在正负样本的边界上找到一条分割线(超平面),使它可以完全区分两类样本并切保证划分出的间隔尽量大。

    若一条分割界限没办法完全区分(线性不可分),我们要么通过核函数(可记作k(||x-xc||))对样本进行空间上的映射后再划分,要么加上松弛变量进行适当容忍。

    4、逻辑回归

    逻辑回归常被称为线性分类器,特征为自变量 x 和因变量 y 之间存在类似 y = ax+b 的一阶的线性关系。

    举个栗子:假设学生在校表现里,“开小差”-1分、“玩手机”-2分、“作业优秀”+5分的次数分别为x1、x2、x3,并且每个学生的基础分为0,即最终得分 y = -1*x1-2*x2+5*x3+0 。

    逻辑回归还通过Sigmoid函数将最终得分y变换到0-1之间,我们可以理解是当前样本属于正样本的概率,就是说y值越高,属于“良好表现”的概率越大。

     

    5、K最邻近(K-Nearest Neighbors,简称KNN)

    K最邻近是分类算法中最普通也最容易理解的算法,它主要是通过距离待预测样本最近的K个样本的类别来判断当前样本的类别。这个算法的思想是,让目标样本与其它正样本距离更近、与其它负样本距离更远,使得其近邻中正样本的比例更高,从而更大概率被判为正样本。

    举个栗子:开学安排座位的时候,老师把入学成绩落后的同学编到周围全是成绩优秀的同学中间去。原因之一就是让落后的那个学生与其他优秀学生走的更近。

     

    6、人工神经网络(Artificial Neural Networks,简称ANN)

    人工神经网络是一种新型的数学模型,它处理信息的结构类似于大脑的神经突触联结。这种结构由大量的节点(神经元)互相联结形成网络。神经网络需要不断地进行训练,这是一个网络学习的过程。通过训练改变网络节点的连接权的值,从而使得它有分类的功能,训练后形成能识别对象的神经网络。

     

  • 相关阅读:
    Git 远程仓库分支管理
    Git 本地仓库管理
    Git 本地仓库管理
    SQLAlchemy_定义(一对一/一对多/多对多)关系
    SQLAlchemy_定义(一对一/一对多/多对多)关系
    自动化生成 Openstack 新项目开发框架
    自动化生成 Openstack 新项目开发框架
    Python 数据结构_队列
    Python 数据结构_队列
    Python 数据结构_堆栈
  • 原文地址:https://www.cnblogs.com/leedhwa/p/10049429.html
Copyright © 2011-2022 走看看