Category: AI从零开始

AI从零开始之线性回归系数评估

从本节开始,我们来关注有监督学习中的最简单的方法,线性回归。虽然它很简单,但从实际情况来看,对于定量的情况分析中,它是非常有用的。虽然现在有很多更好更新的方法可以用来进行预测,但是线性回归仍然可以说是他们的基础。因此,线性回归的重要性也就不言而喻了。 顾名思义,线性回归就是说变量X和预测值Y之间是简单的近似线性的关系,我们可以用下面的公式表示: 这里的a和b是两个我们不知道的常量,我们称之为截距(intercept)和斜率(slope)。a和b就是我们所说的模型系数或者称之为参数。当我们用我们的training data来预测了 和 之后,我们就可以用他们来进行预测x对应的值: 现在假设我们现在有n个观察数据,我们记为(,), (,),…,(,),那么我们的目标就很简单了,我们需要得到一组和,使得,其中i=1,….,n,也就是说我们要找到和使得所有的这些观察数据和最终的结果的那条线足够接近。那么怎么评估这个远近呢,一个比较流行的方法就是最小二乘准则(least squares criterion)。 那什么是最小二乘准则呢,我们现在假设对第i个观察点的预测值 ,那么就表示第i个观察点的残差,他其实就是第i个观察点的真实的值和预测值之间的差别。我们可以用下面公式来定义残差平方和(residual sum of squares RSS): 我们把上面的公式带入就可以写成这样: 那么当RSS最小的时候, 和的值是多少呢,我们见下图的推导: 图一 RSS最小的推导 所以我们可以得到当RSS最小时: 至此,我们就把线性回归下满足RSS最小的时候的 和的值。 转载请注明出处: AI从零开始之线性回归系数评估 更多精彩内容,请关注公众号:随手记生活

Read More »

AI从零开始之数学基础(一)

