前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >NO.3 《机器学习期末复习篇》以题(问答题)促习(人学习),满满干huo,大胆学大胆补!

NO.3 《机器学习期末复习篇》以题(问答题)促习(人学习),满满干huo,大胆学大胆补!

作者头像
用户11315985
发布2025-01-09 15:40:00
发布2025-01-09 15:40:00
11700
代码可运行
举报
文章被收录于专栏:CSDN小华CSDN小华
运行总次数:0
代码可运行

🔍 1. 对于非齐次线性模型

f(X) = w^T X + b
f(X) = w^T X + b

,试将其表示为齐次线性模型形式。

神来之笔:非齐次线性模型可以通过扩展输入特征向量 X(增加一个额外维度且值固定为 1)转化为齐次线性模型。这个方法常用于机器学习模型的数学推导中,使公式更简洁统一。

上图展示了如何将原始特征向量 X 转化为扩展特征向量 X′:

  1. 蓝色箭头代表原始特征向量 X 的方向。
  2. 绿色虚线箭头表示偏置项,通过扩展特征空间加入一个固定值为 1 的维度。
  3. 红色箭头是扩展后的特征向量 X′,将原始特征和偏置结合到一个齐次表示中。

🔍 2. 某汽车公司一年内各月份的广告投入与月销量数据如表3-28所示,试根据表中数据构造线性回归模型,并使用该模型预测月广告投入为20万元时的销量。

表3-28 月广告投入与月销量数据表

月份

1

2

3

4

5

6

月广告投入(万元)

9.95

10.14

9.22

8.87

12.06

16.30

月销量(万辆)

1.018

1.143

1.036

0.915

1.373

1.640

月份

7

8

9

10

11

12

月广告投入(万元)

17.01

18.93

14.01

13.01

15.41

14.21

月销量(万辆)

1.886

1.913

1.521

1.237

1.601

1.496

我们需要根据给定的广告投入与销量数据,构造一个线性回归模型。线性回归的数学形式是:

y = w \cdot x + b
y = w \cdot x + b

其中:

  • y表示预测的销量;
  • x表示广告投入;
  • w 和 b是模型的参数(分别为斜率和截距)。

目标是利用历史数据拟合出模型 w 和 b,并预测当广告投入为 20 万元时的销量。

代码:

代码语言:javascript
代码运行次数:0
运行
复制
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression

# Input data from the table
data = {
    "广告投入": [9.95, 10.14, 9.22, 8.87, 12.06, 16.30, 14.01, 13.01, 15.41, 14.21, 17.01, 18.93],
    "销量": [1.018, 1.143, 1.036, 0.915, 1.373, 1.640, 1.521, 1.237, 1.601, 1.496, 1.886, 1.913],
}

# Create a DataFrame
df = pd.DataFrame(data)

# Prepare data for regression
X = np.array(df["广告投入"]).reshape(-1, 1)
y = np.array(df["销量"])

# Fit linear regression model
model = LinearRegression()
model.fit(X, y)

# Predict for advertising input of 20万元
ad_input = np.array([[20]])
predicted_sales = model.predict(ad_input)[0]

# Model coefficients and intercept
coefficients = model.coef_[0]
intercept = model.intercept_

# Display results and dataset summary to the user
results = {
    "线性回归方程": f"y = {coefficients:.4f} * x + {intercept:.4f}",
    "预测广告投入为20万元时的销量": predicted_sales,
}

import ace_tools as tools; tools.display_dataframe_to_user(name="广告投入与销量分析数据", dataframe=df)

results

得到结果:

🔍 3. 使用表3-28中的数据集构造线性分类器,并预测月广告投入为13.5万元时月销量能否达到1.5万辆。

表3-28 月广告投入与月销量数据表

月份

1

2

3

4

5

6

月广告投入(万元)

9.95

10.14

9.22

8.87

12.06

16.30

月销量(万辆)

1.018

1.143

1.036

0.915

1.373

1.640

月份

7

8

9

10

11

12

月广告投入(万元)

17.01

18.93

14.01

13.01

15.41

14.21

月销量(万辆)

1.886

1.913

1.521

1.237

1.601

1.496

代码语言:javascript
代码运行次数:0
运行
复制
# Re-import necessary libraries
import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression

# Recreate the dataset from the original problem
data = {
    "广告投入": [9.95, 10.14, 9.22, 8.87, 12.06, 16.30, 14.01, 13.01, 15.41, 14.21, 17.01, 18.93],
    "销量": [1.018, 1.143, 1.036, 0.915, 1.373, 1.640, 1.521, 1.237, 1.601, 1.496, 1.886, 1.913],
}

# Create a DataFrame
df = pd.DataFrame(data)

# Step 1: Create classification labels (1 if sales >= 1.5, else 0)
df["分类"] = (df["销量"] >= 1.5).astype(int)  # 1 for sales >= 1.5, 0 otherwise

