本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
续上文《机器学习模型小例》
从上节的小例,我们可以初步感受到建模的主要步骤,也大概知道模型大概是个什么东东,
这里我们提炼总结并展开详细说一下。
本节我们根据上篇文章的小例,泛谈一下建模的步骤
建模的三个步骤
建模过程的主要三步骤为:
👉 1、数据探索
👉 2、模型建立
👉 3、检验模型效果
数据探索(EDA)
在获得数据后,
我们一般会先探索一下数据,看看数据长什么样子
事实上,我们基本不会一下子把数据探索到位,
因为变量、数据较多时,这是一个无底洞
更常用的做法是,迭代式探索
初步数据探索 --> 初步建模 --> 初步模型效果
进一步数据探索 --> 进一步建模 --> 进一步的模型效果
再进一步数据探索-->再进一步建模-->再进一步的模型效果
......................
所以,往往拿到数据就直接丢到模型里跑一下,这就是一种初步试探
迭代式建模可以让我们更清楚数据探索的方向和探索的重点
同时,也可以更清晰我们选择什么样的模型会更好
此外,数据探索的时候,往往还会穿插数据处理,
把探索时发现的一些不合理的数据处理和清洗,
总的来说,我们会将数据探索、数据清洗、建模不断地穿插进行
模型建立
建模一般是调用软件包中已有的模型,
软件包会根据训练数据给出最终的模型,是个很简单的过程。
如果要用多个模型进行综合使用,那也是多写几句代码,也不是一个很复杂的过程。
当然,也可以自己整个模型,这种情况相对较少,这就要下点功夫了。
模型评估
模型评估用于评估建模的效果,
可以使用一个指标,也可以用多个指标,
至于用什么指标,就具体问题,具体确定。
如果是私人问题,可能自己随便定一个,合理就可以,
如果不是私人问题,则可能要找一个业内公认的指标
本节我们根据上篇文章的小例,总结一下模型的三个重要组成部分
机器学习-模型三要素
通过上节的小例,我们可以看到,
一个模型的三个重要组成部分分别为:模型、损失函数和模型求解
1. 模型表达式
模型表达式确定了要用什么样的结构去拟合数据点,
在小例中我们用的是直线
2. 损失函数
损失函数也叫代价函数,即这里的误差函数,
说明我们采用某组w,b时,所要耗费的代价、损失
在小例中我们的损失就是预测精度(误差)的损失
3. 模型求解
模型中预留一些待定参数(这里是w和b),
损失函数给我们指明了我们想要的参数是什么,
而模型求解,则是根据损失函数,解出最符合我们要求的参数
👉 模型求解也叫模型训练,训练模型即对模型求解
模型三要素泛谈
模型三要素:《模型结构》《损失函数》《模型求解》
1. 模型结构
模型确定了我们模型的性质,
例如,线性模型,它就是一条直线(或平面、超平面),
如果我们的x和y是条抛物线,那我们用线性模型就拟合不出来了。
正因为如此,我们才需要不同的模型,对不同的业务,选择不同的模型。
2. 损失函数
损失函数指定了我们的求解目标
损失函数不一定等于评估函数,
对同一个模型,一千个问题可以有千个不同的评估函数,因为评估函数只用于评估,不涉及其它
而损失函数则不同,它既要引导我们获得合理的解,又要考虑求解的难度,
由于它与求解高度绑定,一般来说,往往无法做到100%与具体问题的真实合理需求吻合
所以只要对一般问题,它是合理有效的就可以,
因为不可能一千个问题设计一千个损失函数,这样就需要设计一千个求解算法,这是不现实的。
3. 模型求解
从上面的例子我们就能感受到,模型求解其实就是整套代码的核心
随着模型越来越复杂,我们的求解过程、求解方法也会越来越复杂
学习一个模型,
往往模型公式一看,背景意义一理解,损失函数看一看,
十分钟不到就到手了
但复杂的模型有更复杂的求解方法,
学习模型最耗时间的是模型的求解
End