在我们进一步进行深入介绍之前,我们来把一些常见的数学概念和大家回忆一下,这样在后面的文章中,可以更加容易进行理解。 均值(mean) 均值就是我们常说的平均数,也被称之为算术平均数,它的计算方法就是把所有的数加起来,然后除以数的个数。它是计算平均数的一种方法(这里的平均数是一个更广泛的概念,和均值的平均数不是一个概念,这也是为什么我们严格意义上应该把均值称之为算法平均数的原因)。这个概念,我相信大家应该都还是比较理解的,就不多费笔墨在这里,而是直接举个例子说明一下: 例:假设我们有数据集1, 6,1,2,3, 8,4,5,5,7共十个数字,那么 均值=(1+6+1+2+3+8+4+5+5+7)/8=42/8=5.25 中位数(median) 中位数又称中值,顾名思义就是处于中间位置的数,但是这个中间位置是有一定要求的,它本质是希望这个中位数能够把数据集分成两个部分,一个部分是都比中位数大,另一个部分则是都比中位数小,所以这个中间位置其实是需要先把数据集进行排序的。也就是说它其实是排序之后处于中间位置的数。 例:假设我们有数据集1, 6,1,2,3, 8,4,5,5,7共十个数字,那么在求中位数之前我们需要先进行一下排序,排序后的结果是1,1,2,3,4,5,5,6,7,8,这样就是十个数字,10是一个偶数,中间其实是两个数字,也就是第五和第六,在例子中他们分别是4和5,这个时候的中位数就需要取他们的平均值: 中位数=(4+5)/2=4.5 假如我们的数据集是奇数个,那么就直接取中间位置的数即可。 众数(mode) 众数,就是说哪些数喜欢聚众闹事,我们就把它找出来。准确地讲就是在数据集中出现最频繁也就是次数最多的数,我们称之为众数。众数可以有多个,即假如有多个数出现的次数是一样的,同时又是最多的,那么我们就认为众数是这几个数。一个特殊情况,即所有的数出现次数都是相同的,那么没有众数。 例:假设我们有数据集1, 6,1,2,3, 8,4,5,5,7共十个数字,我们可以看到在这个数据集中1和5都是出现了两次,而其他数则只出现了一次,因此我们就说这个数据集的众数是1和5. 极差(Range) 极差又称之为范围误差或全距,它其实就是用来表示一组数据的范围的,说白了就是最大值和最小值之间的差距,因此他的计算方法也就比较简单,直接用最大值减去最小值即可。一般来说,极差越大表示整个数据集分得越开,越离散。 例:假设我们有数据集1, 6,1,2,3, 8,4,5,5,7共十个数字,我们可以看到这个数据集中最大值是8,最小值1,所以 极差= 8-1=7 中程数(mid-range) 中程数是一组数据中最大值和最小值的平均数,它用来反映数据集中趋势的一项指标。其实用脑袋想想,这样的算法并不是很合理,毕竟他忽略了整个数据集中其他的很多数据。因此他在实际情况中用得并不是很多。 例:假设我们有数据集1, 6,1,2,3, 8,4,5,5,7共十个数字,我们可以看到这个数据集中最大值是8,最小值1,所以 中程数=(1+8)/2=4.5 方差(Variance) 方差在统计学和概率论中有不同的定义,本文重点关注统计学方面的定义。 在统计学中,方差有总体方差和样本方差两种说法,在进一步介绍之前,我们先来看两个基本概念:样本和总体。 不难理解,总体就是全部所有,而样本则是我们观察或者调查的部分。之所以有这样的两个概念出现,主要原因是在很多情况下我们很难获得总体的信息,可能是总体太大了或者变化太快了,我们没法或者很难调查清楚。比如说我们想调查全球人口的年龄平均值,因为全球人口时刻都在变化,一秒钟有人生有人死,要想拿到全面真实的数据是很难的。所以我们可能会随机抽样一些人口来计算,那么这些抽样就是样本了。 总体方差就是每一个观察值与总体均值之间的差异,它是用来衡量随机变量的离散程度的度量。公式如下:   其中就是总体方差,X就是变量,是总体均值,N为总体的个数。 事实上,我们很难拿到总体的情况,可能总体的个数都拿不到,所以就用了样本方差的概念,它的计算公式如下: 其中就是样本方差,X是变量,是样本均值,n为样本的个数。 我想精明如你的人肯定会有一个疑问,为什么这里是n-1而不是n呢,简单地说n-1会更加准确,但我们为什么选择的是n-1而不是n-2之类的,我们会在后面专门写一篇文章来推导一下,这里不再展开。 标准差(Standard Deviation) 标准差我们也称之为均方差,他其实很简单就是方差的算术平方根,用表示。他主要用来反映一个数据集的离散程度。这个时候我想你不禁会问我们有了方差为什么还要这个标准差啊,其实随便想想我们应该也能了解,比如说我们想统计学生的身高,以厘米为单位,那么方差计算出来的单位是什么呢,因为要平方,所以应该是平方厘米吧,是不是感觉有点乖乖的,平方厘米是计算身高还是计算面积呢?这大概也许可能就是我们需要标准差的原因吧,哈哈。它的计算公式如下: 期望 期望是实验中每次可能结果的概率乘以其结果的总和,它反映了随机变量平均取值的大小。根据大数定律,数值的平均值基本收敛于期望。 有两种情况,一种是离散情况,我们知道每一个可能取值对应的概率为p(),那么他的期望E(x)可以用下面的公式来表示: 例:学校有1000个学生,其中有一部手机的人有900人,两部手机的人有80个,三部手机的人有10人,则此学校中任意一个学生的手机量是一个随机变量,我们记为X,他的可能取值有0,1,2,3。其中取0的概率是0.01,取1的概率是0.9,取2的概率是0.08,取3的概率是0.01。所以期望E(X)=0*0.01+1*0.9+2*0.08+3*0.01=1.09。 另外一种是连续情况,这种情况下我们假设X的概率密度函数是f(X),且积分绝对收敛,那么他的期望值E(X)可以用下面的公式来表示: 至此,本文介绍了八个基本的数学概念:均值、中位数、众数、极差、中程数、方差、标准差、期望。希望能够对您有所帮助。 转载请注明出处: http://www.softlifelogging.com/2018/06/05/ai从零开始之数学基础(一)/ ‎ 更多精彩内容请关注公众: 随手记生活