# Step 2: Prepare data for classification
X_class = np.array(df["广告投入"]).reshape(-1, 1)  # Feature: Advertising Input
y_class = np.array(df["分类"])  # Label: Sales Classification

# Step 3: Train a logistic regression classifier
classifier = LogisticRegression()
classifier.fit(X_class, y_class)

# Step 4: Predict for advertising input of 13.5万元
ad_input_class = np.array([[13.5]])
predicted_class = classifier.predict(ad_input_class)[0]
probability = classifier.predict_proba(ad_input_class)[0][1]

# Model coefficients and intercept
class_coefficients = classifier.coef_[0][0]
class_intercept = classifier.intercept_[0]

# Results
classification_results = {
    "线性分类器方程": f"f(x) = {class_coefficients:.4f} * x + {class_intercept:.4f}",
    "广告投入为13.5万元时的预测类别": "销量达到1.5万辆 (类别1)" if predicted_class == 1 else "销量未达1.5万辆 (类别0)",
    "达到1.5万辆的概率": f"{probability:.4%}",
}

import ace_tools as tools; tools.display_dataframe_to_user(name="广告投入与销量分类数据", dataframe=df)
classification_results
代码语言:javascript
代码运行次数:0
运行
复制
import numpy as np
import pandas as pd

# 数据提取
ad_investment = np.array([9.95, 10.14, 9.22, 8.87, 12.06, 16.30, 17.01, 18.93, 14.01, 13.03, 15.41, 14.21])
sales = np.array([1.018, 1.143, 1.036, 0.915, 1.373, 1.640, 1.886, 1.913, 1.521, 1.237, 1.601, 1.496])

# 将销量划分为两类
labels = np.where(sales >= 1.5, 1, 0)

# 均值计算
x_mean = np.mean(ad_investment)
y_mean = np.mean(labels)

# 计算斜率 w 和截距 b
w = np.sum((ad_investment - x_mean) * (labels - y_mean)) / np.sum((ad_investment - x_mean) ** 2)
b = y_mean - w * x_mean

# 构建分类器函数
def classify(x, w, b):
    return 1 if (w * x + b) >= 0 else 0

# 对广告投入为 13.5 的情况进行预测
ad_to_predict = 13.5
predicted_class = classify(ad_to_predict, w, b)

# 显示结果
w, b, predicted_class
  • 线性分类器方程
f(x) = 1.0826 \cdot x - 15.3079
f(x) = 1.0826 \cdot x - 15.3079
  • 预测结果
    • 当广告投入为 13.5万元时,预测销量 未达到 1.5 万辆(类别 0)。
    • 达到 1.5 万辆销量的概率为 33.34%

🔍 4. 线性判别分析的基本思想是什么?此类方法能达到什么样的效果?

  • 基本思想:通过最大化类间散度与类内散度的比值,找到一个最优投影方向,使得不同类别的数据在低维空间中尽可能分离
  • 分类效果:适合线性可分数据,能有效增强低维空间中的类别分布清晰度,便于分类。
  • 降维效果:在保持类别间差异的同时,大幅降低数据维度,提高计算效率和模型泛化能力。

🔍 5. ID3、C4.5和CART决策树分别是以哪个指标进行分裂的?为什么通常情况下C4.5决策树的泛化性能要优于ID3决策树?

  • 分裂指标
    • ID3 使用信息增益。
    • C4.5 使用增益率。
    • CART 使用基尼指数(分类)或均方误差(回归)。
  • 泛化性能:C4.5 决策树的泛化能力优于 ID3 决策树,主要因为它改进了分裂指标、支持连续值处理和剪枝策略,减少了过拟合的可能性。

1. 增益率的改进
  • 问题
    • ID3 决策树使用信息增益作为分裂指标,但信息增益会偏向于选择取值较多的属性(比如“身份证号”这种唯一标识)。
    • 这种偏好可能导致过拟合,泛化能力较差。
  • 改进
    • C4.5 决策树通过使用增益率(信息增益的归一化形式),对属性的固有偏好进行了惩罚,降低了取值多的属性对分裂的偏好。
2. 支持连续值
  • ID3 决策树只能处理离散型属性,而 C4.5 决策树支持连续值分裂(如通过将连续值分裂成 "小于某值" 和 "大于某值" 的区间)。
  • 连续值的支持使得 C4.5 决策树在现实数据中的应用更加灵活和准确。
3. 剪枝策略
  • C4.5 决策树在训练后加入了剪枝策略,通过降低树的复杂度来提高泛化性能,而 ID3 决策树不具备这种剪枝机制。
4. 应用范围更广
  • C4.5 决策树能够处理缺失值和不平衡数据,而 ID3 决策树的这些能力较弱。

