项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步

有监督学习

机器学习分为有监督学习,无监督学习,半监督学习,强化学习。对于逻辑回归来说,就是一种典型的有监督学习。
既然是有监督学习,训练集自然可以用如下方式表述:
{(x1,y1),(x2,y2),⋯,(xm,ym)}\{(x^1,y^1),(x^2,y^2),\cdots,(x^m,y^m)\}{(x1,y1),(x2,y2),⋯,(xm,ym)}

对于这m个训练样本,每个样本本身有n维特征。再加上一个偏置项x0x_0x0​, 则每个样本包含n+1维特征:
x=[x0,x1,x2,⋯,xn]Tx = [x_0,x_1,x_2,\cdots,x_n]^Tx=[x0​,x1​,x2​,⋯,xn​]T
其中 x∈Rn+1x\in R^{n+1}x∈Rn+1, x0=1x_0=1x0​=1, y∈{0,1}y\in\{0,1\}y∈{0,1}

李航博士在统计学习方法一书中给分类问题做了如下定义:
分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification).

在logistic回归详解一(http://blog.csdn.net/bitcarmanlee/article/details/51154481)中,我们花了一整篇篇幅阐述了为什么要使用logistic函数: hθ(x)=g(θTx)=11+e−θTxh_{\theta}(x) = g(\theta^{T}x) = \frac{1}{1+e^{-\theta^{T}x}}hθ​(x)=g(θTx)=1+e−θTx1​
其中一个重要的原因,就是要将Hypothesis(NG课程里的说法)的输出映射到0与1之间,既:
0≤hθ(x)≤10\le h_{\theta}(x)\le 10≤hθ​(x)≤1

同样是李航博士统计学习方法一书中,有以下描述:
统计学习方法都是由模型,策略,和算法构成的,即统计学习方法由三要素构成,可以简单表示为:
方法=模型+策略+算法方法 = 模型 + 策略 + 算法方法=模型+策略+算法

对于logistic回归来说,模型自然就是logistic回归,策略最常用的方法是用一个损失函数(loss function)或代价函数(cost function)来度量预测错误程度,算法则是求解过程,后期会详细描述相关的优化算法。

logistic函数求导

KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ g'(z) & = \fra…

此求导公式在后续推导中会使用到

常见的损失函数

机器学习或者统计机器学习常见的损失函数如下:

1.0-1损失函数 (0-1 loss function)
L(Y,f(X))={1,Y ≠f(X)0,Y = f(X)L(Y,f(X))= \begin{cases} 1 , & \text {Y $\neq$ f(X)} \\ 0, & \text{Y = f(X)} \end{cases} L(Y,f(X))={1,0,​Y ​= f(X)Y = f(X)​

2.平方损失函数(quadratic loss function)
L(Y,f(X))=(Y−f(x))2L(Y,f(X)) = (Y - f(x))^2L(Y,f(X))=(Y−f(x))2

3.绝对值损失函数(absolute loss function)
L(Y,f(x))=∣Y−f(X)∣L(Y,f(x)) = |Y - f(X)|L(Y,f(x))=∣Y−f(X)∣

4.对数损失函数(logarithmic loss function) 或对数似然损失函数(log-likehood loss function)
L(Y,P(Y∣X))=−logP(Y∣X)L(Y,P(Y|X)) = -logP(Y|X)L(Y,P(Y∣X))=−logP(Y∣X)

逻辑回归中,采用的则是对数损失函数。如果损失函数越小,表示模型越好。

说说对数损失函数与平方损失函数

在逻辑回归的推导中国,我们假设样本是服从伯努利分布(0-1分布)的,然后求得满足该分布的似然函数,最终求该似然函数的极大值。整体的思想就是求极大似然函数的思想。而取对数,只是为了方便我们的在求MLE(Maximum Likelihood Estimation)过程中采取的一种数学手段而已。

损失函数详解

根据上面的内容,我们可以得到逻辑回归的对数似然损失函数cost function:
cost(hθ(x),y)={−log(hθ(x))if y=1−log(1−hθ(x))if y=0cost(h_{\theta}(x),y) = \begin{cases} -log(h_{\theta}(x)) & \text {if y=1} \\ -log(1-h_{\theta}(x)) & \text{if y=0} \end{cases} cost(hθ​(x),y)={−log(hθ​(x))−log(1−hθ​(x))​if y=1if y=0​

稍微解释下这个损失函数,或者说解释下对数似然损失函数:
当y=1时,假定这个样本为正类。如果此时hθ(x)=1h_\theta(x)=1hθ​(x)=1,则单对这个样本而言的cost=0,表示这个样本的预测完全准确。那如果所有样本都预测准确,总的cost=0
但是如果此时预测的概率hθ(x)=0h_\theta(x)=0hθ​(x)=0,那么cost→∞cost\to\inftycost→∞。直观解释的话,由于此时样本为一个正样本,但是预测的结果P(y=1∣x;θ)=0P(y=1|x;\theta) = 0P(y=1∣x;θ)=0, 也就是说预测 y=1的概率为0,那么此时就要对损失函数加一个很大的惩罚项。
当y=0时,推理过程跟上述完全一致,不再累赘。

将以上两个表达式合并为一个,则单个样本的损失函数可以描述为:
cost(hθ(x),y)=−yilog(hθ(x))−(1−yi)log(1−hθ(x))cost(h_{\theta}(x),y) = -y_ilog(h_{\theta}(x)) - (1-y_i)log(1-h_{\theta}(x))cost(hθ​(x),y)=−yi​log(hθ​(x))−(1−yi​)log(1−hθ​(x))
因为 yiy_iyi​ 只有两种取值情况,1或0,分别令y=1或y=0,即可得到原来的分段表示式。

全体样本的损失函数可以表示为:
cost(hθ(x),y)=∑i=1m−yilog(hθ(x))−(1−yi)log(1−hθ(x))cost(h_{\theta}(x),y) = \sum_{i=1}^{m} -y_ilog(h_{\theta}(x)) - (1-y_i)log(1-h_{\theta}(x))cost(hθ​(x),y)=i=1∑m​−yi​log(hθ​(x))−(1−yi​)log(1−hθ​(x))
这就是逻辑回归最终的损失函数表达式

logistic回归详解(二):损失函数(cost function)详解相关推荐

  1. 逻辑回归损失函数(cost function)

    转载:https://www.cnblogs.com/richqian/p/4511557.html 逻辑回归模型预估的是样本属于某个分类的概率,其损失函数(Cost Function)可以像线型回归 ...

  2. EXT核心API详解(二)-Array/Date/Function/Number/String

    EXT核心API详解(二)-Array/Date/Function/Number/String Array类 indexOf( Object o )  Number object是否在数组中,找不到返 ...

  3. SpringSecurity权限管理框架系列(六)-Spring Security框架自定义配置类详解(二)之authorizeRequests配置详解

    1.预置演示环境 这个演示环境继续沿用 SpringSecurit权限管理框架系列(五)-Spring Security框架自定义配置类详解(一)之formLogin配置详解的环境. 2.自定义配置类 ...

  4. Softmax回归——logistic回归模型在多分类问题上的推广

    Softmax回归 Contents [hide] 1 简介 2 代价函数 3 Softmax回归模型参数化的特点 4 权重衰减 5 Softmax回归与Logistic 回归的关系 6 Softma ...

  5. 用python做逻辑回归梯度上升_机器学习实例---4.1、Logistic回归基础篇之梯度上升算法...

    一 前言 本文从Logistic回归的原理开始讲起,补充了书上省略的数学推导.本文可能会略显枯燥,理论居多,Sklearn实战内容会放在下一篇文章.自己慢慢推导完公式,还是蛮开心的一件事. 二 Log ...

  6. 深度学习系列--1.入坑模型: 线性回归,logistic 回归,softmax分类器

    惭愧啊,读研的时候学得正是模式识别:当看着书本上都是公式推导.博士师兄们也都在公式推导研究新算法的时候,排斥心理到了顶点,从此弃疗. 工作三年,重新捡起,因为更关注实际操作,所以选择了<pyth ...

  7. logistic回归和softmax回归

    logistic回归 在 logistic 回归中,我们的训练集由  个已标记的样本构成:.由于 logistic 回归是针对二分类问题的,因此类标记 . 假设函数(hypothesis functi ...

  8. 【机器学习】对数线性模型之Logistic回归、SoftMax回归和最大熵模型

    来源 | AI小白入门 作者 | 文杰 编辑 | yuquanle 完整代码见:原文链接 1. Logistic回归 ​ 分类问题可以看作是在回归函数上的一个分类.一般情况下定义二值函数,然而二值函数 ...

  9. [PyTorch]手动实现logistic回归(只借助Tensor和Numpy相关的库)

    文章目录 实验要求 一.生成训练集 二.数据加载器 三.手动构建模型 3.1 logistic回归模型 3.2 损失函数和优化算法 3.3 模型训练 四.训练结果 实验要求 人工构造训练数据集 手动实 ...

  10. logit回归模型假设_一文让你搞懂Logistic回归模型

    注:本文是我和夏文俊同学共同撰写的 现考虑二值响应变量 ,比如是否购车,是否点击,是否患病等等,而 是相应的自变量或者称特征.现希望构建一个模型用于描述 和 的关系,并对 进行预测. 线性模型可以吗? ...

最新文章

  1. 后台开发真的不需要看《tcpip详解》吗
  2. SQL Server 死锁的告警监控
  3. 深圳python如何评价_Python分析18万条《八佰》影评,看看观众怎么说?
  4. 使用 webpack 4 和 Babel 构建 React 应用(2018)
  5. 通过excel模板文件根据数据库数据修改其中的单元格数据
  6. XML学习笔记01【xml_基础、xml_约束】
  7. Html5 Canvas斗地主游戏
  8. PHP: 手把手编写自己的 MVC 框架实例教程
  9. 数据结构——二叉树的层次遍历进阶
  10. MySQL 添加列,修改列,删除列 的SQL写法
  11. mysql 查询auto_increment_MySQL查询数据表的Auto_Increment(自增id)
  12. 程序员编程艺术:第三章续、Top K算法问题的实现
  13. 安卓自定义注解支持和示例实现
  14. 接口做的好怎么形容_大连SIEMENS西门子M174接口plc模块
  15. 常用PAM模块--完全笔记
  16. Linux常用shell种类
  17. 互联网公司纷纷裁员,大家都在说互联网行业进入了寒冬期,你怎么看待这个说法?
  18. 图灵革命如何颠覆我们对世界的认知?
  19. 安全优雅的RESTful API签名实现方案
  20. 基于DSP的声反馈抑制系统的研究与实现_爱学术——免费下载

热门文章

  1. Spring MVC 实现文件的上传和下载
  2. OC对象之旅 weak弱引用实现分析
  3. 进程cpu使用率的计算
  4. editplus配置刷新
  5. 视频云存储平台 备忘
  6. (转)android之Fragment(官网资料翻译)
  7. Idea中找不到Java Application 的xml配置文件问题研究
  8. 博为峰JavaEE技术文章 ——MyBatis RowBounds分页
  9. neutron用linux_bridge部署provider网络
  10. 黄聪:WordPress默认编辑器可视化切换不见了,非插件导致消失问题