Read More »

AI从零开始之分类器介绍

我们在之前的文章中讨论的都是一些回归的问题,本章我们来继续讨论一下分类相关的内容。 现在假设我们基于观察到的数据集{(, ), … , (, )} 来进行评估f,当然这里的 ,…, 现在是一些定性的值。那么最常见的用来计算我们 的准确度的就是训练数据的误差率 (training error rate) ,他的公式如下: 其中就是对于第i个观察数据应用 之后得到的类标签,I其实是一个指标变量(indicator variable), 当时, 就是1,当 时,它就是0。这样一看,我们就可以发现其实上面的公式就是计算的我们分类不正确的情况。 和回归的情况类似,上面的公式仍然只是计算的training data的误差率,而这并不是我们关注的,我们真正关注的其实是测试数据的误差率,所以假设我们有测试数据集( ,),那我们真正关注的就是: 其中就是 的预测分类标签。很显然,我们总是希望我们的测试误差是最小的。 贝叶斯分类器(Bayes Classifier) 我们简单想想,就可以发现,若是想让我们的测试误差最小,我们只要把我们的测试值分到他最有可能的那个分类中就好了,用条件概率来讲就是我们只要把 的预测值分类到j,使得 Pr (Y = j | X = )的值最大就好了。而这就是贝叶斯分类器。 现在假设我们的数据就只有两类结果:分类1(y=1)和分类2,那么根据贝叶斯分类的理论,假如Pr (Y = 1| X = ) > 0.5那么他其实就是分类1,剩下的就是分类2了。 下面我们来看一个简单的例子,如下图一所示:   图一 简单的二值分类图 我们的training数据有两种分类结果,在图中用橙色圈圈和蓝色圈圈来表示。现在我们假设我们已经知道了整个平面所有点的分类情况,背景是橙色点的表示它是橙色圈圈的概率大于50%,背景是蓝色点的表示它是蓝色圈圈的概率大于50%。紫色的这条虚线就是橙色圈圈和蓝色圈圈概率都正好是50%的线。这条线我们就称之为贝叶斯的决策边界。贝叶斯分类器的预测就是根据这个决策边界来的,在橙色这边的点,我们就会预测为橙色圈圈,在另外一边的我们就会预测为蓝色圈圈。 从图中我们可以看到,这样的预测大多数情况还是比较正确的,但是不可避免肯定是有误差的,我们可以看到图中蓝色点中的橙色圈圈,以及橙色点上的蓝色圈圈就都是一些误差的点,那么贝叶斯分类器的测试误差率是怎样的呢? 因为我们上面提到过其实贝叶斯找到的概率最大的值,那么对于测试点X= 来说,它的误差率就是,所以总的贝叶斯误差率可以用下面这个公式来表示: K最近邻(KNN)分类 我们在上面介绍了贝叶斯分类,理论上我们当然希望用他来进行分类,但实际上我们很难知道一个点分类的真实条件概率,所以就出现了很多方法来预估这个条件概率,这里面比较基础的一个方法就是KNN,这也是我们这一节要讲解的内容。 KNN首先找我们测试点 附近的K个点(K是正整数),我们把这个K个点的集合称之为 ,然后我们就可以用下面公式来估计条件概率了:   这样我们就可以根据K的值来计算出相应的条件概率了。 下面我们来看一个具体的例子,如下图二所示: 图二 KNN 例子 从图上可以看到,我们已经知道了一些training data,这里是12个点,其中橙色圈圈6个点,蓝色圈圈也是6个点,我们现在来预测黑色叉叉的情况。我们选择K=3,那么也就是看黑色叉叉周围三个点的情况,如图中绿色圆圈所示,我们可以看到,这个圆圈中有两个蓝色的圈圈,一个橙色的圈圈。所以,我们预估黑色叉叉是蓝色圈圈的概率就是2/3,是橙色圈圈的概率就是1/3。 我们对图中所有的点都用K=3来进行分类,就可以得到下图三所示的情况: 图三 KNN得到的决策边界 图三中黑色的线我们就称之为KNN决策边界。 KNN听起来很简单,但是如果我们使用一个合理的K,有时会得到一个和贝叶斯分类惊人类似的结果,我们使用K=10来决策图一中的数据,可以得到KNN的决策边界如图四所示: 图四 K=10的KNN决策边界和贝叶斯对比图…