🔍 6. 分别说明信息熵、信息增益、信息增益率的概念,并说明这些指标的意义。

指标之间的关系与区别
  1. 关系
    • 信息增益衡量划分后的信息提升。
    • 信息增益率是在信息增益的基础上进行归一化,用于克服信息增益的偏好。
  2. 区别
    • 信息熵 衡量当前系统的不确定性。
    • 信息增益 衡量划分前后系统不确定性的减少。
    • 信息增益率 考虑了属性取值的多样性,对多值属性进行了惩罚。

这些指标的意义
  • 信息熵:帮助理解样本集的纯度,是信息增益和信息增益率的基础。
  • 信息增益:直接衡量属性的区分能力,指导决策树分裂。
  • 信息增益率:提供公平的分裂标准,避免信息增益偏向多值属性,提高泛化性能。

🔍 7. 试使用信息增益作为判别标准,对如表3-29所示的数据集进行一次划分。

表3-29 天气数据集

编号

1

2

3

4

5

6

湿度情况

干燥

干燥

干燥

潮湿

潮湿

潮湿

温度情况

高温

低温

适宜

高温

低温

适宜

天气情况

晴朗

晴朗

阴雨

阴雨

晴朗

阴雨

🔍 8. 试使用信息增益率作为判别标准,对如表3-29所示的数据集进行一次划分。

🔍 9. 试分析基尼指数为何可用于度量数据集的纯度。

基尼指数通过衡量数据集中样本类别的不一致性来反映纯度,其核心在于:

  1. 对类别概率分布的敏感性
    • 当某个类别的概率
    p_i
    p_i

    接近 1 时,其他类别的概率趋于 0,基尼指数趋于 0,表示数据集几乎全部属于一个类别,纯度高。

    • 当所有类别的概率
    p_i
    p_i

    接近均匀分布时,基尼指数较高,表示数据分布混乱,纯度低。

  2. 基于平方惩罚减少误差:基尼指数的公式中,类别概率
p_i^2
p_i^2

表示类别的重要性,平方项让高概率类别的贡献更大,而低概率类别的贡献更小。因此,基尼指数对不平衡分布的数据更敏感。

  1. 可度量数据集划分的效果:划分数据集后,基尼指数反映了划分后子集的纯度变化。若划分使得子集基尼指数降低(纯度提升),则划分被认为是有意义的。

基尼指数通过衡量类别分布的不一致性和概率的均匀程度来反映数据集的纯度:

  • 基尼指数越小,数据集越纯,类别越单一。
  • 基尼指数越大,数据集中类别分布越混乱,纯度越低。

对于一个样本集合 D,假设有 K 个类别,其基尼指数公式为:

G(D) = 1 - \sum_{i=1}^K p_i^2
G(D) = 1 - \sum_{i=1}^K p_i^2

其中:

p_i
p_i

是样本属于第 iii 类的概率(即该类别样本数占总样本数的比例)。

特性:
p_i
p_i

越接近 1,其他类别的

p_j
p_j

j \neq i
j \neq i

)越接近 0,基尼指数越小,表示数据集纯度越高。

p_i
p_i

越均匀,基尼指数越大,表示数据集纯度越低。

🔍 10. 预剪枝和后剪枝存在哪些相同点,又存在哪些差异?

相同点:

  • 目标一致
    • 两者的目标都是通过简化决策树的结构来提高模型的泛化能力,避免过度拟合训练数据。
  • 应用场景一致
    • 都适用于决策树生成过程中的剪枝策略,在训练数据规模较小、噪声较多时尤为重要。
  • 减少噪声影响
    • 通过减少不必要的分裂,削弱噪声对决策树结构的影响。
  • 损失函数评估
    • 都基于某种评估标准(如验证集性能、交叉验证等)来决定是否进行剪枝。

剪枝时机

决策树构建过程中提前停止

决策树构建完成后,从底向上逐层剪枝

计算复杂度

较低,速度快

较高,需要更多计算资源

剪枝依据

启发式标准(如增益、样本数等)

验证集性能(如准确率、交叉验证等)

风险

可能过早停止分裂,导致欠拟合

逐步删除不必要的节点,风险较低

模型复杂度

树通常较浅,节点少

初始树较复杂,剪枝后更稳健

适用场景

训练数据较少、简单问题

数据复杂、模型需要精细调整

🔍 11. 已知数据集D中的数据维度为d,这些数据分属两类,若根据该数据集构造决策树,试证明得到的决策树树高不超过d+1。

🔍 12. 现有如表3-30所示的客户信息数据集,试根据该数据集构造一棵用于判断是否提供贷款的ID3决策树。

表3-30 客户信息数据集

编号

1

2

3

4

5

6

7

8

9

10

11

12

年龄

27

28

36

57

52

41

51

23

31

50

41

38

收入水平

固定收入

