机器学习笔记(十一)——逻辑回归

一、引言

    虽然说是逻辑回归,其实既可以用它做回归,也可以用它做分类。一般我们从最简单的二分类问题开始了解他,当然也可以做多分类。

二、Logistic Regression 的一般步骤

  1. 找一个合适的假设
  2. 构造损失函数
  3. 让损失函数最小,求出对应的参数值

三、二分类问题下Logistic Regression的过程

3.1 Logistic Function

    在机器学习笔记(十)——Logistic Function AND Softmax Function中我们已经讨论过了Logistic 函数,因此,建议不熟悉的读者参考上述文章。

3.2 找一个合适的假设

    假设样本是各个贷款人的信息,标签是他是否违约。目标是建立一个模型,用来预测一个贷款人违约的可能性,而银行根据这个信息决定是否放款给当前的贷款人。那么,很明显,这是一个分类问题,根据贷款人的一些信息和已知的标签,我们建立模型,去预测新来的贷款人违约的可能性。这里将贷款人的各个信息,如学历、年收入、信用卡违约次数等作为x,将他是否违约记为y,其中y=1表示违约,y=0表示不违约。那么,一个贷款人违约的可能性为:

hθ(x)=g(θTx)=11+eθTx

其中, θ是参数向量。通过上式,可以将借款人的各个信息映射到(0,1)之间,表示他是否违约的可能性。
P(y=1|x;θ)=hθ(x)P(y=0|x;θ)=1hθ(x)

将上式表示成一个式子:
P(y|x;θ)=hθ(x)y(1hθ(x))1y

至此,得到了一个给定贷款人信息时,他违约概率的表达式。

3.3 构造损失函数

    在整个样本集中,m个独立样本出现的似然函数是:

L(θ)=i=1mP(yi|xi;θ)

利用最大似然求θ,取对数最大似然:

l(θ)=logL(θ)=i=1mlogP(yi|xi;θ)

定义下式为损失函数:
J(θ)=1ml(θ)=1mi=1mlog[hθ(xi)yi(1hθ(xi))1yi]=1mi=1m{yiloghθ(xi)+(1yi)log[1hθ(xi)]}

最大化 l(θ)相当于最小化 J(θ).

3.4 让损失函数最小,求出对应的参数值

    优化的目标函数如下:

minJ(θ)

由于上式中的 θ是一个参数向量,因此,没办法用函数导数等于0直接求出,它是没有解析解的,因此,我们可以采用梯度下降的方法求得极小值。梯度下降方法请参照 最优化学习笔记(三)——梯度下降法。
J(θ)θ=1mi=1m{T(θ)θ}(1)

其中:
T(θ)=yloghθ(x)+(1y)log[1hθ(x)]

T(θ)θ=y1hθ(x)hθ(x)θ+(1y)11hθ(x)(hθ(x)θ)=hθ(x)θ(yhθ(x)+(y1)1hθ(x))=hθ(x)θ(yhθ(x)hθ(x)(1hθ(x)))

因为:
hθ(x)θ=hθ(x)(1hθ(x))x

则:
T(θ)=(yhθ(x))x

由于取的是样本集中的第 i 个样本,所以将上式代入(1)
J(θ)θ=1mi=1m(yihθ(xi))xi=1mi=1m(hθ(xi)yi)xi

这样,就可以得到 θ的迭代公式:
θ=θ+αJ(θ)θ=θ+α1mi=1m(hθ(xi)yi)xi2

需要说明的是,我们可以从2式中看出,每次计算一次 θ,都要进行全部样本数据的计算,直到 θ收敛,还有一种可以采用随机梯度法进行计算,这样只需要遍历一遍数据集即可,下次讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch vs. Solr

为何日志服务商Loggly选择ElasticSearch而非Solr. 原文链接: http://loggly.wpengine.com/bl... 在Gen2产品的早期阶段, 我们事实上是失败的, 这促使我们重新审视我们现有的技术栈. 我们仔细分析系统中的每个独立的组件,并记录下来, 当然其中也包括构成我们核心功能的搜索引擎技…