Read More »

AI从零开始之预测效果评估

我们知道统计学有各种各样的方法可以用来处理数据,那么对一个数据集,各种统计学方法预测的精确度如何来评估呢?这就是本文重点讨论的内容。 一般来说,对回归(regression)问题,最常见的测量方法就是均方差(mean square error, MSE),它可以用下面的公式来表示: 这个公式中, 就是第i个观察数据的预测值,这样来看,当我们的预测值越接近真实的y,那么MSE就越小,反之则越大。当然,我们知道上述公式其实是利用training数据来进行计算的,所以,我们更准确地应该称之为training MSE。 这个时候,让我们静心想一想,其实我们并不关注这个model对我们training 数据表现的有多好,我们更关注地的应该是他对我们真实想预测的数据的表现。因此,一般来说,我们会通过一系列测试的数据集来验证我们的model最终的效果,也就是测试数据的MSE,而不是training data来进行验证。那假如我们没有测试数据集怎么办呢,我们简单地使用training MSE是否可行呢? 我们来看一个例子,如下图一所示: 图一 X和Y分布图 假如我们已经知道了真实的f是如图一种的黑色线所示,然后我们通过不同的统计学方法来预估f,这些方法的flexibility不同,其中橙色的线是我们通过线性回归,蓝色和绿色的线是通过光顺样条(smoothing splines)来预估的,当然蓝色和绿色的线的smooth level不同,我们可以看到绿色的线其实flexibility其实更大,当然他和我们的观察点的符合度也更好。但是,相比蓝色的线,他和真实的f之间的误差其实是更大的。 我们来看下面的图二: 图二 flexibility和均方差之间的关系图 这个图中的灰色的线其实是针对training 数据的MSE的情况,我们可以看到随着flexibility的提高,针对training data的MSE是会逐步减少的,慢慢的可以逐步达到一个很小的值。而红色的线是表示真正的测试数据的MSE的情况,因为我们例子中真实的f是一个非线性的情况,所以在flexibility比较小也就是线性回归的情况下,MSE是比较大的,随着flexibility的增大,这个MSE会逐步减小,到了一个最小点之后,flexibility增大反而会使得MSE变得更大。图中水平的虚线其实就是我们之前提到过的不可避免的误差(irreducible error),这一误差在任何方法中都会存在的。 一般来说,当training MSE非常小,但是测试MSE非常大的时候,我们称之为overfitting,一般来说这就是我们太想去train一个model来适配training data,甚至过度去满足那些random的数据特性了。 上面的例子我们看到的是一个f是非线性的情况,现在我们来看另外一个例子,这个例子中真实的f是一个接近线性的情况: 图三 真实f是接近线性的情况 图三中仍然黑色的线是我们的真实的f的情况,橙色是我们的线性回归的情况,绿色和蓝色仍然是不同的smoothness的光顺样条来预估。我们可以如下图四所示,我们的training MSE并没有什么变化,但是test的MSE因为本身真实的f就比较接近线性,因此在开始的线性回归中他的test MSE其实误差并不大,这样只是有一个很小的下降就可以到最低点了,而随着flexibility的增加,可以看到后面的test MSE的情况也会变得越来越不好。 图四 接近线性的f的情况下的flexibility和MSE的关系 另外一种极端的情况如下图五所示,真实的f是非常非线性的,这种情况下请示线性回归的开始他的test MSE就会特别大,而随着flexibility的增加后面的test的MSE的也只是小幅度的增加。 图五 特别非线性的f 其实从我们上面的几种情况来看,我们最理想的状况就是找到那个测试MSE最低点,而事实上,大多数情况我们都没有测试数据,如何来找到测试MSE最低点呢,一个很重要的方法就是交叉验证(cross-validation),这个我们会在后面的章节中详细介绍。 至此,本文所想和大家探讨的关于预测质量的内容就全部结束了,希望对大家有用。 转载请注明出处:http://www.softlifelogging.com/2018/06/05/ai从零开始之预测效果评估/ 更多精彩内容,敬请关注公众号: 随手记生活

