• 机器学习分类算法原理


    (原创)

    机器学习之分类算法原理小记:

    (1)逻辑回归 Logistic regression

    用逻辑函数进行二分类建模,逻辑函数将R->[0,1],代表为Sigmoid函数,构建损失函数(对数似然函数),利用梯度下降去优化参数

    (2)朴素贝叶斯

    利用贝叶斯公式算某些特征下某分类的概率,进而决定属于哪个分类,算概率的时候naive的认为这些特征是独立的。

    拉普拉斯平滑化(Laplace smoothing),引入拉普拉斯系数避免算某些概率的时候算出来0

    (3)支持向量机

    线性可分的,找margin最大的超平面(hyperplanes),

    线性不可分的,寻求非线性的映射φ,将原数据映射到另一个空间下后线性可分,

    优化损失函数时,利用核函数(kernel function)算向量间内积,而避免直接运算φ(x)和φ(x')的内积

    (4)k邻近算法

    由邻近的k个元素的类别来决定分类。k值大小和元素间距离的算法是关键。

    (5)决策树算法,随机森林

    先算信息熵,条件熵,

    ID3:使用 信息增益 最大的特征作为根节点,再递归建立决策树

    C4.5:使用 信息增益率 最大的特征作为根节点,再递归建立决策树

    CART:使用 基尼系数增益 最大的特征作为根节点,建立 二叉树

    随机森林:ensemble的方法,随机bagging训练数据或特征,产生多棵决策树

    (6)ANN (artificial neural network)神经网络

    结构:输入层,隐含层(一层或多层),输出层

    选择合适的激活函数(ReLU,tanh,sigmoid等)来激活非线性。

    反向传播算法(Backpropagation Algorithm):核心原理是 偏导链式法则 ,由输出层倒过去算输出对上一层节点的偏导数

    (7)CNN (convolutional neural network) 卷积神经网络

    结构:输入层,卷积层(kernel,filter),池化层(pooling),全连接层(fully connection),输出层

    filter的参数:个数,大小,步长,零填充

    非线性激活函数:ReLU,sigmoid等

    pooling池化层:常用有max-pooling,mean-pooling等

     dropout:随机移除一些神经元,防过拟合

  • 相关阅读:
    请实现一个js脚本,要求做到将数字转化为千分位表示如:1234567转化为1,234,567
    Linux mlocate安装
    Linux CentOS7网络简单配置
    Linux 常见命令 文件搜索命令
    Linux 常见命令 权限管理命令
    Linux 常见命令 链接命令
    Linux 常见命令 文件处理指令
    List与Set的contains方法效率问题
    集合介绍
    Arrays.asList()
  • 原文地址:https://www.cnblogs.com/randomstring/p/10426216.html
Copyright © 2020-2023  润新知