银行VIP

提供贷款

这里手写了,没算,大家可以自己算,结合上面求信息增益的过程:

🔍 13. 根据表3-30中的数据集构造一棵用于判断是否提供贷款的C4.5决策树。

表3-30 客户信息数据集

编号

1

2

3

4

5

6

7

8

9

10

11

12

年龄

27

28

36

57

52

41

51

23

31

50

41

38

收入水平

固定收入

银行VIP

提供贷款

固有属性值

🔍 14. 说明CART决策树的结构特点并分析CART决策树与ID3、C4.5决策树的区别。

1. CART 决策树的优势
  • 统一性:CART 同时支持分类和回归任务,而 ID3 和 C4.5 主要用于分类任务。
  • 连续属性处理:CART 在处理连续属性时效率较高,通过寻找最优分裂点实现简单有效的分裂。
  • 剪枝机制:通过后剪枝和成本复杂度优化,CART 在模型复杂度和泛化性能之间取得了良好的平衡。
2. CART 与 ID3 的区别
  • ID3 依赖信息增益作为分裂标准,可能偏向于选择取值较多的属性(例如唯一标识符)。
  • CART 使用基尼指数,计算简单,且更关注分类结果的纯度,避免了信息增益的偏好问题。
3. CART 与 C4.5 的区别
  • C4.5 改进了 ID3 的信息增益标准,使用增益率避免了对多值属性的偏好。
  • CART 采用二叉树结构,比 C4.5 的多叉树结构更简单。
  • 在连续属性处理上,CART 和 C4.5 均能处理,但 CART 的实现更加直接。
4. 总结
  • CART 决策树 更适合需要同时处理分类和回归任务的场景,且二叉树结构简单清晰。
  • ID3 决策树 适合小型、简单分类任务,但不支持连续属性或剪枝。
  • C4.5 决策树 适合较复杂的分类任务,具有更好的泛化能力和灵活性。

🔍 15. 根据表3-30中的数据构造一棵用于判断是否提供贷款的无剪枝CART决策树。

表3-30 客户信息数据集

编号

1

2

3

4

5

6

7

8

9

10

11

12

年龄

27

28

36

57

52

41

51

23

31

50

41

38

收入水平

固定收入

银行VIP

提供贷款

这里小编就列出了收入水平一条~其余的靠大家自己努力,都是类似的

🔍 16. 使用表3-28中的数据集构造一棵用于预测销量的最小二乘回归树。

表3-28 月广告投入与月销量数据表

月份

1

2

3

4

5

6

月广告投入(万元)

9.95

10.14

9.22

8.87

12.06

16.30

月销量(万辆)

1.018

1.143

1.036

0.915

1.373

1.640

月份

7

8

9

10

11

12

月广告投入(万元)

17.01

18.93

14.01

13.01

15.41

14.21

月销量(万辆)

1.886

1.913

1.521

1.237

1.601

1.496

实现分裂计算的代码

代码语言:javascript
代码运行次数:0
运行
复制
import numpy as np
import pandas as pd

# 数据准备
advertising = np.array([9.95, 10.14, 9.22, 8.87, 12.06, 16.30, 17.01, 18.93, 14.01, 13.03, 15.41, 14.21])
sales = np.array([1.018, 1.143, 1.036, 0.915, 1.373, 1.640, 1.886, 1.913, 1.521, 1.237, 1.601, 1.496])

# 分裂点候选(广告投入的唯一值)
split_points = np.unique(advertising)

# 寻找最佳分裂点
best_split = None
min_mse = float('inf')
results = []

for split in split_points:
    # 左子集和右子集
    left_indices = advertising <= split
    right_indices = advertising > split
    
    # 左子集和右子集的均值
    y_left_mean = np.mean(sales[left_indices]) if np.sum(left_indices) > 0 else 0
    y_right_mean = np.mean(sales[right_indices]) if np.sum(right_indices) > 0 else 0
    
    # 左子集和右子集的均方误差
    mse_left = np.mean((sales[left_indices] - y_left_mean) ** 2) if np.sum(left_indices) > 0 else 0
    mse_right = np.mean((sales[right_indices] - y_right_mean) ** 2) if np.sum(right_indices) > 0 else 0
    
    # 加权均方误差
    n_left = np.sum(left_indices)
    n_right = np.sum(right_indices)
    mse_total = (n_left / len(sales)) * mse_left + (n_right / len(sales)) * mse_right
    
    # 更新最优分裂点
    results.append((split, mse_total, mse_left, mse_right))
    if mse_total < min_mse:
        min_mse = mse_total
        best_split = split

# 输出结果
best_split, min_mse, results

🔍 17. 贝叶斯学派与频率学派之间存在哪些不同观点?

🔍 18. 朴素贝叶斯分类器、半朴素贝叶斯分类器的假设前提分别是什么?

