【DataWhale组队学习】吃瓜教程(西瓜书+南瓜书)Task01-假设空间与版本空间、NP问题

跟着某前途无量的前辈,第一次参加DataWhale的组队学习活动,第一天就认识了一些新朋友,优秀的人真的是在不断输入不断进步呀(●'◡'●)

本期我选择了吃瓜教程的任务,刚好配着研一机器学习的课程,并且导师也要求本学期阅读学习邱锡鹏老师的《神经网络与深度学习》,希望能够随着课程夯实机器学习入门的数学基础,对机器学习、深度学习有深层次的了解。

以下是Task01任务进行中的一点笔记整理分享,主要是针对周志华老师《机器学习》前两章除公式推导的内容中有疑惑、思考过的地方,和自己感兴趣内容的拓展学习

一、假设空间与版本空间

1. 什么是假设空间(hypothesis space)

周志华《机器学习》中并无对该概念的明确定义,“可以将学习过程看作一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到与训练集"匹配"的假设,即能够将训练集中的瓜判断正确的假设。假设的表示一旦确定,假设空间及其规模大小就确定了。”

在邱锡鹏《神经网络与深度学习》中假设空间定义为输入空间\chi \mapsto 输出空间Y的真实映射函数的集合F,通常为一个参数化的函数族。(第一次写文章,还不太会用公式的输入,打不出来函数族的那个式子,但这不是重点……)

2. 假设空间的大小

在西瓜属性“色泽”、“根蒂”、“敲声”分别有3、2、2种取值的情况下,考虑通配符(即属性值取任何值无影响)和空集\o(即不存在好瓜),则该假设空间的大小为4*3*3+1=37。

3. 什么是版本空间(version space)

与训练集一致(即对所有训练样本能够进行正确判断)的“假设集合”

具体计算方法为:由于该机器学习目标为挑选好瓜,故从假设空间中删除与正例(即好瓜)不一致的假设、和(或)与反例(坏瓜)一致的假设,最终获得与训练集一致的假设。具体计算过程可以参考《机器学习》中的假设空间和版本空间(注意答主的假设空间是基于西瓜属性“色泽”、“根蒂”、“敲声”分别有2、3、3种取值的情况,假设空间大小为49,但原理都是一样的)。

4. 空间理解

这里附上一张的图来理解属性(维度)、属性值及假设空间的概念,具体可看知乎周志华老师《机器学习》假设空间和版本空间概念辨析(注意该篇答案对假设空间的大小处的定义问题有一定理解错误)。相对于文字概念、数学公式等,我对空间、图形比较敏感,通过这种方式对这些概念的理解和这位前辈还蛮相合的。

【DataWhale组队学习】吃瓜教程(西瓜书+南瓜书)Task01-假设空间与版本空间、NP问题_第1张图片

二、过拟合(Overfitting)与N/NP问题

书中讲到“过拟合”问题时谈到:机器学习面临的问题通常是NP难甚至更难,而有效的学习算法必然是在多项式时间内运行完成,若可彻底避免过拟合,则通过经验误差最小化就能获得最优解,这就意味着我们构造性地证明了“P=NP”,因此,只要相信“P≠NP”,过拟合就不可避免。

之前对过拟合的理解只是局限在模型在训练集上错误率很低,但是在未知数据上错误率很高,西瓜书从一个新的角度讲述了过拟合问题。以下部分主要参考学习了算法中的P问题、NP问题、NP完全问题和NP难问题。

1. 时间复杂度—多项式时间

时间复杂度是一个定性描述某算法运行时间的函数,是一个代表算法输入值的字符串的长度的函数,表示运行某算法时得到想要的解所需的计算工作量,是当输入值接近无穷时,算法所需工作量的变化快慢程度。

以经典的“冒泡排序”问题为例,至多要经过1+2+...+n-1即(n^2-n)/2次比较才能对n个数排对顺序,当n \to \infty时,一次项n对结果影响很小,故将该算法的时间复杂度记作:O(n^2),即取其最高次,这就是一个时间复杂度为多项式的表示方式,也就是多项式时间

2. N/NP问题

P类问题:在多项式时间内可以找出解的决策性问题

NP类问题:在多项式时间内可以验证解是否正确的决策性问题。

NPC类问题:同时满足(1)该问题是一个NP问题;(2)所有NP问题可以归约为该问题。

NP难问题:不是一个NP问题,所有的NPC问题都可以在多项式时间内转化为该问题的话,我们就叫他NPH(hard)问题。

3. 过拟合

学到这里,对书中“只要相信“P≠NP”,过拟合就不可避免”个人就理解为了若模型能够在多项式时间内求解并验证其正确性,则该模型可避免过拟合,但实际情况是很难在多项式时间内验证答案的正确性,所以过拟合是很难避免,或者说是不能避免的。

你可能感兴趣的:(深度学习,神经网络,机器学习)