Read More »

AI从零开始之如何预估f

我们在AI从零开始之统计学简介知道,统计学其实就是为了那个f而奋斗,也在AI从零开始之我们为什么为了那个虚无缥缈的f而奋斗中知道了我们为什么要评估这个f,那么本文就继续来讨论一下我们怎样来评估f。 一般来说,在评估f之前,我们总是已经有了一系列的可观察的数据,我们把这些数据称之为训练数据(Training data),就像下图一所示的学历和收入关系图中的红点,就是我们的训练数据。我们利用统计学的方法来训练这些数据并最终评估出f。总得来说统计学的方法有两种,一种是参数化(parametric)的一种是非参数化(non-parametric)的。 图一 学历和收入关系图 参数化的方法 参数化的方法一般分为两步: 就是假设一个函数格式,比如我们假设f就是一个简单的线性model: 当我们有了这样的假设之后,问题就变得很简单了,我们要做的事情就是来评估这些 , ,… 了。 在1中的model选择好了之后,下面我们就需要根据training data来train这个model了。同样以上面的线性model为例,我们需要找到相应的, ,… 来满足下面的条件: 所以,在参数化的方法中,我们把评估f简化成了评估一系列参数, ,… ,这无疑使得我们的工作变得简单了很多。然而我们同时也可以发现,这样的方法其实也是有缺点的,因为我们选择的model其实并不能真实表达正确f,我们当然可以选择更flexible的model来进行预估,不过越flexible的model意味着我们需要预估的参数就越多,这样他最初的简化这一好处就变得越小,同样的,越flexible也容易引入另外一个问题,就是overfitting,很容易受到一些错误或者噪音的干扰,这个问题我们在以后再详细描述。所以如何选择一个合理的model也是一个trade off的过程。 我们举个例子来看一下,假设我们收入和学历以及经历的真实关系如图二中的蓝色部分所示 :   图二 真实的f示意图 我们利用参数化的方法来预估这个f,假设我们还是选择了最简单的线性model: 那么我们就只要预估, ,即可,我们可以使用最小二乘法线性回归(least squares linear regression)来得到这些参数,如图三所示:   图三 最小二乘法线性回归的f 从图三可以看出,其实这个预估是不准确的,真实的f是有各种波动,而我们这里就没有了。 非参数化的方法 非参数化的方法没有显式地假设f的形式,他是尽可能地直接寻找一个和f相近的点。这样一来他就摆脱了参数化方法的那种固有的死板限制,从而更可能和真实的f相接近。当然我们知道有利必然有弊,这样的方法就需要大量的training data才有可能达到一个比较好的效果。 同样对上面的例子,我们可以使用薄板样条插值(thin-plate spline)来进行预估,得到的结果(smooth)如图四所示:   图四 薄板样条插值得到的f 我们可以看到这个图的结果和我们理想的f就比较接近,在使用薄板样条插值的时候,我们需要选择一个smoothness的值,不同的值会有不同的结果,假如我们选择的smoothness的值比较小,那么我们可能会得到如图五所示的结果: 图五 低smooth的薄板样条插值的f 图五中的结果可以完美的覆盖所有的training data,但是他的结果其实是不理想的。这就是我们之前提到过的overfitting。当然这些具体的内容我们可以在后期再详细讨论。 至此,本文就介绍了两种方法来预估f,一种是参数化的,一种是非参数化的。 转载请注明出处: http://www.softlifelogging.com/2018/06/05/ai从零开始之如何预估f/ 更多精彩内容,敬请关注公众号: 随手记生活

Read More »

AI从零开始之有监督学习和无监督学习

