机器学习实战第5章 Logistic回归的weights

机器学习实战第5章Logistic(page80)有如下代码:

>>> from numpy import *

>>> reload(logRegres)

>>> logRegres.plotBestFit(weights.getA())

其中的wieghts显示没有定义,实现如下:

weights = grandAscent(dataArr, labelMat)

应该是原作者忘记了weights=.


其中getA() :返回自己,但是作为ndarray返回

关于Numpy中矩阵对象(matrix)

参考:http://blog.youkuaiyun.com/qq403977698/article/details/47254539


### 《机器学习实战》第五 学习笔记 总结 #### 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 回归具有良好的可解释性,适合对模型透明度要求较高的场景。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值