机器学习中的统计学方法

从机器学习的核心视角来看,优化(optimization)和统计(statistics)是其最最重要的两项支撑技术。统计的方法可以用来机器学习,比如:聚类、贝叶斯等等,当然机器学习还有很多其他的方法,如神经网络(更小范围)、SVM。

机器学习约等于统计+优化,它可以看作是一个方法,用来进行模式识别或数据挖掘。但对于统计和运筹学这俩门基础学科来说,又是应用(见下面四类问题),它大量地用到了统计的模型如马尔可夫随机场(Markov Random Field--MRF),最后转化成一个能量最小化的优化问题。机器学习里面最重要的四类问题(应用):预测(Prediction)--可以用回归(Regression),聚类(Clustering)--如K-means方法,分类(Classification)--如支持向量机法(SVM),降维(Dimensional reduction)--如主成份分析法(Principal component analysis (PCA))。【知乎,@留德华叫兽】

原始观察仅仅是数据, 但它们不是信息或知识。数据引发问题, 例如:

  • 什么是最常见的或预期的观察?
  • 观察的限制是什么?
  • 数据是什么样子的?
  • 哪些变量最相关?
  • 两个实验的区别是什么?
  • 这些差异是真实的还是数据中噪音的结果?

众数(mode)、平均数(Mean)和中位数(Median)

众数、平均数和中位数在某些情况下测量的都是数据的中心。

下面两个公式分别计算的是sample和population的平均数:

要想找出数据的中位数,我们首先要给数据排序。假设我们有n个已经排好序的数,它们是x1,x2,x3,…,xn。下面是找出它们中位数的公式:

Q1、Q3、IQR、方差和标准差

参见Boxplot。请看下图:

上图中已经很明白地说明Q1、Q3和IQR各自的含义了。从上图我们也看到了小于Q1−1.5∗IQR或大于Q3+1.5∗IQR是可能存在的异常值。在一些情况下,统计学家用这样的方法去掉异常值。

下面,介绍一个找Q1、Q3的方法。

找到Q2,也就是数据集的Median,因此把数据集分成两部分

  • 找上半部分的Median,即Q3
  • 找下半部分的Median,即Q1

方差和标准差度量的是数据的分散程度。计算方差和标准差的公式如下:

但是绝对值不是更简单明了吗,它也可以度量数据的分散程度啊?为什么我们要费这么大功夫去平方然后在开根号求标准差?这是因为在统计分析中,标准差有一些很Cool的性质。

从上图我们可以看出,在正态分布中,有大约68%的数据落在距离平均值1个标准差的范围内,有大约95%的数据落在距离平均值2个标准差的范围内,等等。实际上,我们可以求出任意百分比的数据落在什么样的标准差范围内。因此,求出标准差至关重要。

如果我们的数据集是整个population,那么求标准差的公式和上面的一样。但是如果我们的数据集仅仅是从population中抽取的sample,我们的公式如下:

把它叫做Sample standard deviation. 直观上来讲,population中数据大多数都分布在中心,因此我们的Sample中的数据基本上都来自于中心,这样所计算出的标准差要比真实的标准差要小,因为它的数据分散程度要小。因此我们要用N-1来求解(叫做Bessel’s Correction),这样会使我们求出的标准差更加接近真实的标准差。Sample standard deviation也就是population标准差σ的估算。

Z-Score和正态分布

z-score表示一个元素与mean之间相差几个标准差。它的计算公式如下:

  • X:元素的值
  • μ:平均值
  • σ:标准差

当我们standardization正态分布时(即z-score过程),我们将得到一个标准的正态分布,即平均值为0,标准差为1的正态分布。

在上图中的正态分布中,X轴上随机选择一个小于x的概率等于负无穷到x与曲线形成的面积。

可以用微积分的知识求出任意两点与曲线之间形成的面积。我们也可以用Z-Table来求出小于某个x值的面积。但是,在用Z-Table之前,我们必须要把正态分布standardization,也就是求出对应x值的z-score。

中心极限定理(Central limit theorem)

假设一个sample包含很多的observations,每个observation是随机生成的并且它们之间是相互独立的,计算这个sample的平均值。重复计算这样sample的平均值,中心极限定理告诉我们这些平均值服从正态分布。

在概率理论中,中心极限定理的定义为:在特定的条件下,不管潜在的population分布是什么样的,大量重复地计算独立随机变量的算术平均值,这些平均值将服从正态分布。

抽样分布(Sampling Distribution)

维基百科上给出抽样分布的定义为:In statistics, a sampling distribution or finite-sample distribution is the probability distribution of a given statistic based on a random sample.