统计学学习可以分为两类,一类是有监督学习(supervised learning),另一类则是无监督学习(unsupervised learning)。那么这两个概念究竟该如何理解,本文就尝试从自己学习的角度来和大家分享一下,这中间有不对的地方,希望大家批评指出。 所谓有监督学习就是我们手上的数据是有一个明确的结果(或者label),然后我们可以根据这些数据来创建一个model,通过新的输入数据在这个model上预测或者评估出一个结果。 举个简单的例子来看,假设现在你是一个土豪,手上有很多房子,准备把其中一套房卖了开个小饭店。那么究竟这套房该卖多少钱呢,你可能会看看这套房所在小区及周边已经卖掉的房子卖了多少钱。我们简化一下,假设你周边的房子就和面积相关。然后你发现张三家的50平卖了300万。李四家的70平卖了500万,王二麻子加的100平卖了1000万……,有了这些数据之后,你通过这些数据来进行了一次学习,然后得到了一个model,把自己家房子的面积,比如120平输入到了这个model里面,希望得到一个预估的价格。这个过程就是一个有监督的学习,因为你手上的数据其实是很明确知道之前多少平的房子卖了具体多少钱的。 而无监督学习则是说我们手上的数据其实并没有一个明确的结果,然后我们来分析这些数据的共性或者关系,最后尝试做出一些分类。 同样上面的例子,你的房子已经卖了,现在这个小饭店也开起来了,在雇了几个漂亮的服务员之后你就开始营业了。过了一段时间,你准备看看你卖的菜的情况。然而此时你的数据并没有告诉你哪个菜是什么情况,你没有一个参考的结果,这时你把这些菜的销量拿出来看看,然后你会发现有一系列的菜他们的销量都不错,然后你就把他们归结到了一类。以后要是哪一天有了一个新菜的销量也在这个圈里面,你就同样可以把这个新的菜归到这一类之中了。 除了有监督和无监督,其实还有一个中间状态,我们称之为半监督学习。这个半监督的概念我理解就是你手上有一些数据是可以很明确的知道结果的,但另外一些数据则是没有明确结果的,当我们用这种数据来进行分析的时候,我们就称之为半监督学习。 举个例子,小时候我们学习各种动物,在课堂上老师教了我们这个是鸡,这个是鸭,然后还给我们看了一系列动物照片,但是没有告诉我们这些动物是什么名字。当我们在回家后看到了一只鸡的时候,我们就可以通过老师告诉我们的答案推测出这个新看到的动物就是鸡。但是假如我们遇到了一个新的动物既不是鸡也不是鸭,但我们可以从老师给我们看的一些动物照片中知道,这个新看到的动物其实和那些照片中的某些是一类的,但我们不知道他究竟是什么。这个过程就是一个半监督学习的过程了。 转载请注明出处: http://www.softlifelogging.com/2018/06/05/ai从零开始之有监督学习和无监督学习/ ‎ 更多精彩内容敬请关注公众号: 随手记生活

Read More »

AI从零开始之我们为什么为了那个虚无缥缈的f而奋斗

