算法问题整理

svm 问题

参考:

  • 原理: svm是一种二分类模型,基本模型是在特征空间中寻找==间隔最大化==的分离超平面的线性分类器

    • [x] 线性可分时
    • [x] 近似线性可分时
    • [x] 线性不可分时

       利用间隔最大化求得最优分离超平面,解是唯一的,此时分隔超平面所产生的分类结果也是鲁棒性最好的,对未知实例的泛化能力也是最强的

  • 为什么要将求解SVM 的原始问题转换为对偶问题了?

    • [x] 对偶问题更容易求解,引进了kkt约束条件,减小了搜寻的范围,但是确使原始的优化问题变得复杂,为了使问题变得易于处理,我们把目标函数和约束全部融入 拉格兰日函数中进行求解
    • [x] 很自然的引入核函数 ,推广到非线性分类中
  • 为什么svm要引入核函数 ?

       当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征上,使得样本在这个特征空间内是线性可分的

  • svm 对缺失值比较敏感

        没有处理缺失值的能力 ,svm希望样本在特征空间上线性可分,所以特征空间的好坏对svm很重要

逻辑回归

参考:

   逻辑回归假设数据服从伯努利分布,通过极大化似然函数,运用梯度下降来求解参数,来达到二分类的目的

  • 逻辑回归的损失函数为什么要使用极大似然函数,不选平方损失函数了?

       因为如果使用平方损失函数,你会发现梯度更新的速度和sigmod函数本身的梯度是相关的,然而sigmod函数梯度在定义域内的梯度都不大于0.25

gbdt 和 xgboost

gbdt

  • 介绍

        gbdt 通过采用加法模型(基函数的线性组合),不断减小训练过程的残差来达到将数据分类或者回归的算法

  • 训练过程 : 通过多轮迭代,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练,弱分类器一般选择 cart 树

  • gbdt 怎样生成特征

       逻辑回归本身适合处理线性可分的数据,如果我们想让逻辑回归处理非线性的数据,其中一种方式便是组合不同特征,增强逻辑回归对非线性分布的拟合能力

xgboost

  • 1、显示的把数模型复杂度作为正则项加到优化目标中
  • 2、公式的推导中用到了二阶导数,用了二阶泰勒展开
  • 3、实现了分裂点寻找近似算法
  • 4、利用的特征的稀疏性
  • 5、数据事先排序并且以block形式存储,有利于并行计算

需要调节的参数:

通用参数;
- booster[默认gbtree]:选择每次迭代的模型,有两种选择,基于线性的模型&基于树的模型
- nthread 多线程控制

booster参数:

  • max_depth[默认6]
  • max_leaf_nodes 最大的节点或叶子的数量
  • lambda 权重的L2正则化项
  • alpha 权重的L1正则化项

介绍一下卷积神经网络

   一般的全连接网络,考虑的是输入全局的信息而非局部,在卷积网络中,以图片输入为例,我们不在是一次性全部输入,而是通过局部卷积的方式,其中卷积网络中主要包含三个重要的概念:
- 感受野
- 共享权重
- 池化

参考 https://www.nowcoder.com/discuss/15168?type=2&order=3&pos=117&page=3&from=mnks201

你可能感兴趣的:(数据挖掘)