假设空间 机器学习

        归纳(induction):从特殊到一般的“泛化”(generalization)过程,即从具体的事实归结出一般性规律;

        演绎(deduction):从一般到特殊的“特化”(specialization)过程,即从基础原理推演出具体状况.例如,在数学公理系统中,基于一组公理和推理规则推导出与之 相洽的定理,这是演绎;

        而 “从样例中学习”显然是一个归纳的过程,因此亦称 “归纳学习 ”(inductive learning).

        广义的归纳学习大体相当于从样例中学习,

        狭义的归纳学习则要求从训练数据中学得概念(concept),因此亦称为“概念学习 ”或 “概念形成”.

        概念学习技术目前研究、应用都比较少,因为要学得 泛化性能好且语义明确的概念实在太困难了,现实常用的技术大多是产生“黑 箱”模型.然而,对概念学习有所了解,有助于理解机器学习的一些基础思想.

        概念学习中最基本的是布尔概念学习,即 对 “是” “不是”这样的可表示 为 0/1布尔值的目标概念的学习.举一个简单的例子,假定我们获得了这样一 个训练数据集:

         这里要学习的目标是“好瓜”.暂 且 假 设 “好瓜”可 由 “色泽” “根蒂” “敲声”这三个因素完全确定,换言之,只要某个瓜的这三个属性取值明确了, 我们就能判断出它是不是好瓜.于是,我们学得的将是“好瓜是某种色泽、某 种根蒂、某种敲声的瓜”这样的概念,用布尔表达式写出来则是“好 瓜 分(色 电了呼常会普 泽=?) A (根蒂=?) A (敲声= ? ) " ,这 里 表 示 尚 未 确 定 的 取 值 ,而 我 们 的 任 合范或 务就是通过对表1.1的训练集进行学习,把 确 定 下 来 .

        读者可能马上发现,表 1.1第一行: “(色泽二青绿)A (根蒂=蜷缩)A (敲 声=浊响)”不就是好瓜吗?是的,但这是一个已见过的瓜,别忘了我们学习的 目的是“泛化”,即通过对训练集中瓜的学习以获得对没见过的瓜进行判断的能力.如果仅仅把训练集中的瓜“记住”,今后再见到一模一样的瓜当然可判 断,但是,对没见过的瓜,例如“(色泽=浅白)A (根蒂= 蜷缩)A (敲声= 浊响)” 怎么办呢?

        我们可以把学习过程看作一个在所有假设(hypothesis)组成的空间中进行 搜索的过程,搜索目标是找到与训练集“匹配”(班)的假设,即能够将训练集中 的瓜判断正确的假设.假设的表示一旦确定,假设空间及其规模大小就确定了. 这里我们的假设空间由形如“(色泽= ?)A (根蒂= ?)A (敲声= ?)" 的可能取值 所形成的假设组成.例如色泽有“青绿” “乌黑” “浅白”这三种可能取值; 还需考虑到,也 许 “色泽”无论取什么值都合适,我 们 用 通 配 符 来 表 示 , 例 如 “好 瓜 》 (色泽= *)A (根蒂= 蜷缩)A (敲声= 浊响)”,即 “好瓜是根蒂蜷 缩、敲声浊响的瓜,什么色泽都行”. 此外,还需考虑极端情况:有 可 能 “好 瓜”这个概念根本就不成立,世界上没有“好瓜”这种东西;我们用0 表示这 个假设.这样,若 “色泽” “根蒂” “敲声”分别有3、2、2 种可能取值,则我 们面临的假设空间规模大小为4 x 3 x 3 + 1 = 37. 图 1.1直观地显示出了这个 西瓜问题假设空间.

        

         可以有许多策略对这个假设空间进行搜索,例如自顶向下、从一般到特殊, 或是自底向上、从特殊到一般,搜索过程中可以不断删除与正例不一致的假 设、和(或)与反例一致的假设.最终将会获得与训练集一致(即对所有训练样本 能够进行正确判断)的假设,这就是我们学得的结果.

        需注意的是,现实问题中我们常面临很大的假设空间,但学习过程是基于 有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与 训练集一致的“假设集合”,我们称之为“版本空间”(version space). 例如, 在西瓜问题中,与 表 1.1训练集所对应的版本空间如图1.2所示。

 

### 机器学习中的假设空间概念 #### 定义与基本原理 在机器学习中,监督学习的任务是通过训练数据学习一个模型,使其能够对未知数据进行有效预测。这一过程实际上是在一组候选模型中搜索最优解的过程,而这些候选模型的集合就被称为**假设空间**(hypothesis space)[^1]。更具体地说,假设空间是一个由所有可能的假设(即从输入空间 \(X\) 到输出空间 \(Y\) 的映射函数)组成的集合。 每个具体的模型可以看作是一个“假设”,它是输入变量到输出变量的一种特定映射方式。学习算法的目标就是在假设空间中找到一个假设 \(h^*\),使这个假设不仅能在训练集上表现良好,还能具备较强的泛化能力,从而适应未曾见过的数据[^2]。 --- #### 假设空间的分类 根据假设空间中包含的假设数量的不同,假设空间可分为以下两种主要类型: ##### 1. **有限假设空间** 当假设空间中包含的假设个数是有限的时候,这种假设空间被称为有限假设空间。例如,在某些简单的场景下,如线性分类器或决策树模型,当特征的数量较小时,其所有可能的参数组合数目可能是有限的。这意味着可以通过穷举的方式逐一验证每种可能性的表现[^3]。 ##### 2. **无限假设空间** 如果假设空间中假设的个数是无限的,则称之为无限假设空间。这种情况常见于复杂模型之中,比如神经网络模型。由于神经网络的权重和偏置通常是连续的实数值,因此理论上存在无穷多种不同的参数配置,对应着无穷多个假设[^3]。 --- #### 假设空间的选择原则 选择合适的假设空间对于构建有效的机器学习模型至关重要。一方面,假设空间应足够大以容纳能很好地拟合训练数据的理想假设;另一方面,过大的假设空间可能导致过拟合现象的发生,即模型虽然在训练集上表现出色,但在测试集上的性能却较差。因此,在实践中需要权衡偏差-方差之间的关系来决定最佳的假设空间范围[^4]。 此外需要注意的是,尽管我们希望借助优化算法找到完美的假设 \(h^*\),但由于现实世界中的许多问题本身可能存在噪声或者不确定性因素的影响,实际上往往只能接近理想状态而非完全达到[^5]。 --- #### 数学背景补充 为了进一步深入理解假设空间的概念,可以从更高层次的数学角度对其进行分析。例如,当我们处理高维数据时经常涉及欧几里得空间(Euclidean Space)以及更为广义的希尔伯特空间(Hilbert Space)等抽象结构。这些理论框架为我们提供了一套更加严谨的形式化语言去刻画不同类型的假设空间及其性质[^6]。 ```python # 示例代码:展示如何定义一个简单的假设空间 def hypothesis_space(X, theta): """ 定义一个简单的线性假设空间 h(x) = θ * x 参数: X (list): 输入特征列表 theta (float): 权重参数 返回: list: 对应的假设值列表 """ return [theta * x for x in X] # 测试 input_features = [1, 2, 3] weights = [0.5, 1.0, 1.5] for w in weights: print(hypothesis_space(input_features, w)) ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

创业者-杨成淦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值