在前文我们介绍统计学简介的时候说,我们是为了那个虚无缥缈的f而奋斗的,我们知道做任何事情其实都是有一定目的的,比如说我们工作是为了赚钱,赚钱是为了买房,买房是为了娶老婆,娶老婆是为了生孩子,生孩子是为了传宗接代(开个玩笑)。那么我们来评估f是为了什么呢?其实,说白了业界认为其实就主要有两个目的:“预测”( prediction)和“推论”(inference) 预测 很多情况,像我们之前提到的房价预测。它就是通过一系列我们已经看到的X和Y的结果,来进行预测心得输入的结果。我们之前提到Y = f(X) + Ɛ, 而因为Ɛ的平均值是0,所以我们可以用下面公式来进行预测: 其中就是f的预测,而 则是我们想要的结果Y的预测值。一般来说,这种情况,我们不care 究竟是什么,我们要的是结果,所以 对我们来说就是一个黑盒。 我们通常认为的准确性由两部分来决定,一部分就是 的准确性,这部分我们称之为可减少(reducible)。他是由于这个的不准确性导致的,我们理论上可以通过技术的改进,不断地缩小这个误差,使得,从而  。那么这种情况下的 就是准确的吗,其实并不然,我们在之前的文章中提到,其实真实的Y值还和Ɛ相关,而Ɛ则是和X无关的一个误差,这个误差是没有办法规避的,我们称之为irreducible。 到了这个时候,我想你可能就要问了,这个Ɛ究竟是怎么来的啊,为什么我们不能避免啊,其实一般意义上来说,Ɛ可能是由一些我们没有测量的值引入的。比如说我们预测房价,我们有了和房价相关的各种因素,比如面积,学区,交通等等,但是我们没有去收集装修信息,那么这个装修信息就成了我们这个Ɛ的一个来源;除了这个,还有一种是没法收集的信息引入的误差,比如房子墙角的蜘蛛网,让来看房的人感觉不舒服,或者买房人的讨价还价的能力,这些都可能引起最终房价的波动。而这些就是一些我们没法通过技术来规避的误差。 推论 这种情况下的case,一般来说我们会关系Y和各个X之间的关系,而不是去预测一个新的输入会有什么样的输出。比如说我们提到到的工资和学历以及经验之间的例子,假如我们更关心的是不同的工资究竟受学历的影响情况如何,而不是说来预测一个新的学历的人能拿到多少工资。 在这种情况下, 就不能是一个黑盒了,我们需要通过 来分析各种X对 的影响程度。 一般来说,推论可以回答这些问题: 哪些用来预测的X是和Y相关联的,这个在有大量X而真正重要的X比较少的情况下尤其有效。 Y和各个X之间的关系。就是说我们修改每一个X对Y的最终是一个正向的影响还是一个负向的影响。这样我们就可以决定如何修改这些X了。 Y和各个X之间的关系可以用简单的线性关系来描述还是必须要用一个复杂的公式来描述。   这就是本文想要解释的我们为f而奋斗两个重要目的,预测和推论。 转载请注明出处: http://www.softlifelogging.com/2018/06/05/ai从零开始之我们为什么为了那个虚无缥缈的f而奋/ 更多精彩内容敬请关注公众号: 随手记生活

Read More »

AI从零开始之统计学简介

今天我们来看一下统计学主要是干些什么,在大家深入了解之前能够有一个感性的认识。 要想感性(呃,不是性感),那最好的方法肯定是举个例子来说明了。我们经常说上学无用论,所谓有用无用,粗俗点理解就是能不能赚钱,现在我们假设知道了一些学历(或者说学习年数)和收入的数据,他们如果画图的话就会显示成下面的图一所示: 图一收入和学历之间的关系图 现在我们假设收入就只和学历之间有关系,我们把收入写成Y,学历这里置为X,那么我们认为Y和X之间其实是有一个关系的,用公式表示如下: Y = f(X) + Ɛ 这里的f就是我们认为的一个固定的但是我们不知道是什么的关于X的函数,Ɛ是一个误差项,这个误差项和X是没有关系的,并且误差的平均值应该是0。 回到我们的例子上来,我们来看图二,中间的蓝色的线就是我们假设存在的f,每个点的垂直的线就是用来表示Ɛ的,我们可以看到Ɛ有时是正的,有时是负的,所以总的来说,它的平均值接近为0。 图二收入和学历之间的的f和Ɛ 通常来说,其实收入可能和多个输入有关,不仅仅是学历,比如和经验也有关系,如图三所示,我们可以看到一个收入和学历,经验之间的关系图。 图三收入和学历,经验之间的关系图 从这个来看,我们可以发现其实X并不是一个元素,而应该是一系列的输入:X = (X1,X2,…Xp),这里的每一个X就表示一个输入,比如X1是学历,X2是经历等等。 那统计学究竟是干什么的呢?统计学其实就是一系列方法,这些方法是用来估计f的。所以,通俗地讲,我们都是为了这个虚无缥缈的f来进行奋斗的,哈哈。 转载请注明出处: http://www.softlifelogging.com/2018/06/05/ai从零开始之统计学简介/ ‎ 更多精彩内容,敬请关注公众号:随手记生活

Read More »