1. 朴素贝叶斯分类器的假设前提

朴素贝叶斯分类器是一种基于 贝叶斯定理 的简单但有效的分类算法。其核心假设前提是 特征条件独立性假设,具体如下:

核心假设:特征条件独立性
  • 在已知类别 CCC 的条件下,特征
X_1, X_2, ..., X_n
X_1, X_2, ..., X_n

是条件独立的。

  • 即:
P(X_1, X_2, ..., X_n | C) = \prod_{i=1}^n P(X_i | C)
P(X_1, X_2, ..., X_n | C) = \prod_{i=1}^n P(X_i | C)
  • 这意味着每个特征
X_i
X_i

对类别 C 的贡献是独立的,特征之间不存在相互依赖关系。

优点和限制
  • 优点:计算简单,速度快,适用于高维数据。
  • 限制:特征条件独立性假设在现实中通常不成立,尤其是特征间存在强依赖时(如相关性高的特征),模型性能可能下降。
适用场景

朴素贝叶斯分类器在特征之间相对独立的情况下效果较好,如文本分类(单词作为特征时通常近似独立)。


2. 半朴素贝叶斯分类器的假设前提

半朴素贝叶斯分类器是对朴素贝叶斯的扩展和改进,放松了特征条件独立性的假设,允许特征之间存在某种依赖关系。

核心假设:部分特征依赖
  • 半朴素贝叶斯分类器允许部分特征之间存在依赖关系,而不是完全假设特征条件独立。
  • 它通过建模特征间的部分依赖关系(如引入特征之间的条件概率或依赖树结构)来缓解朴素贝叶斯的局限性。
常见模型
  • TAN(Tree Augmented Naïve Bayes)
    • 在朴素贝叶斯的基础上,利用最大权重生成树方法,构造一个特征间的依赖树,表示特征之间的相互关系。
    • 公式:
    P(X_1, X_2, ..., X_n | C) = P(X_1 | C) \prod_{i=2}^n P(X_i | X_{\text{parent}(i)}, C)
    P(X_1, X_2, ..., X_n | C) = P(X_1 | C) \prod_{i=2}^n P(X_i | X_{\text{parent}(i)}, C)

    其中,parent(i) 是第 i 个特征的父特征。

  • 其他方法:引入统计相关性或结构学习算法,以更好地捕捉特征间的依赖。
优点和限制
  • 优点:比朴素贝叶斯更灵活,能捕捉特征间的依赖,提高分类精度。
  • 限制:模型复杂度更高,需要更多的数据和计算资源来估计特征之间的关系。
适用场景

半朴素贝叶斯分类器适用于特征之间有一定依赖关系但这种依赖关系并不复杂的场景,例如某些医学诊断和传感器网络数据。

🔍 19. 根据表3-30中的数据集构造一个用于判断是否提供贷款的朴素贝叶斯分类器。

表3-30 客户信息数据集

编号

1

2

3

4

5

6

7

8

9

10

11

12

年龄

27

28

36

57

52

41

51

23

31

50

41

38

收入水平

固定收入

银行VIP

提供贷款

🔍 20. 假设表3-30中数据集的其他属性均依赖于“年龄”,试根据该数据集构造一判断是否提供贷款的半朴素贝叶斯分类器。

表3-30 客户信息数据集

编号

1

2

3

4

5

6

7

8

9

10

11

12

年龄

27

28

36

57

52

41

51

23

31

50

41

38

收入水平

固定收入

银行VIP

提供贷款

1. 什么是半朴素贝叶斯分类器?
  • 朴素贝叶斯:假设所有属性
X_1,X_2,.......,X_n
X_1,X_2,.......,X_n

是条件独立的。

  • 半朴素贝叶斯:部分属性之间存在依赖关系,例如本题假设其他属性依赖于“年龄”。

在本题中,我们的假设是:

  • 收入水平、固定收入、银行VIP都依赖于年龄。
  • “年龄”直接影响是否提供贷款。
2.具体步骤

为了构建一个以“年龄”为核心的半朴素贝叶斯分类器,我们需要以下步骤:

🔍 21. 与线性回归相比较,贝叶斯回归有哪些特点?

线性回归
  • 模型假设
    • 假设输出 y 与输入 X 存在线性关系:
    y = Xw + \epsilon
    y = Xw + \epsilon

    其中 w是回归系数,

    \epsilon
    \epsilon

    是噪声(假设服从正态分布)。

    • 使用最小二乘法或最大似然估计找到参数 w。
  • 目标
    • 通过优化损失函数(如均方误差)找到最优的参数。
贝叶斯回归
  • 模型假设
    • 假设参数 w本身是随机变量,服从某种先验分布(如正态分布)。
    • 利用贝叶斯定理,结合数据的似然,计算参数的后验分布:
  • 目标
    • 不只是找到单一的最优参数,而是得到参数的分布,用来表达不确定性。