举个例子,假设我们有一个mean为μ,方差为σ2的正态分布。我们重复地从这个population中取出samples,然后分别计算每个sample的平均值,这个统计值叫做sample mean.

每个sample都有一个平均值,这些平均值的分布叫做sampling distribution of the sample mean.

由于population的分布是正态分布,这个分布也是正态分布,它服从N(μ, σ2/n),这里n为sample size. 根据中心极限定理,即使population分布不是正态的,sampling distribution也通常接近于正态分布。

例子

以下是应用机器学习项目中使用统计方法的10个例子。

  • 问题框架: 需要使用探索性数据分析和数据挖掘。
  • 数据理解: 需要使用摘要统计信息和数据可视化。
  • 数据清洗。需要使用异常检测、归一化等。
  • 数据选择。需要使用数据取样和特征选择方法。
  • 数据准备。需要使用数据转换、缩放、编码等等。
  • 模型计算。需要实验设计和重新取样方法。
  • 模型配置。需要使用统计假设测试和估计统计。
  • 模型选择。需要使用统计假设测试和估计统计。
  • 模型表示。需要使用估计统计信息, 如置信区间。
  • 模型预测。需要使用估计统计信息, 如预测间隔。

Statistical Methods for Machine Learning的更多相关文章

  1. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

  2. Kernel Functions for Machine Learning Applications

    In recent years, Kernel methods have received major attention, particularly due to the increased pop ...

  3. Advice for applying Machine Learning

    https://jmetzen.github.io/2015-01-29/ml_advice.html Advice for applying Machine Learning This post i ...

  4. 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

  5. 机器学习(Machine Learning)&深度学习(Deep Learning)资料汇总 (上)

    转载:http://dataunion.org/8463.html?utm_source=tuicool&utm_medium=referral <Brief History of Ma ...

  6. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(下)

    转载:http://www.jianshu.com/p/b73b6953e849 该资源的github地址:Qix <Statistical foundations of machine lea ...

  7. Portal:Machine learning机器学习:门户

    Machine learning Machine learning is a scientific discipline that explores the construction and stud ...

  8. 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

  9. Regularization method for machine learning

    Regularization method(正则化方法) Outline Overview of Regularization L0 regularization L1 regularization ...

随机推荐

  1. poj1458公共子序列 C语言

    /*Common SubsequenceTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 56416 Accepted: 23516D ...

  2. 洛谷P3984-数据结构 题解

    题面 这题精,真的精 前言:不要被题目背景和描述误导! Solution: 题目大意 给定一段序列,请你做到区间修改和区间询问. 区间询问即 在 \(L\) 到 \(R\) 区间内,乘上下标后取模的值 ...

  3. Python爬虫之旅(一):小白也能懂的爬虫入门

    Python爬虫之旅(一):小白也能懂的爬虫入门   爬虫是什么 爬虫就是按照一定的规则,去抓取网页中的信息.爬虫流程大致分为以下几步: 向目标网页发送请求 获取请求的响应内容 按照一定的规则解析返回 ...

  4. cas sso 单点登录

    一些介绍: https://www.jianshu.com/p/b7de8e4cf217 https://blog.csdn.net/javaloveiphone/article/details/52 ...

  5. MVC通过ViewBag动态生成Html输出到View

    今天再给自己总结一下,关于ViewBag赋值Html格式值,但是在web页显示不正常; 例如,ViewBag.Content = "<p>你好,我现在测试一个东西.</p& ...

  6. go install -v github.com/gopherjs/gopherjs报错提示go cannot find package "golang.org/x/crypto/ssh/terminal" 解决方案

    1前言 方法一:go get 方法二: github clone 2 方法方法一:go get go get golang.org/x/crypto/ssh/terminal 但是这种方法容易被墙,出 ...

  7. js跳出循环的方法区别(break,continue,return)(转载)

    转自:http://blog.csdn.net/fxss5201/article/details/52980138 js编程语法之break语句: break语句会使运行的程序立刻退出包含在最内层的循 ...

  8. appium 操作界面

    操作界面函数: 1.swipe():模拟滑动 2.tap():点击坐标 1.swipe()函数:用来模拟滑动操作 参数说明: 坐标就是x/y坐标 duration是滑动从起点到终点坐标所耗费的时间. ...

  9. cookie登录及其保存

    requests中request携带cookie请求1 将一个Session实例的cookies属性设置赋值成 一个 CookieJar 实例 import http.cookiejar s = re ...

  10. Linux 应用程序的安装和管理

    在Linux中,有三种安装软件的方式,分别是RPM包安装.YUM源安装.源代码编译安装. 常见应用程序目录结构 类型 路径 普通用户可执行文件 /usr/bin 管理员可执行文件 /usr/sbin ...