机器学习实战书-第一章笔记

本文详细介绍了监督学习的概念,包括其使用的两类目标变量:标称型和数值型,并概述了从k-近邻算法到AdaBoost的多种分类算法。同时,文章强调了选择合适算法的依据,以及开发机器学习应用程序的六个关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几章主要讲的是监督学习。

监督学习一般使用两种类型的目标变量: 标称型和数值型。标称型目标变量的结果只在有限目标集中取值,如真与假、动物分类集合{ 爬行类、鱼类、哺乳类、两栖类、植物、真 菌 };数值型目标变量则可以从无限的数值集合中取值,如 0.10042.001、 1000.743等 。数值型目标变量主要用于回归分析。

前七章主要研究分类算法:第二章----->最简单的分类算法:k-近邻算法,它使用距离矩阵进行分类;

                                      第三章----->引入决策树,它比较直观容易理解,但是相对难于实现;

           第四章------>讨论如何使用概率论建立分类器;

           第五章------->讨论Logistic回归,如何使用最优参数正确地分类原始数据,在搜索最优参数的过程中,将使用几种经常用到的优化算法;

          第六章-------->介绍了支持向量机

          第七章-------->介绍了元算法———AdaBoost,它由若干个分类器构成

我们决定使用某个机器学习算法进行分类, 首先需要做的是算法训练, 即学习如何分类。通常我们为算法输人大量已分类数据作为算法的训练集。 训练集是用于训练机器学习算法的数据样本集合。目标变量是机器学习算法的预测结果,在分类算法中目标变量的类型通常是标称型的,而在回归算法中通常是连续型的。训练样本集必须确定知道目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系。

为了测试机器学习算法的效果,通常使用两套独立的样本集:训练数据和测试数据。当机器学习程序开始运行时,使用训练样本集作为算法的输人,训练完成之后输人测试样本。

机器学习的另一项任务是回归,它主要用于预测数值型数据

 

------->如何选择合适的算法:

选择实际可用的算法,必须考虑下面两个问题:一 、使用机器学习算法的目的,想要算法完成何种任务;二、需要分析或收集的数据是什么;

      首先考虑使用机器学习算法的目的。如果想要预测目标变量的值, 则可以选择监督学习算法,否则可以选择无监督学习算法。确定选择监督学习算法之后,需要进一步确定目标变量类型,如果目标变量是离散型,如是/否、1/2/3冗或者红//黑等,则可以选择分类器算法;如果目标变量是连续型的数值,如0.0~ 100.00-999~999或者+00~-00等 ,则需要选择回归算法。

       如果不想预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分为离散的组。如果这是唯一的需求,则使用聚类算法;如果还需要估计数据与每个分组的相似程度 ,则需要使用密度估计算法。

---------->开发机器学习应用程序的步骤:

(1)收集数据

(2)准备输入数据------>得到数据之后, 还必须确保数据格式符合要求,需要为机器学习算法准备特定的数据格式,如某些算法要求特征值使用特定的格式,一些算法要求目标变量和特征值是字符串类型,而另一些算法则可能要求是整数类型

(3)分析输入数据------>此步骤主要是人工分析以前得到的数据。为了确保前两步有效,最简单的方法是用文本编辑器打开数据文件,査看得到的数据是否为空值。此外,还可以进一步浏览数据 ,分析是否可以识别出模式;数据中是否存在明显的异常值,如某些数据点与数据集中的其他值存在明显的差异。通过一维、二维或三维图形展示数据也是不错的方法,然而大多数时候我们得到数据的特征值都不会低于三个, 无法一次图形化展示所有特征。本书的后续章节将会介绍提炼数据的方法,使得多维数据可以压缩到二维或三维,方便我们图形化展示数据。
这一步的主要作用是确保数据集中没有垃圾数据

(4)训练算法----------->根据算法的不同,第4步和第5步是机器学习算法的核心。我们将前两步得到的格式化数据输入到算法,从中抽取知识或信息。这里得到的知识需要存储为计算机可以处理的格式,方便后续步骤使用。

           如果使用无监督学习算法,由于不存在目标变量值,故而也不需要训练算法,所有与算法相关的内容都集中在第5

(5)测试算法---------->这一步将实际使用第4步机器学习得到的知识信息。为了评估算法,必须测试算法工作的效果。对于监督学习,必须已知用于评估算法的目标变量值;对于无监督学习,也必须用其他的评测手段来检验算法的成功率。无论哪种情形,如果不满意算法的输出结果, 则可以回到第4步 ,改正并加以测试。问题常常会跟数据的收集和准备有关,这时你就必须跳回第1步重新开始.

(6)使用算法---------> 将机器学习算法转换为应用程序,执行实际任务,以检验上述步骤是否可以在实际环境中正常工作。此时如果碰到新的数据问题,同样需要重复执行上述的步骤。

 

 

Numpy函数库基础:

 

调用mat()函数可以将数组转化成矩阵,输入下述命令:randMat = mat(random.rand(4,4))

    randMat.I         :  I 操作符实现了矩阵求逆的运算

转载于:https://www.cnblogs.com/xiaolong19910914/p/7486568.html

### 《机器学习战》第五章 学习笔记 总结 #### Logistic 回归简介 Logistic 回归是一种广泛应用于分类问题的监督学习算法。其核心思想是通过现有数据对分类边界线建立回归公式,以此现分类任务[^3]。传统的线性回归不同,Logistic 回归使用 Sigmoid 函数将输出值映射到 [0, 1] 区间内,从而表示某一类别的概率。 #### Logistic 回归的数学模型 Logistic 回归的目标是找到最佳拟合参数集,使得模型能够准确地预测样本属于某一类别的概率。Sigmoid 函数的形式如下: ```python import numpy as np def sigmoid(z): return 1.0 / (1.0 + np.exp(-z)) ``` 其中,`z = w^T * x + b`,`w` 和 `b` 分别为权重向量和偏置项,`x` 为输入特征向量。 #### 参数优化方法 在训练分类器时,寻找最佳拟合参数的关键在于使用最优化算法。常见的优化方法包括梯度下降法、随机梯度下降法以及改进版的优化算法如 L-BFGS 和牛顿法等。以梯度下降为例,更新规则如下: ```python alpha = 0.01 # 学习率 weights = np.zeros((n, 1)) # 初始化权重 for i in range(num_iterations): h = sigmoid(np.dot(X, weights)) gradient = np.dot(X.T, (h - y)) / m weights -= alpha * gradient ``` 上述代码展示了如何通过梯度下降法逐步调整权重向量 `weights`,以最小化损失函数[^3]。 #### 特征选择正则化 在际应用中,为了防止过拟合,通常需要对模型进行正则化处理。L2 正则化(Ridge 回归)是一种常用的方法,其目标函数形式为: \[ J(w) = -\sum_{i=1}^{m} [y^{(i)} \log(h_w(x^{(i)})) + (1-y^{(i)}) \log(1-h_w(x^{(i)}))] + \lambda ||w||_2^2 \] 其中,\(\lambda\) 控制正则化的强度。 #### 应用场景 Logistic 回归适用于二分类问题,也可通过扩展为多分类问题(如 One-vs-All 方法)。此外,它还被广泛应用于医疗诊断、信用评分、垃圾邮件检测等领域。 #### 注意事项 在使用 Logistic 回归时,需要注意以下几点: 1. 数据预处理:确保输入特征已经标准化或归一化。 2. 类别不平衡问题:当正负样本比例差异较大时,可能需要调整阈值或使用其他评估指标(如 F1 值)。 3. 模型解释性:Logistic 回归具有良好的可解释性,适合对模型透明度要求较高的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值