3. 贝叶斯回归的特点
1. 参数的概率分布
  • 贝叶斯回归不会直接给出一个确定的参数值,而是返回参数 w 的后验分布。
  • 例如,对于一个参数
w_i
w_i

,我们可以得到其均值(作为点估计)和方差(表示不确定性)。

2. 融入先验知识
  • 贝叶斯回归允许使用先验分布 P(w) 来引入先验知识。
  • 如果没有明确的先验知识,可以使用非信息性先验(如正态分布均值为0、方差较大的分布)。
3. 不确定性量化
  • 在贝叶斯回归中,预测结果不仅是一个值,还包括置信区间。
  • 例如,给定输入 X,预测的输出 y服从一个分布 P(y∣X),这可以帮助理解模型预测的可靠性。
4. 抵抗过拟合
  • 由于引入了先验分布和后验分布,贝叶斯回归天然具有正则化效果,尤其在数据量较小或高维数据中表现优越。
5. 计算复杂度较高
  • 贝叶斯回归需要计算后验分布 P(w|X, y),通常没有解析解,需要通过近似方法(如变分推断或马尔科夫链蒙特卡罗)实现。
线性回归适用场景
  • 数据量较大,特征和目标之间线性关系较强。
  • 不需要量化不确定性,主要关注点预测值。
贝叶斯回归适用场景
  • 数据稀疏,特征与目标之间可能存在不确定性。
  • 需要量化模型的不确定性或预测结果的可靠性。
  • 希望融入先验知识,比如某些特征重要性或参数分布。

🔍 22. 支持向量机中的分离超平面是如何确定的?支持向量与分离超平面之间存在何关系?

🔍 23. 试举例说明核函数技术为何能实现数据升维。

核函数技术是一种在支持向量机(SVM)和其他机器学习算法中常用的方法,它的核心思想是通过一个映射函数将低维数据映射到更高维空间,从而使原本线性不可分的数据变得线性可分。以下是核函数实现数据升维的解释和示例。

核函数的作用

核函数通过一个隐式的方式完成升维操作。我们并不直接计算数据在高维空间中的位置,而是通过核函数计算两个数据点在高维空间中的内积。这种方式既避免了高维计算的复杂性,也达到了升维的效果。

🔍 24. 试查阅资料并说明,除了支持向量机之外哪些方法中还用到了核函数技术?

1. 核岭回归(Kernel Ridge Regression)
  • 核岭回归结合了岭回归和核函数,适用于回归问题。
  • 通过核函数映射数据到高维空间,在该空间中解决非线性回归问题。
  • 应用场景:预测分析、时间序列建模。
2. 核主成分分析(Kernel PCA)
  • 核PCA扩展了主成分分析(PCA),使用核函数在高维空间中寻找数据的主要方向。
  • 能有效处理非线性降维问题。
  • 应用场景:特征提取、数据降维、模式识别。
3. 高斯过程(Gaussian Processes)
  • 高斯过程是一种非参数贝叶斯方法,核函数(称为协方差函数)定义了数据点之间的相似性。
  • 通过核函数决定预测值的平滑性和复杂度。
  • 应用场景:回归分析、不确定性建模。
4. 核K均值聚类(Kernel K-Means Clustering)
  • 核K均值通过核函数将数据映射到高维空间,使得在高维空间中计算的聚类结果可以捕获非线性结构。
  • 应用场景:复杂分布的聚类分析。
5. 核Fisher判别分析(Kernel Fisher Discriminant Analysis, KFDA)
  • 核Fisher判别分析将线性判别分析扩展到高维空间,使用核函数解决非线性分类问题。
  • 应用场景:生物信息学、图像分类。
6. 核神经网络(Kernel Neural Networks)
  • 在神经网络中使用核函数作为激活函数或构建核感知层,捕获非线性特征。
  • 应用场景:深度学习中的特征学习。
7. 核极限学习机(Kernel Extreme Learning Machine, Kernel ELM)
  • 核极限学习机结合了核函数和极限学习机的快速训练特点,用于分类和回归。
  • 应用场景:大规模非线性问题的快速建模。
8. 谱聚类(Spectral Clustering)
  • 在谱聚类中,核函数用于构建相似度矩阵,捕获数据中的非线性关系。
  • 应用场景:社交网络分析、图像分割。
9. 核偏最小二乘(Kernel Partial Least Squares, Kernel PLS)
  • 核PLS结合了偏最小二乘法和核函数,用于高维数据的回归分析。
  • 应用场景:化学计量学、基因组学。
10. 核密度估计(Kernel Density Estimation, KDE)
  • 核密度估计用于估计概率密度函数,通过核函数计算点周围的局部密度。
  • 应用场景:数据分布估计、异常检测。
小结

