简单易懂的人工智能系列:机器学习基本概念(一)

机器学习流程方法流程

以有监督学习为例:

          输入数据  ————>  特征工程  ————>  模型训练  ————>  模型部署   ————> 模型应用

输入空间与输出空间

输入空间(Input Space):将输入的所有可能取值的集合称作输入空间

输入空间(Ouput Space):将输出的所有可能取值的集合称作输出空间

  • 输入空间和输出空间可以是有限元素的集合,也可以是整个欧式空间
  • 输入空间和输出空间可以是连续值集合,也可以是离散值集合
  • 输入空间和输出空间可以是同一空间,也可不同
  • 通常输出空间会比输入空间小

特征空间

特征(Feature):即属性。每个输入实例的各个组成部分(属性)称为原始特征,基于原始特诊还可以扩展出很多衍生特征。

C_level 属于由原始特征Fare 而得的衍生特征

特征向量(Feature Vector):有多个特征组成的集合,称作特征向量

 

特征空间(Feature Space):将特征向量存在的空间称为特征空间

  • 特征空间中的每一维对应了一个 特征(属性)
  • 特征空间可以与输入空间相同,也可以不同
  • 需将实例从输入空间映射到特征空间
  • 模型实际上是定义在特征空间之上的

假设空间

假设空间(Hypothesis Space):由输入空间到输出空间的映射的集合

我们举一个栗子来更深理解假设空间:

某商品的浏览、购买记录中,记录了性别、信用度以及是否购买,基于数据建模,其中Gender取值为{Male,Female},Gredit取值为 {High , Medium, Low},Buy取值为 {TRUE,FALSE}:  

                                      

我们的目标是在输入空间和输出之间建立映射关系,也就是假设空间。

输入记录中所有可能出现的值的组合为 2*3 = 6个,列表如下:

                                                

而这些组合结果的最终结果都可能有两个也就是 TRUE 或FALSE:

                            

但是我们要提出一个疑问:这上面的这个表是假设空间吗?

对于每一种可能的输入,都能找到一个映射,对应了输出空间的某个输出。

我们从这12个可能的输入输入映射关系,抽出一种可能的假设:

我们将这种所有的输入空间都对应了一个确定的输出称作一种假设,一种假设即使一种输入空间到输出空间的映射方式,那一共有多少种假设?

我们知道输入空间可能取值种数(2*3 = 6种),输出空间能取值种数(2种):

每一种确定的输入空间取值对应2种输入空间取值,有6种确定的输入空间取值,组合成输入空间到输入空间的映射方式一共就有 2*2*2*2*2*2 = 2^6,通常还要加上一个全空的假设 ,也就是说着个问题的假设空间有 2^6 + 1 种假设

通过以上的栗子,可以的到一般的假设空间H的假设个数为:,其中 M是输出空间的可能取值数,\(N_i\) 是输入空间空间第 i 个特征的可能取值个数。

以上例子种的假设空间的65种假设种取出6种如下 :

而我们机器学习建模过程也就是要从这65个假设中选择一个最为贴合我们数据样本的假设X,然后将这个假设X用来对新的数据进行预测

机器学习方法三要素

机器学习方法通常是由模型、策略和算法三部分构成:方法= 模型 + 策略 + 算法

  • 模型: 输入空间到输出空间的映射关系(某种假设)。机器学习过程即为从假设空间中搜索适合当前数据的假设

对于模型,首先分析需要解决的问题(分类 or 回归 or 发现结构 or 异常检测),来确定模型:

  • 策略:从假设空间众多的假设中选择到最优的模型(假设)的学习标准或者规则

对于策略,我们从假设空间中选择 一个最合适的 模型出来,首先需要解决的问题如下 :

对于评估单个训练样本效果以及训练集整体效果较为容易,而对于除去已知的数据集,对那些未知数据具的评估效果是有困难的,通过定义一些指标来衡量以上问题:

由此我们有以下基本策略:

  • 算法:学习模型的具体的计算方法,通常是求解最优化问题

损失函数

损失函数(Loss Fuction):用来衡量预测结果和真实结果之间的差距,其值越小,代表预测结果和真实结果越一致。通常是一个非负实质值函数。通过各种方式缩小损失函数的过程被称作优化。损失函数记作 \(L(Y,f(x))\)。损失函数(Loss Function) 直接作用於单个样本,用来表达样本的误差。

常见损失函数如下:

0-1损失函数(0 - 1LF):预测值和真实值精确相等则“没有损失”为0,否则意味着“完全损失”,为1

,其中Y 为真实值

预测值和实际值精确相等有些过于严格,可以采用两者的差小于某个阈值的方式来降低要求:

比如,对于相同的预测结果,两种损失函数严格程度不同,设置 T= 0.5,那么:

后者 设置T= 0.5,要求就没那么严格咯,前者就相当于后者的一个特殊情况 T= 0。

预测结果是一样的,然而这种结果是好是坏,与实际应用的业务场景要求是紧密相关的,不同的应用对严格程度的要求往往是不同的。

绝对值损失函数(Absolute LF):预测结果与真实结果差的绝对值。优点是简单易懂,但是计算不方便(对于后续公式处理较为麻烦,—— 模型推导过程较为困难)。

                                        

平方损失函数(Quadratic LF):预测结果与真实结果差的平方。

                                  

平方损失函数所具有的优势:

  • 每个样本的误差均为非负,累加过程不会互相抵消
  • 平方对于具有大误差的样本的惩罚力度更大(绝对值是真实反映误差,而平方2的平方是4,3的平方是9,显而易见)
  • 数学计算较为简单友好(特别是对于求导——导数为一次函数)

绝对值是真实反映误差,而平方2的平方是4,3的平方是9,显而易见,比如:

                                

对数损失函数(Logarithmic LF)或对数似然损失函数(log-kujehood loos function):对数函数具有单调性,在求解最优化问题时候,结果于原始目标一致(不改变极值点)。同时具有可以将乘法化为加法的优点,简化计算:

                                

指数损失函数(Exponential LF):单调非负,使得越接近正确结果误差越小(根据验证,真实值为a ,只能在真实值的靠近0的那一侧越接近a 才误差越小)

                                                  

折叶损失函数(Hinge LF):也称作铰链损失,对于判定边界附近的点的惩罚力度较高,常见于SVM

                                      

几种损失函数图像如下:

不同的损失函数有不同的特点,适用于不同的场景:

  • 0-1:理想状况模型
  • Log:逻辑回归、交叉熵
  • Squared:线性回归
  • Exponential:AdaBoosting
  • Hinge:SVM,soft-margin
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章