1700509840
1700509842
数据科学家养成手册 15.2 量化是关键
1700509843
1700509844
一个“模型”之所以成为“模型”,是因为其本身拥有描述数据之间关系的能力,关键就在于量化精确。
1700509845
1700509846
还记得我们在本书最开始提到的关于天文历法的问题吗?“太阳东升西落”、“四季夏热冬冷”这种程度的描述虽然有助于消除不确定性,而且有一定的正确性,但量化很不到位,所以不仅不能称为科学,就连价值几何也需要画个问号。
1700509847
1700509848
为什么量化如此关键?量化不精确一定会出现严重的问题吗?我想应该这样考虑。
1700509849
1700509850
首先,抛开科学与否的问题不谈,量化是唯一能够用来量化精确程度的前提。本书一直坚持一个观点,那就是观测值才是一种客观认知下的“正确”值,一切假说和推导最终都要落实到与观测值的比对和对误差的衡量上。所以,一个模型准确与否,必须先做量化才能讨论。而且,一个模型是否足够精确,以及另一个模型与此相比是更精确还是更不精确,也都严重依赖量化这一前提。
1700509851
1700509852
其次,量化的精确性也同样是提高工作效率、降低成本的重要因素。对一件工业品来说,每种制造方案的成本精确量化会直接把成本和收益体现在盈利模型中。
1700509853
1700509854
最后,没有量化的内容就无法计算,无法计算就不能描述差距,不能描述差距就无法针对方法的改进和提高作出评价。没有量化就没有进步的标尺——这个结论的毁灭性太强了。
1700509855
1700509856
所以,如果要进行数据分析和研究,想得到相对精确的认知,就要先做准确的量化,哪怕这种量化看上去还不够完美。
1700509857
1700509858
1700509859
1700509860
1700509862
数据科学家养成手册 15.3 该算法出马了
1700509863
1700509864
任何算法都是为模型服务的,也就是为最终解释或换算量化值的关系服务的,所以在建模环节一定会用到相当数量的算法。对非计算机专业人员来说,虽然算法显得很神秘,难度也很高,但我们只要明白算法的本质是“通过计算机存取单元的访问调度和数值计算来实现模型”就足够了。
1700509865
1700509866
在第11章“算法学”中,我们已经讨论了在计算机领域使用算法的关键思路。那么,数据建模中使用的算法和算法学中提到的算法有什么异同?答案是:没有异同。数据建模环节使用的算法,大都带有探索性数据分析的意味,故以关联性算法、概率统计算法、线性/非线性模型拟合算法等为主。因此,机器学习和数据挖掘领域的任何一种算法都可以作为建模的手段。
1700509867
1700509868
请注意,在任何情况下我们都不希望把一个模型叙述得过于复杂。除了因为对简洁性的追求是一种天然的、描述成本最低的原则以外,还有一个非常重要的原因——模型设计越复杂,同样越容易发生过拟合(也就是失去泛化性,在应用于其他场景时频繁失效)。
1700509869
1700509870
计算机出现之前,在使用笔算对模型进行推导的过程中,最典型、最简单的场景就是用最小二乘法对残差求极值。由于笔算时便于使用解析解的形式来表达解的过程,所以这种形式非常注重推导过程和解释意义的严谨,这对一些在笔算层面推导复杂的过程来说尤为艰难。不过,这种情况在计算机出现之后好了很多,使用迭代法进行优化的建模过程变得非常方便,甚至很多框架提供的类只需要几行代码就能实现。这样,问题就剩下在统计过程中计算某些值的数量,观察这些数量之间的关系,以及建立这些数量之间的假说了,其他问题都可以通过计算机的加、减、乘、除运算得到结果,或者通过使用迭代法找到损失函数的极值来完成。所有求偏导的过程再也不需要用笔算来解决了,直接利用定义中的
1700509871
1700509872
1700509873
1700509874
1700509875
取Δ为一个非常小的浮点数即可。一切在数学理论上连续可导的损失函数都可以用这个方法来解决,这也是用计算机做残差优化的基本算法保障。
1700509876
1700509878
15.3.1 统计学模型
1700509879
1700509880
大部分传统的机器学习内容都是统计学模型,包括我们前面说的线性关系也可以放在这个范畴。有些模型关系不是典型的通过求Loss函数的极值得到的,例如朴素贝叶斯
1700509881
1700509882
1700509883
1700509884
1700509885
就是纯粹通过统计得到的模型关系。还有隐马尔可夫模型(在11.8.1节提到过),这种学习过程的结果是得到一个概率转化矩阵。
1700509886
1700509887
使用统计学模型得到的内容,大都是对事物之间概率的关系解释,对普通SQL编程掌握较好的工程人员都能很好地理解这一点。在这种模型的归纳中只需注意:是否可以通过AB对照的测试方法来验证自己的观点?如果不能验证,那么这种模型仍然是一种过拟合模型。即使不使用AB对照,也要使用类似的方法进行验证,例如另外挑选与期望结果相似的验证样本进行统计(就像在机器学习中使用的验证集)。采取这样的方法都是为了避免在个案上归纳出的特例被误泛化到其他场景中。对于维度越多、因素越复杂的场景,这种工作的必要性就越大。
1700509888
[
上一页 ]
[ :1.70050984e+09 ]
[
下一页 ]