核函数技术通过隐式映射数据到高维空间,可以帮助解决许多非线性问题。不仅限于SVM,以上方法在分类、回归、聚类、降维和密度估计等领域均得到了广泛应用。

🔍 25. 事实上,支持向量机是一种度量学习模型,试查阅资料并说明度量学习中还有哪些经典的机器学习模型。

度量学习(Metric Learning)是一类通过学习数据之间的距离或相似性度量函数的机器学习模型。其核心思想是根据特定任务优化的距离函数,使得相似样本之间的距离更小,非相似样本之间的距离更大。在度量学习领域,除了支持向量机(SVM)之外,还有以下经典的机器学习模型:
1. K最近邻(K-Nearest Neighbors, KNN)
  • KNN使用固定的距离度量(如欧氏距离、曼哈顿距离)来分类或回归。
  • 尽管它本身不优化距离度量,但可以结合度量学习方法(如学习最优的特征空间或距离函数)。
  • 应用场景:图像分类、推荐系统。

2. 大边界最近邻(Large Margin Nearest Neighbor, LMNN)
  • LMNN是一种专门优化最近邻分类的度量学习方法。
  • 目标是学习一个距离度量,使得:
    1. 相同类别的样本靠得更近。
    2. 不同类别的样本之间有更大的边界。
  • 应用场景:小样本分类、医疗诊断。

3. 对比损失模型(Contrastive Loss Models)
  • 对比损失用于优化距离,使得相似样本之间的距离更小,不相似样本之间的距离更大。
  • 典型应用是孪生网络(Siamese Networks),通过共享权重的神经网络计算样本之间的距离。
  • 应用场景:人脸识别、语音验证。

4. 三元组损失模型(Triplet Loss Models)
  • 三元组损失基于锚点、正样本和负样本的三元组,优化距离关系:
    • 锚点与正样本的距离应小于锚点与负样本的距离。
  • 典型应用是深度学习中的图像嵌入,例如人脸识别中的 FaceNet。
  • 应用场景:图像检索、标识验证。

5. Mahalanobis距离学习
  • 通过学习一个线性变换矩阵,优化马氏距离,使其更适合当前任务。
  • 相关算法包括信息理论度量学习(Information Theoretic Metric Learning, ITML)。
  • 应用场景:聚类分析、降维。

6. 信息理论度量学习(Information Theoretic Metric Learning, ITML)
  • ITML使用信息论的方法学习一个马氏距离,使其符合特定的约束(如类间或类内距离)。
  • 强调通过优化信息增益来调整距离。
  • 应用场景:人脸验证、行为分析。

7. 核度量学习(Kernel Metric Learning)
  • 在核方法的框架下学习非线性距离度量,将样本映射到高维空间计算距离。
  • 结合核PCA、核岭回归等方法。
  • 应用场景:复杂分布数据分类、回归。

8. 深度度量学习(Deep Metric Learning)
  • 利用深度神经网络学习特征空间的非线性距离度量。
  • 通常结合对比损失、三元组损失、中心损失等目标函数。
  • 应用场景:图像检索、文本嵌入、推荐系统。

9. 正交距离判别分析(Orthogonal Distance Discriminant Analysis, ODDA)
  • 学习一个特定的线性投影,使得数据点在投影空间中的距离具有判别性。
  • 常用于降维与分类。
  • 应用场景:高维数据分析。

