Tag Archives: Logistic Regression

Python 逻辑斯特回归做二分类

最近做的泰坦尼克生还人员预测,这里给出逻辑斯特回归的代码,主要包含两部分(梯度计算和模型的简单评估,其中包括 accuracy , precision , recall , f1 )。同时也可以对梯度计算和预测的函数进行修改,实现多项式的决策边界。

有点遗憾的是,

  1. 没有实现 plot_decision_bondary 函数;
  2. 要修改特征的话有点麻烦,要同时修改梯度计算和预测的函数(懒得改了);
  3. 没有实现随机梯度下降;
  4. 梯度计算的函数想要实现一个最优解,但没有实现,懒得删了=。=

由于原本是类内函数,所以要单独使用的话需要去掉每个函数的第一个参数 self (特别地,在计算梯度时候会调用到 self.sigmoid_function)。

Continue reading

【UFLDL】Supervised Learning and Optimization——Softmax Regression

监督学习与优化(Supervised Learning and Optimization)——Softmax回归(Softmax Regression)

介绍(Introduction)

Softmax回归(或称为多元逻辑斯特回归)是通常的逻辑斯特回归用来处理多类分类问题的更一般化形式。在逻辑斯特回归中,我们假定标签都是二元的:即 \(y^{(i)} \in \{0,1\}\) 。我们曾用这样的一个分类器来做两类的手写数字分类。然而,Softmax 回归可让我们处理K类(的分类问题),其中类标签 \(y^{(i)} \in \{1,K\}\) 。 Continue reading

【UFLDL】Supervised Learning and Optimization——Vectorization

监督学习与优化(Supervised Learning and Optimization)——向量化(Vectorization)

对于类似房价数据这样的小任务数据量,我们通常使用线性回归,代码并不需要执行地非常快。然而,如果您在练习 1A 或1B里是建议使用 for 循环的,但对于较大规模的问题其执行效率就比较低了。这是因为在 MATLAB 里,循环按顺序执行整个样本是缓慢的。为了避免(使用) for 循环,我们想要重写(这部分)代码,使其能够尽可能使用在 MATLAB 里执行高效的向量或矩阵操作。(这点同样适用于其他语言,包括 Python,C/C++ —— 我们要尽可能地重用已经优化过的操作。)

下面是一些在 MATLAB 里各种向量化的操作方法。 Continue reading

【UFLDL】Supervised Learning and Optimization——Logistic Regression

监督学习与优化(Supervised Learning and Optimization)——逻辑斯特回归(Logistic Regression)

在先前的学习中,我们学习了预测连续数值的方法(如预测房价),如把输入值(如房屋大小)传给线性的函数。有时候,我们反而希望预测离散变量(Discrete Variable),如预测网格中像素强度是代表一个“0”位还是一个“1”位。此时,这便是一个分类问题,逻辑斯特回归(Logistic Regression)对于学习做这样的(分类)决策来说是一种简单的方法。 Continue reading

【MachineLearning】Regularization——Logistic Regression

针对logistic regression我们之前已经讲过两种优化方法了(使用梯度下降法来优化cost function J(θ),之后又学习了高级优化算法),本节我们将改进gradient descent方法和高级优化算法,使其能够用于regularized logistic regression。

Continue reading