本来想发在知乎专栏的,但是文章死活提交不了,我也是醉了,于是乎我就干脆提交到CNBLOGS了. 前言 前段时间我们介绍了Logistic的数学原理和C语言实现,而我呢?其实还是习惯使用Matlab进行计算的,而且是不带C的Matlab.(主要我们都用Windows) 那为什么要用SQL实现呢?(准确的说是PL/SQL) 因为我发现数据一次性加载进内存里面太大了,直接在SELECT的时候OutOfMemory了(其实数据是勉强能装进内存的,只是SELECT的时候产生的对象太多) 更主要的原因是因为…
参数设置 α: 梯度上升算法迭代时候权重更新公式中包含 α :  http://blog.csdn.net/lu597203933/article/details/38468303 为了更好理解 α和最大迭代次数的作用,给出Python版的函数计算过程. # 梯度上升算法-计算回归系数 # 每个回归系数初始化为1 # 重复R次: # 计算整个数据集的梯度 # 使用α*梯度更新回归系数的向量 # 返回回归系数 def gradAscent(dataMatIn, classLabels,alpha=…
在手撕机器学习系列文章的上一篇,我们详细讲解了线性回归的问题,并且最后通过梯度下降算法拟合了一条直线,从而使得这条直线尽可能的切合数据样本集,已到达模型损失值最小的目的. 在本篇文章中,我们主要是手撕Logistic回归,这个在李航老师的<统计学习方法>一书中也叫做为逻辑斯谛回归.听到回归一词,有的读者可能会想,上一篇线性回归求解的是拟合问题,这篇文章手撕的是Logistic回归,会不会也是一个拟合问题?只不过使用到的算法原理不同而已,而求解的问题是一致的??? 其实不然,Logistic回归…
最近在github上看到一个很有趣的项目,通过文本训练可以让计算机写出特定风格的文章,有人就专门写了一个小项目生成汪峰风格的歌词.看完后有一些自己的小想法,也想做一个玩儿一玩儿.用到的原理是深度学习里的循环神经网络,无奈理论太艰深,只能从头开始开始慢慢看,因此产生写一个项目的想法,把机器学习和深度学习里关于分类的算法整理一下,按照原理写一些demo,方便自己也方便其他人.项目地址:https://github.com/LiuRoy/classfication_demo,目前实现了逻辑回归和神经网…
本文申明:本系列笔记全部为原创内容,如有转载请申明原地址出处.谢谢 序言:what is logistic regression? Logistics 一词表示adj.逻辑的;[军]后勤学的n.[逻]数理逻辑;符号逻辑;[军]后勤学, “回归”是由英国著名生物学家兼统计学家高尔顿在研究人类遗传问题时提出来的.为了研究父代与子代身高的关系,高尔顿搜集了1078对父亲及其儿子的身高数据.他发现这些数据的散点图大致呈直线状态,也就是说,总的趋势是父亲的身高增加时,儿子的身高也倾向于增加.但是,高尔顿对…
本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 闲话:二项Logistic回归是我去年入门机器学习时学的第一个模型(忘记了为什么看完<统计学习方法>第一章之后直接就跳去了第六章,好像是对"逻辑斯蒂"这个名字很感兴趣?...),对照<机器学习实战>写了几行代码敲了一个toy版本,当时觉得还是挺有意思的.我觉得这个模型很适合用来入门(但是必须注意这个模型有很多很多很多很多可以展开…
1.基于Logistic回归和Sigmoid函数的分类 2.基于最优化方法的最佳回归系数确定 2.1 梯度上升法 参考:机器学习--梯度下降算法 2.2 训练算法:使用梯度上升找到最佳参数 Logistic回归梯度上升优化算法 def loadDataSet(): dataMat = []; labelMat = [] fr = open('testSet.txt') for line in fr.readlines(): lineArr = line.strip().split() dataM…
logistic回归 回归就是对已知公式的未知参数进行估计.比如已知公式是$y = a*x + b$,未知参数是a和b,利用多真实的(x,y)训练数据对a和b的取值去自动估计.估计的方法是在给定训练样本点和已知的公式后,对于一个或多个未知参数,机器会自动枚举参数的所有可能取值,直到找到那个最符合样本点分布的参数(或参数组合). logistic分布 设X是连续随机变量,X服从logistic分布是指X具有下列分布函数和密度函数: $$F(x)=P(x \le x)=\frac 1 {1+e^{-…
Logistic回归 算法优缺点: 1.计算代价不高,易于理解和实现2.容易欠拟合,分类精度可能不高3.适用数据类型:数值型和标称型 算法思想: 其实就我的理解来说,logistic回归实际上就是加了个sigmoid函数的线性回归,这个sigmoid函数的好处就在于,将结果归到了0到1这个区间里面了,并且sigmoid(0)=0.5,也就是说里面的线性部分的结果大于零小于零就可以直接计算到了.这里的求解方式是梯度上升法,具体我就不扯了,最推荐的资料还是Ng的视频,那里面的梯度下降就是啦,只不过一…
Logistic回归的使用和缺失值的处理 从疝气病预测病马的死亡率 数据集: UCI上的数据,368个样本,28个特征 测试方法: 交叉测试 实现细节: 1.数据中因为存在缺失值所以要进行预处理,这点待会再单独谈2.数据中本来有三个标签,这里为了简单直接将未能存活和安乐死合并了3.代码中计算10次求均值 缺失值的处理: 一般来说有这么几种方法处理缺失值: 人工填写缺失值 使用全局变量填充缺失值 忽略有缺失值的样本 使用属性的中心度量(均值或中位数等)填充缺失值 使用与给定元祖同一类的所有样本的属…
在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或不流失.涨或跌等,对于这类问题,线性回归将束手无策.这个时候就需要另一种回归方法进行预测,即Logistic回归. 在实际应用中,Logistic模型主要有三大用途: 1)寻找危险因素,找到某些影响因变量的"坏因素",一般可以通过优势比发现危险因素: 2)用于预测,可以预测某种情况发生的概…
Lofistic回归模型也可以用于配对资料,但是其分析方法和操作方法均与之前介绍的不同,具体表现 在以下几个方面1.每个配对组共有同一个回归参数,也就是说协变量在不同配对组中的作用相同2.常数项随着配对组变化而变化,反映了非实验因素在配对组中的作用,但是我们并不关心其大小, 因此在拟合时采用条件似然函数代替了一般似然函数,从而在拟合中消去了反映层因素的参数. SPSS中没有直接拟合配对Logistic回归模型的过程,需要对数据进行一些处理,采用其他方法进行拟合,拟合方法有变量差值拟合和COX模型…
前面我们说过二分类Logistic回归模型,但分类变量并不只是二分类一种,还有多分类,本次我们介绍当因变量为多分类时的Logistic回归模型. 多分类Logistic回归模型又分为有序多分类Logistic回归模型和无序多分类Logistic回归模型 一.有序多分类Logistic回归模型 有序多分类Logistic回归模型拟合的基本方法是拟合因变量水平数-1个Logistic回归模型,也称为累积多分类Logit模型,实际上就是将因变量依次分割成两个等级,对这两个等级建立二分类Logistic…
对于分类变量,我们知道通常使用卡方检验,但卡方检验仅能分析因素的作用,无法继续分析其作用大小和方向,并且当因素水平过多时,单元格被划分的越来越细,频数有可能为0,导致结果不准确,最重要的是卡方检验不能对连续变量进行分析. 使用线性回归模型可以解决上述的部分问题,但是传统的线性模型默认因变量为连续变量,当因变量为分类变量时,传统线性回归模型的拟合方法会出现问题,因此人们继续发展出了专门针对分类变量的回归模型.此类模型采用的基本方法是采用变量变换,使其符合传统回归模型的要求.根据变换的方法不同也就衍…
前言 本文将介绍机器学习分类算法中的Logistic回归分类算法并给出伪代码,Python代码实现. (说明:从本文开始,将接触到最优化算法相关的学习.旨在将这些最优化的算法用于训练出一个非线性的函数,以用于分类.) 算法原理 首先要提到的概念是回归. 对于回归这个概念,在以后的文章会有系统而深入的学习.简单的说,回归就是用一条线对N多数据点进行一个拟合,这个拟合的过程就叫做回归. Logistic回归分类算法就是对数据集建立回归公式,以此进行分类. 而至于如何寻找最佳回归系数,或者说是分类器的…
本章内容 □sigmod函数和logistic回归分类器 □最优化理论初步□梯度下降最优化算法□数据中的缺失项处理 这会是激动人心的一章,因为我们将首次接触到最优化算法.仔细想想就会发现,其实我们日常生活中遇到过很多最优化问题,比如如何在最短时间内从入点到达氏点?如何投人最少工作量却获得最大的效益?如何设计发动机使得油耗最少而功率最大?可风,最优化的作用十分强大.接下来,我们介绍几个最优化算法,并利用它们训练出一个非线性函数用于分类.读者不熟悉回归也没关系,第8章起会深入介绍这一主题.假设现在有…
(手机的颜色,大小,用户体验来加权统计总体的值)极大似然估计MLE 1.Logistic回归 Logistic regression (逻辑回归),是一种分类方法,用于二分类问题(即输出只有两种).如用于广告预测,也就是根据某广告被用户点击的可能性,把最可能被用户点击的广告摆在用户能看到的地方,结果是用户要么点击要么不点击. 通常两类使用类别标号0和1表示,0表示不发生,1表示发生. 问题引入 例如:有100个手机,其中有30个是你喜欢的,70个是不喜欢的.现预测你对第101个手机的喜好.这是一…
回归分析是研究变量之间定量关系的一种统计学方法,具有广泛的应用. Logistic回归模型 线性回归 先从线性回归模型开始,线性回归是最基本的回归模型,它使用线性函数描述两个变量之间的关系,将连续或离散的自变量映射到连续的实数域. 模型数学形式: 引入损失函数(loss function,也称为错误函数)描述模型拟合程度: 使J(w)最小,求解优化问题得到最佳参数. Logistic回归 logistic回归(Logistic regression 或 logit regression)有时也被…
一.模型简介 线性回归默认因变量为连续变量,而实际分析中,有时候会遇到因变量为分类变量的情况,例如阴性阳性.性别.血型等.此时如果还使用前面介绍的线性回归模型进行拟合的话,会出现问题,以二分类变量为例,因变量只能取0或1,但是拟合出的结果却无法保证只有这两个值. 那么使用概率的概念来进行拟合是否可以呢?答案也是否定的,因为1.因变量的概率和自变量之间的关系不是线性的,通常呈S型曲线,并且这种曲线是无法通过曲线直线化进行处理的.2.概率的取值应该在0-1之间,但是线性拟合的结果范围是整个实数集,并…
1.梯度上升优化 1). 伪代码: 所有回归系数初始化为1-------------------weights = ones((colNum,1)) 重复r次: 计算整个数据集的梯度gradient 使用alpha*gradient更新回归系数的向量 返回回归系数weights 2). 迭代r次的代码: for k in range(r): #heavy on matrix operations h = sigmoid(dataMatrix*weights) #matrix mult error…
原文见 http://blog.csdn.net/acdreamers/article/details/27365941 Logistic回归为概率型非线性回归模型,是研究二分类观察结果与一些影响因素之间关系的一种多 变量分析方法.通常的问题是,研究某些因素条件下某个结果是否发生,比如医学中根据病人的一些症状来判断它是 否患有某种病. 在讲解Logistic回归理论之前,我们先从LR分类器说起.LR分类器,即Logistic Regression Classifier. 在分类情形下,经过学习后…
解释 Logistic回归用于寻找最优化算法. 最优化算法可以解决最XX问题,比如如何在最短时间内从A点到达B点?如何投入最少工作量却获得最大的效益?如何设计发动机使得油耗最少而功率最大? 我们可以看到最XX问题,有寻找最小(最短时间)和最大等. 解决最小类问题会使用梯度下降法.可以想象为在一个山坡上寻找最陡的下坡路径. 同理,解决最大类问题会使用梯度上升法.可以想象为在一个山坡上寻找最陡的上坡路径. 寻找最优化算法,可以通过试图找到一个阶跃函数(step function),由于阶跃函数只返回…
判断学习速率是否合适?每步都下降即可.这篇先不整理吧... 这节学习的是逻辑回归(Logistic Regression),也算进入了比较正统的机器学习算法.啥叫正统呢?我概念里面机器学习算法一般是这样一个步骤: 1)对于一个问题,我们用数学语言来描述它,然后建立一个模型,例如回归模型或者分类模型等来描述这个问题: 2)通过最大似然.最大后验概率或者最小化分类误差等等建立模型的代价函数,也就是一个最优化问题.找到最优化问题的解,也就是能拟合我们的数据的最好的模型参数: 3)然后我们需要求解这个代…
Logistic 回归 通常是二元分类器(也可以用于多元分类),例如以下的分类问题 Email: spam / not spam Tumor: Malignant / benign 假设 (Hypothesis):$$h_\theta(x) = g(\theta^Tx)$$ $$g(z) = \frac{1}{1+e^{-z}}$$ 其中g(z)称为sigmoid函数,其函数图象如下图所示,可以看出预测值$y$的取值范围是(0, 1),这样对于 $h_\theta(x) \geq 0.5$, 模…
写在前面:在本篇博客中,旨在对线性回归从新的角度考虑,然后引入解决线性回归中会用到的最大似然近似(Maximum Likelihood Appropriation-MLA) 求解模型中的参数,以及梯度下降法解决MLA.然后分析加入不同范数(L0, L1, L2)对线性回归的影响.其次,另外一个重点是Logistic回归,他们分别用来 做回归和分类.线性回归与Logistic回归的区别,以及由Logistic回归引出的SoftMax回归及其用途. 一.线性回归 (1)残差 对于线性回归模型,我们一…
摘要:使用logistic回归来预测某个人的入学申请是否会被接受 声明:(本文的内容非原创,但经过本人翻译和总结而来,转载请注明出处) 本文内容来源:https://www.dataquest.io/mission/59/logistic-regression   原始数据展示 这是一份美国入学申请的录取记录表,admit – 是否录取,1代表录取,0代表否定:gpa – gpa成绩,gre – 绩点 import pandas admissions = pandas.read_csv('adm…
课程大纲 欠拟合的概念(非正式):数据中某些非常明显的模式没有成功的被拟合出来.如图所示,更适合这组数据的应该是而不是一条直线. 过拟合的概念(非正式):算法拟合出的结果仅仅反映了所给的特定数据的特质. 非参数学习方法 线性回归是参数学习方法,有固定数目的参数以用来进行数据拟合的学习型算法算法称为参数学习方法.对于非参数学习方法来讲,其参数的数量随着训练样本的数目m线性增长:换句话来说,就是算法所需要的东西会随着训练集合线性增长.局部加权回归算法是非参数学习方法的一个典型代表. 局部加权回归算法…
原文:http://www.cnblogs.com/jerrylead/archive/2011/03/05/1971867.html#3281650 对线性回归,logistic回归和一般回归的认识 [转载时请注明来源]:http://www.cnblogs.com/jerrylead JerryLead 2011年2月27日 作为一个机器学习初学者,认识有限,表述也多有错误,望大家多多批评指正. 1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识.前四节主要讲述…
参考<机器学习实战> 利用Logistic回归进行分类的主要思想: 根据现有数据对分类边界线建立回归公式,以此进行分类. 分类借助的Sigmoid函数: Sigmoid函数图: Sigmoid函数的作用: 将所有特征都乘上一个回归系数,然后将所有结果值相加,将这个总和代入Sigmoid函数中,进而得到一个0-1之间的数值.任何大于0.5的数据被分1类,小于0.5分入0类. 综上,Sigmoid的输入可以记为z: 所以向量w即是我们要通过最优化方法找的系数. w向量的求解: 1).梯度上升法(思…
原文:http://blog.csdn.net/dongtingzhizi/article/details/15962797  Logistic回归总结 作者:洞庭之子 微博:洞庭之子-Bing (2013年11月) PDF下载地址:http://download.csdn.net/detail/lewsn2008/6547463 1.引言 看了Stanford的Andrew Ng老师的机器学习公开课中关于Logistic Regression的讲解,然后又看了<机器学习实战>中的Logist…