158文章网欢迎您
您的位置:158文章网 > 范文示例 > 数据挖掘干货总结(七)- LR回归算法

数据挖掘干货总结(七)- LR回归算法

作者:158文章网日期:

返回目录:范文示例

今天小编给各位分享数据挖掘总结的知识,文中也会对其通过数据挖掘干货总结(七)- LR回归算法和常用的数据挖掘算法有哪几类?等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:
  • 数据挖掘干货总结(七)- LR回归算法
  • 常用的数据挖掘算法有哪几类?
  • 用于数据挖掘的分类算法有哪些,各有何优劣
  • 数据挖掘常用算法有哪些?
  • 一、数据挖掘干货总结(七)- LR回归算法

    本文共计1234字,预计阅读时长八分钟


    回归算法

    回归的本质

    发现y和x的规律,以预测新情况下的y值

    回归算法的分类

    1. 线性回归(Linear Regression)

    1)一元线性回归

    • 输入

    一元自变量x,一元因变量y

    • 回归模型

    模型输出:y= wx + b

    模型参数:w, b

    • 损失函数

    对每个样本,预测值y' = wx + b, 误差:ε = y - y'

    损失函数,即最小化误差平方和:minΣε=minΣ(wx+b-y)

    令导数等于0,求出上式的w, b 即可

    2)多元线性回归

    • 输入

    自变量是一个向量x,因变量数值y

    • 回归模型

    模型输出:

    模型参数:w(向量)

    • 损失函数

    对每个样本,预测值y' = wx , 误差:ε = y - y'

    损失函数,即最小化误差平方和:

    令导数等于0,则

    2. 非线性回归(none-Linear Regression)

    如果回归模型的因变量是自变量的非一次函数形式,回归规律在图形上表现为形态各异的各种曲线,称为非线性回归。下面主要介绍机器学习中常见的一种非线性回归——逻辑回归(Logistic Regression)

    • 输入

    自变量x,因变量y

    注:y不再是连续值,而是离散值{0,1}

    目标:根据特征x,预测发生概率p(y=1|x)和p(y=0|x),哪个概率大,y就取哪个值

    • 回归模型

    模型输出:此时不能再设y= wx,因为y只能为0或1,所以我们需要换个思路

    令:

    因为左右两边的值域都是 [0,+∞),左边的可以这么理解,

    那么,

    得到形似sigmoid的函数:

    故,将模型设为:

    模型的参数:w(向量)

    • 损失函数(本篇的精华)

    ① 因为模型的结果是两个概率,无法计算y的误差。关于概率的问题我们需要换个思路——最大似然估计当从模型总体随机抽取n组样本观测后,最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大。

    看不懂对吧?我的理解,就是通过后验概率求先验概率的原理

    一个袋子中有20个球,只有黑白两色,有放回的抽取十次,取出8个黑球和2个白球,计算袋子里有白球黑球各几个。那么我会认为我所抽出的这个样本是被抽取的事件中概率最大的。p(黑球=8)=p* (1-p), 让这个值最大。求导便得到p=0.8,即我们认为袋子中黑球占了80%。

    最大似然对数似然

    因为在算法上幂和连乘不好处理(聚合函数里没有连乘,只有连加sum),我们可以加个对数,巧妙地避开了这个麻烦。

    对数似然负对数似然

    在机器学习需要迭代的算法中,都会有个损失函数,当损失函数小于某个值时,停止迭代,刚才的对数似然是在求最大值,此时加个负号就变成最小值。这样,又巧妙地满足了这个套路。

    注:这里负对数似然原则上不再叫损失函数,而是有另外一个专有名词——代理函数。

    梯度下降法求解

    为了计算得到这个负对数似然函数L(w)的最小值,需要借助梯度下降法

    我们可以模拟这样的一个过程:你来到一个盆地,刚好晚上起雾了,能见度很差,如果规定不能坐缆车,只能步行下山,想要尽快到达盆地底部,正常人都会遵循的三个原则:

    1.每次选择坡度最陡的方向前进(即梯度的反方向);

    2.越接近底部,步频会越小,否则很有可能错过最低点;

    3.连续走了几步发现在海拔上并没有太大的变化,基本就可以判断到达了盆地底部。

    所以梯度下降法的核心类似:

    1.设置初始w,计算L(w)

    2.计算梯度d = ▽L(w)

    得到下降方向选择:dir = -d

    3.调用line search得到下降后的w'和L(w')

    i) 设定初始步长c>0,容许度0<b<1,折半因子0<a<1

    ii) w' = w+c*dir, 计算得到L(w')

    4.迭代与停止条件

    i) 令w = w', L(w) = L(w'), c = a*c, 继续第2步;

    ii) 如果L(w') - L(w) < b*c,停止(为了避免死循环,设置一个迭代次数k,达到k次也可以停止)。

    (个人总结,欢迎指正)

    一、常用的数据挖掘算法有哪几类?

    常用的数据挖掘算法分为以下几类:神经网络,遗传算法,回归算法,聚类分析算法,贝耶斯算法。

    目前已经进入大数据的时代,所以数据挖掘和大数据分析的就业前景非常好,学好大数据分析和数据挖掘可以在各个领域中发挥自己的价值;同时,大数据分析并不是一蹴而就的事情,而是需要你日积月累的数据处理经验,不是会被轻易替代的。一家公司的各项工作,基本上都都用数据体现出来,一位高级的数据分析师职位通常是数据职能架构中领航者,拥有较高的分析和思辨能力,对于业务的理解到位,并且深度知晓公司的管理和商业行为,他可以负责一个子产品或模块级别的项目,带领团队来全面解决问题,把控手下数据分析师的工作质量。

    想要了解更多有关数据挖掘算法的信息,可以了解一下CDA数据分析师的课程。课程教你学企业需要的敏捷算法建模能力,可以学到前沿且实用的技术,挖掘数据的魅力;教你用可落地、易操作的数据科学思维和技术模板构建出优秀模型,只教实用干货,以专精技术能力提升业务效果与效率。。

    二、用于数据挖掘的分类算法有哪些,各有何优劣

    朴素贝叶斯(Naive Bayes, NB)
      超级简单,就像做一些数数的工作。如果条件独立假设成立的话,NB将比鉴别模型(如Logistic回归)收敛的更快,所以你只需要少量的训练数据。即使条件独立假设不成立,NB在实际中仍然表现出惊人的好。如果你想做类似半监督学习,或者是既要模型简单又要性能好,NB值得尝试。

      Logistic回归(Logistic Regression, LR)
      LR有很多方法来对模型正则化。比起NB的条件独立性假设,LR不需要考虑样本是否是相关的。与决策树与支持向量机(SVM)不同,NB有很好的概率解释,且很容易利用新的训练数据来更新模型(使用在线梯度下降法)。如果你想要一些概率信息(如,为了更容易的调整分类阈值,得到分类的不确定性,得到置信区间),或者希望将来有更多数据时能方便的更新改进模型,LR是值得使用的。

      决策树(Decision Tree, DT)
      DT容易理解与解释(对某些人而言——不确定我是否也在他们其中)。DT是非参数的,所以你不需要担心野点(或离群点)和数据是否线性可分的问题(例如,DT可以轻松的处理这种情况:属于A类的样本的特征x取值往往非常小或者非常大,而属于B类的样本的特征x取值在中间范围)。DT的主要缺点是容易过拟合,这也正是随机森林(Random Forest, RF)(或者Boosted树)等集成学习算法被提出来的原因。此外,RF在很多分类问题中经常表现得最好(我个人相信一般比SVM稍好),且速度快可扩展,也不像SVM那样需要调整大量的参数,所以最近RF是一个非常流行的算法。

      支持向量机(Support Vector Machine, SVM)
      很高的分类正确率,对过拟合有很好的理论保证,选取合适的核函数,面对特征线性不可分的问题也可以表现得很好。SVM在维数通常很高的文本分类中非常的流行。由于较大的内存需求和繁琐的调参,我认为RF已经开始威胁其地位了。

      回到LR与DT的问题(我更倾向是LR与RF的问题),做个简单的总结:两种方法都很快且可扩展。在正确率方面,RF比LR更优。但是LR可以在线更新且提供有用的概率信息。鉴于你在Square(不确定推断科学家是什么,应该不是有趣的化身),可能从事欺诈检测:如果你想快速的调整阈值来改变假阳性率与假阴性率,分类结果中包含概率信息将很有帮助。无论你选择什么算法,如果你的各类样本数量是不均衡的(在欺诈检测中经常发生),你需要重新采样各类数据或者调整你的误差度量方法来使各类更均衡。

    三、数据挖掘常用算法有哪些?

    1、 朴素贝叶斯


    朴素贝叶斯(NB)属于生成式模型(即需要计算特征与类的联合概率分布),计算过程非常简单,只是做了一堆计数。NB有一个条件独立性假设,即在类已知的条件下,各个特征之间的分布是独立的。这样朴素贝叶斯分类器的收敛速度将快于判别模型,如逻辑回归,所以只需要较少的训练数据即可。即使NB条件独立假设不成立,NB分类器在实践中仍然表现的很出色。它的主要缺点是它不能学习特征间的相互作用,用mRMR中的R来讲,就是特征冗余。


    2、逻辑回归(logistic regression)


    逻辑回归是一个分类方法,属于判别式模型,有很多正则化模型的方法(L0,L1,L2),而且不必像在用朴素贝叶斯那样担心特征是否相关。与决策树与SVM相比,还会得到一个不错的概率解释,甚至可以轻松地利用新数据来更新模型(使用在线梯度下降算法online gradient descent)。如果需要一个概率架构(比如,简单地调节分类阈值,指明不确定性,或者是要获得置信区间),或者希望以后将更多的训练数据快速整合到模型中去,那么可以使用它。


    3、 线性回归


    线性回归是用于回归的,而不像Logistic回归是用于分类,其基本思想是用梯度下降法对最小二乘法形式的误差函数进行优化。


    4、最近邻算法——KNN


    KNN即最近邻算法,其主要过程为:计算训练样本和测试样本中每个样本点的距离(常见的距离度量有欧式距离,马氏距离等);对上面所有的距离值进行排序;选前k个最小距离的样本;根据这k个样本的标签进行投票,得到最后的分类类别;如何选择一个最佳的K值,这取决于数据。


    5、决策树


    决策树中很重要的一点就是选择一个属性进行分枝,因此要注意一下信息增益的计算公式,并深入理解它。


    6、SVM支持向量机


    高准确率,为避免过拟合提供了很好的理论保证,而且就算数据在原特征空间线性不可分,只要给个合适的核函数,它就能运行得很好。在动辄超高维的文本分类问题中特别受欢迎。可惜内存消耗大,难以解释,运行和调参也有些烦人,而随机森林却刚好避开了这些缺点,比较实用。

    关于数据挖掘总结的问题,通过《用于数据挖掘的分类算法有哪些,各有何优劣》、《数据挖掘常用算法有哪些?》等文章的解答希望已经帮助到您了!如您想了解更多关于数据挖掘总结的相关信息,请到本站进行查找!

    本文标签:数据挖掘总结(4)

    相关阅读

    • 数据挖掘干货总结(七)- LR回归算法

    • 158文章网范文示例
    • 今天小编给各位分享数据挖掘总结的知识,文中也会对其通过数据挖掘干货总结(七)- LR回归算法和常用的数据挖掘算法有哪几类?等多篇文章进行知识讲解,如果文章内容对您有帮助
    • 最为常用的数据挖掘方法论

    • 158文章网范文示例
    • 今天小编给各位分享数据挖掘总结的知识,文中也会对其通过最为常用的数据挖掘方法论和数据挖掘的方法有哪些?等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站
    • 终于有人把数据挖掘讲明白了

    • 158文章网范文示例
    • 今天小编给各位分享数据挖掘总结的知识,文中也会对其通过终于有人把数据挖掘讲明白了和什么是数据挖掘?等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,
    • 如何做好数据挖掘工作?

    • 158文章网范文示例
    • 今天小编给各位分享数据挖掘总结的知识,文中也会对其通过如何做好数据挖掘工作?和什么是数据挖掘?数据挖掘怎么做啊?等多篇文章进行知识讲解,如果文章内容对您有帮助,别
    关键词不能为空

    范文示例_作文写作_作文欣赏_故事分享_158文章网