android 工程结构,它到底是怎么运行的。

为了帮助理解,我决定先上传一个工程截图,这个是我做的一个小作业,3、4个小时完成,没什么含金量,就是交差用的,这里给大家做个模板吧。 我把一个工程分6个部分,如左面的图所示,然后…

为什么ElasticSearch应用开发者需要了解cluster state

原文链接: https://www.loggly.com/blog/p... 在前面的文章(ES vs Solr)中我们提到, ES构建了Loggly的很多核心功能. 在把这项通用搜索技术用于我们的日志管理系统, 并为超过5000多客户提供准实时服务的过程中, 我们在技术上成长颇多. 按照我们对开源社区的尊重, 在此希望能把我…

给 MySQL 增加 Sequence 管理功能

-- Sequence 管理表 DROP TABLE IF EXISTS sequence; CREATE TABLE sequence ( name VARCHAR(50) NOT NULL, current_value INT NOT NULL, increment INT NOT NULL DEFAULT 1, PRIMARY KEY (name) ) ENGINEInnoDB; -- 取当前值的函数 DROP FUNCTION IF EXISTS currval; DE…

最优化学习笔记(六)——牛顿法性质分析

一、牛顿法存在的问题 在单变量的情况下&#xff0c;如果函数的二阶导数f′′<0&#xff0c;牛顿法就无法收敛到极小点。类似的&#xff0c;在多变量的情况下&#xff0c;目标函数的hessian矩阵F(x(k))非正定&#xff0c;牛顿法的搜索方向并不一定是目标函数值的下降方向。甚…

从FLC中学习的设计模式系列-创建型模式(3)-工厂方法

工厂方法是一组方法&#xff0c; 他们针对不同条件返回不同的类实例&#xff0c;这些类一般有共同的父类。 工厂方法模式 来自&#xff1a; http://zh.wikipedia.org/wiki/工厂方法模式 工厂方法模式 是一种面向对象的设计模式。通过调用不同的方法返回需要的类&#xff0c;而不…

Elasticsearch索引的数据存储路径是如何确定的

Elasticsearch中&#xff0c;在node的配置中可以指定path.data用来作为节点数据的存储目录&#xff0c;而且我们可以指定多个值来作为数据存储的路径&#xff0c;那么Elasticsearch是如何判断应该存储到哪个路径下呢&#xff1f;今天我就记录一下这个问题。 Elasticsearch的索…

带分页码的分页算法

int start 1, end 10;//如果总页数小于结束页码if (PageCount < end){//则结束页码为总页数end PageCount;}else{//当前页大于5后开始重新计算起始页,否则起始页为1start PageIndex > 5 ? PageIndex - 5 : start;//起始页码加9减去总页数,用于查看是否超过了总页数i…

最优化学习笔记(七)——Levenberg-Marquardt修正(牛顿法修正)

上节末尾谈到牛顿法中隐含的另外一个问题在于hessian矩阵可能不是正定的。因此&#xff0c;d(k)−F(x(k))−1g(x(k))\boldsymbol{d}^{(k)} = -\boldsymbol{F}(\boldsymbol{x}^{(k)})^{-1}\boldsymbol{g(x^{(k)})} 可能不会是下降方向。Levenberg-Marquardt修正可以解决这个问…

Elasticsearch内存

核心概念 基于LuceneJava应用 内存使用分析 Lucene的内存消耗 倒排索引。&#xff08;堆内存&#xff09; Lucene中&#xff0c;索引是存储在磁盘中&#xff0c;一个索引&#xff08;Index&#xff09;由多个段&#xff08;Segment&#xff09;组成。当启动IndexSearcher时&…

Canal数据堆积