10. 拉普拉斯支持向量机(Laplacian SVM)
  • 结合图结构和支持向量机,通过度量学习优化输入空间的距离度量。
  • 利用图正则化方法调整SVM的分类边界。
  • 应用场景:半监督学习。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🔍 1. 对于非齐次线性模型
  • 🔍 2. 某汽车公司一年内各月份的广告投入与月销量数据如表3-28所示,试根据表中数据构造线性回归模型,并使用该模型预测月广告投入为20万元时的销量。
    • 表3-28 月广告投入与月销量数据表
  • 🔍 3. 使用表3-28中的数据集构造线性分类器,并预测月广告投入为13.5万元时月销量能否达到1.5万辆。
    • 表3-28 月广告投入与月销量数据表
  • 🔍 4. 线性判别分析的基本思想是什么?此类方法能达到什么样的效果?
  • 🔍 5. ID3、C4.5和CART决策树分别是以哪个指标进行分裂的?为什么通常情况下C4.5决策树的泛化性能要优于ID3决策树?
    • 1. 增益率的改进
    • 2. 支持连续值
    • 3. 剪枝策略
    • 4. 应用范围更广
  • 🔍 6. 分别说明信息熵、信息增益、信息增益率的概念,并说明这些指标的意义。
    • 指标之间的关系与区别
    • 这些指标的意义
  • 🔍 7. 试使用信息增益作为判别标准,对如表3-29所示的数据集进行一次划分。
    • 表3-29 天气数据集
  • 🔍 8. 试使用信息增益率作为判别标准,对如表3-29所示的数据集进行一次划分。
    • 特性:
  • 🔍 10. 预剪枝和后剪枝存在哪些相同点,又存在哪些差异?
  • 🔍 11. 已知数据集D中的数据维度为d,这些数据分属两类,若根据该数据集构造决策树,试证明得到的决策树树高不超过d+1。
    • 表3-30 客户信息数据集
  • 🔍 13. 根据表3-30中的数据集构造一棵用于判断是否提供贷款的C4.5决策树。
    • 表3-30 客户信息数据集
  • 🔍 14. 说明CART决策树的结构特点并分析CART决策树与ID3、C4.5决策树的区别。
    • 1. CART 决策树的优势
    • 2. CART 与 ID3 的区别
    • 3. CART 与 C4.5 的区别
    • 4. 总结
  • 🔍 15. 根据表3-30中的数据构造一棵用于判断是否提供贷款的无剪枝CART决策树。
    • 表3-30 客户信息数据集
  • 🔍 16. 使用表3-28中的数据集构造一棵用于预测销量的最小二乘回归树。
    • 表3-28 月广告投入与月销量数据表
  • 🔍 17. 贝叶斯学派与频率学派之间存在哪些不同观点?
  • 🔍 18. 朴素贝叶斯分类器、半朴素贝叶斯分类器的假设前提分别是什么?
    • 1. 朴素贝叶斯分类器的假设前提
      • 核心假设:特征条件独立性
      • 优点和限制
      • 适用场景
    • 2. 半朴素贝叶斯分类器的假设前提
      • 核心假设:部分特征依赖
      • 常见模型
      • 优点和限制
      • 适用场景
  • 🔍 19. 根据表3-30中的数据集构造一个用于判断是否提供贷款的朴素贝叶斯分类器。
    • 表3-30 客户信息数据集
  • 🔍 20. 假设表3-30中数据集的其他属性均依赖于“年龄”,试根据该数据集构造一判断是否提供贷款的半朴素贝叶斯分类器。
    • 表3-30 客户信息数据集
    • 1. 什么是半朴素贝叶斯分类器?
    • 2.具体步骤
  • 🔍 21. 与线性回归相比较,贝叶斯回归有哪些特点?
    • 线性回归
    • 贝叶斯回归
    • 3. 贝叶斯回归的特点
      • 1. 参数的概率分布
      • 2. 融入先验知识
      • 3. 不确定性量化
      • 4. 抵抗过拟合
      • 5. 计算复杂度较高
      • 线性回归适用场景
      • 贝叶斯回归适用场景
  • 🔍 22. 支持向量机中的分离超平面是如何确定的?支持向量与分离超平面之间存在何关系?
    • 核函数的作用
  • 🔍 24. 试查阅资料并说明,除了支持向量机之外哪些方法中还用到了核函数技术?
    • 1. 核岭回归(Kernel Ridge Regression)
    • 2. 核主成分分析(Kernel PCA)
    • 3. 高斯过程(Gaussian Processes)
    • 4. 核K均值聚类(Kernel K-Means Clustering)
    • 5. 核Fisher判别分析(Kernel Fisher Discriminant Analysis, KFDA)
    • 6. 核神经网络(Kernel Neural Networks)
    • 7. 核极限学习机(Kernel Extreme Learning Machine, Kernel ELM)
    • 8. 谱聚类(Spectral Clustering)
    • 9. 核偏最小二乘(Kernel Partial Least Squares, Kernel PLS)
    • 10. 核密度估计(Kernel Density Estimation, KDE)
    • 小结
  • 🔍 25. 事实上,支持向量机是一种度量学习模型,试查阅资料并说明度量学习中还有哪些经典的机器学习模型。
    • 度量学习(Metric Learning)是一类通过学习数据之间的距离或相似性度量函数的机器学习模型。其核心思想是根据特定任务优化的距离函数,使得相似样本之间的距离更小,非相似样本之间的距离更大。在度量学习领域,除了支持向量机(SVM)之外,还有以下经典的机器学习模型:
    • 1. K最近邻(K-Nearest Neighbors, KNN)
    • 2. 大边界最近邻(Large Margin Nearest Neighbor, LMNN)
    • 3. 对比损失模型(Contrastive Loss Models)
    • 4. 三元组损失模型(Triplet Loss Models)
    • 5. Mahalanobis距离学习
    • 6. 信息理论度量学习(Information Theoretic Metric Learning, ITML)
    • 7. 核度量学习(Kernel Metric Learning)
    • 8. 深度度量学习(Deep Metric Learning)
    • 9. 正交距离判别分析(Orthogonal Distance Discriminant Analysis, ODDA)
    • 10. 拉普拉斯支持向量机(Laplacian SVM)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档