CS229笔记:分类与逻辑回归】的更多相关文章

逻辑回归 对于一个二分类(binary classification)问题,\(y \in \left\{0, 1\right\}\),如果直接用线性回归去预测,结果显然是非常不准确的,所以我们采用一种新的假设函数: \[ h_{\theta}(x) = g(\theta^{T}x) = \frac{1}{1 + e^{-\theta^{T}x}} \] 其中 \[ g(z) = \frac{1}{1 + e^{-z}} \] 被称为sigmoid函数,这个函数的的值域是\((0, 1)\),且…
Logistic Regression 逻辑回归 1.模型 逻辑回归解决的是分类问题,并且是二元分类问题(binary classification),y只有0,1两个取值.对于分类问题使用线性回归不行,因为直线无法将样本正确分类. 1.1 Sigmoid Function 因为 y∈{0,1},我们也希望 hθ(x)∈{0,1}.第一种选择是 logistic函数或S型函数(logistic function/sigmoid function).g(z)值的范围在0-1之间,在z=0时为0.5…
形式: 採用sigmoid函数: g(z)=11+e−z 其导数为g′(z)=(1−g(z))g(z) 如果: 即: 若有m个样本,则似然函数形式是: 对数形式: 採用梯度上升法求其最大值 求导: 更新规则为: 能够发现,则个规则形式上和LMS更新规则是一样的.然而,他们的分界函数hθ(x)却全然不同样了(逻辑回归中h(x)是非线性函数).关于这部分内容在GLM部分解释. 注意:若h(x)不是sigmoid函数而是阈值函数: 这个算法称为感知学习算法.尽管得到更新准则尽管类似.但与逻辑回归全然不…
分类问题和线性回归问题问题很像,只是在分类问题中,我们预测的y值包含在一个小的离散数据集里.首先,认识一下二元分类(binary classification),在二元分类中,y的取值只能是0和1.例如,我们要做一个垃圾邮件分类器,则为邮件的特征,而对于y,当它1则为垃圾邮件,取0表示邮件为正常邮件.所以0称之为负类(negative class),1为正类(positive class) 逻辑回归 首先看一个肿瘤是否为恶性肿瘤的分类问题,可能我们一开始想到的是用线性回归的方法来求解,如下图:…
在之前的问题讨论中,研究的都是连续值,即y的输出是一个连续的值.但是在分类问题中,要预测的值是离散的值,就是预测的结果是否属于某一个类.例如:判断一封电子邮件是否是垃圾邮件:判断一次金融交易是否是欺诈:之前我们也谈到了肿瘤分类问题的例子,区别一个肿瘤是恶性的还是良性的. 我们先说二分类问题,我们将一些自变量分为负向类和正向类,那么因变量为0,1:0表示负向类,1表示正向类. 如果用线性回归来讨论分类问题,那么假设输出的结果会大于1,但是我们的假设函数的输出应该是在0,1之间.所以我们把输出结果在…
Logistic Regression 一.内容概要 Classification and Representation Classification Hypothesis Representation Decision Boundary Logistic Regression Model 损失函数(cost function) 简化损失函数和梯度下降算法 Advanced Optimization(高级优化方法) Solving the problem of Overfitting 什么是过拟…
  import numpy as np from matplotlib import pyplot as plt # 创建线性回归数据集 def create_dataset(): X = 2 * np.random.rand(100, 1) # 结果加上高斯噪声 y = 4 + 3*X + np.random.randn(100, 1) return X, y # 线性回归解析法:使用正态方程求解,直接得到全局最优解 def linear_regression_analysis(X, y):…
Classification It's not a good idea to use linear regression for classification problem. We can use logistic regression algorism, which is a classification algorism 想要\(0\le h_{\theta}(x) \le 1\), 只需要使用sigmoid function (又称为logistic function) \[ \larg…
代码比较简单,没啥好说的,就做个记录而已.大致就是现建立graph,再通过session运行即可.需要注意的就是Variable要先初始化再使用. import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import matplotlib.pyplot as plt # 把下载的MNIST数据集放到mnist_link目录下,用TF提供的接口解析数据集 MNIST = input_dat…
首先明白一个概念,什么是逻辑回归:所谓回归就是拟合,说明x是连续的:逻辑呢?就是True和False,也就是二分类:逻辑回归即使就是指对于二分类数据的拟合(划分). 那么什么是模型呢?模型其实就是函数.函数是由三部分组成:自变量,因变量以及参数. 此次采用模型是sigmoid函数: sigmoid函数的精妙之处就在于在x=0点出是一个分水岭,x>0y值去1,x<0 y值取0.所以sigmoid函数很像是跃阶函数. z代表什么?则代表分类的数学表达式,是函数的右侧: 那么怎么使用sigmoid阶…