记录一下canal的问题。数据同步一直使用阿里开源的canal&#xff0c;最近使用过程中遇到一些问题&#xff0c;在这里记录一下。 原因 我们使用canal监听MySQL&#xff0c;然后通过client获取发送到mq&#xff08;自定义格式&#xff09;。最近数据组的同事批量更新了一次数据…

最优化学习笔记(八)——共轭方向法

从这节开始&#xff0c;将学习共轭方向法的相关内容&#xff0c;本篇先做一个简短的开篇。共轭方向法的计算效率不如之前的牛顿法&#xff0c;但是也优于最速下降法。它有以下优势&#xff1a; 对于n维二次型问题,能够在n步之内得到结果&#xff1b;作为共轭方向的典型代表&am…

解决PhoneGap在Android手机上的全屏问题

目前&#xff0c;结合PhoneGap 框架使用HTML5JavaScriptCSS3开发Android或IOS系统上的应用和游戏已经成为可能性&#xff0c;这两天自己使用HTML5开发了一款小型悠闲游戏&#xff0c;使用PhoneGap打包成APK运行在Android手机上&#xff0c;却遇到不能全屏&#xff0c;想了好久&…

ES学习笔记之-ClusterState的学习

前面研究过ES的get api的整体思路&#xff0c;作为编写ES插件时的借鉴。当时的重点在与理解整体流程&#xff0c;主要是shardOperation()的方法内部的调用逻辑&#xff0c;就弱化了shards()方法。实际上shards()方法在理解ES的结构层面&#xff0c;作用更大一些。我们还是从get…

最优化学习笔记(九)——基本的共轭方向算法

一、基本共轭方向算法 对于n维二次型函数的最小化问题: f(x)=12xTQx−xTb f(x)=\frac{1}{2}\boldsymbol{x^TQx-x^Tb}其中&#xff0c;QQT>0,x∈Rn。因为Q>0,所以函数f有一个全局极小点,可以通过求解Qx=b得到。 基本共轭方向算法 给定初始点x(0)和一组关于Q共轭的方向…

HTML简单实例加表单的显示效果

HTML可以说是一种十分简单的标记语言&#xff0c;但是对于Web开发还是必不可少的&#xff0c;所以对HTML的标记进行适当的了解 还是十分有必要的。下面我们来演示一下基本的HTML效果和一些简单的标签&#xff0c;以及在表单界面的各种提交方式。 首先是HTML的常用简单标签。 &l…

机器学习笔记(十二)——马尔科夫模型

马尔科夫模型是一种概率图模型&#xff0c;它描述了一类重要的随机过程(随机过程又称为随机函数&#xff0c;是随时间而随机变化的过程)。我们常常需要考察一个随机变量序列&#xff0c;这些随机变量序列并不是相互独立的&#xff0c;每个随机变量的值都依赖于这个序列前边的状…

用Java代码在ElasticSearch中索引PDF文件?

以下是我的代码&#xff1a; InputStream inputStream new FileInputStream(new File("mypdf.pdf"));try {byte[] fileByteStream IOUtils.toByteArray(inputStream );String base64String new String(Base64.getEncoder().encodeToString(fileByteStream).getBy…

美国影视演员协会选择了Windows Azure

娱乐行业的主要组织之一的美国影视演员协会&#xff08;SAG&#xff09;最近因云计算的需要选择Windows Azure解决方案。美国影视演员协会将他们的网站从基于Linux的服务器迁移到支持他们的最大年度事件——美国演员工会奖的Windows Azure上。 每年的年度颁奖典礼的到来标志着一…

最优化学习笔记(十)——对偶线性规划

一、对偶问题 每个线性规划问题都有一个与之对应的对偶问题。对偶问题是以原问题的约束条件和目标函数为基础构造而来的。对偶问题也是一个线性规划问题&#xff0c;因此可以采用单纯形法&#xff08;有关单纯形法会在以后的笔记中补充&#xff09;求解。对偶问题的最优解也可以…