logistic学习

标签(空格分隔): logistic sigmod函数 逻辑回归 分类


前言:
  整体逻辑回归比线性回归难理解点,其还需要《概率论与数理统计》中“二项分布”知识点的理解。
  二项分布的公式:\(P(X=k)=\left\lgroup\begin{matrix}n\cr p \end{matrix}\right\rgroup p^k (1-p)^{n-k},0<p<1,k=0,1,\cdots,n.\)
  表示在n重伯努利A实验中,发生K的概率为多少。跟n次硬币实验一致。
简介:
  logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。因此因变量就为是否胃癌,值为“是”或“否”,自变量就可以包括很多了,如年龄、性别、饮食习惯、幽门螺杆菌感染等。自变量既可以是连续的,也可以是分类的。然后通过logistic回归分析,可以得到自变量的权重,从而可以大致了解到底哪些因素是胃癌的危险因素。同时根据该权值可以根据危险因素预测一个人患癌症的可能性。
Regression 常规步骤

  1. 寻找h函数(即预测函数)
  2. 构造J函数(损失函数)
  3. 想办法使得J函数最小并求得回归参数(θ)

公式:

  1. Logistic函数(或称为Sigmoid函数),函数形式为:\(g(z)=\frac{1}{1+e^x}\)
  2. 线性边界函数:z=\(\theta^Tx=\theta_0x_0+\theta_1x_1+\cdots+\theta_nx_n=\sum_{i=0}^{n}{\theta_ix_i}\)
  3. 构造预测函数:\(h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{\theta^Tx}}\)
    注:函数h(x)的值有特殊的含义,它表示结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:
    P(y=1│x;θ)=h_θ (x)
    P(y=0│x;θ)=1-h_θ (x)
  4. 构造损失函数:\(J(\theta)=-\frac{1}{m}\left[\begin{matrix}\sum_{i=1}^{m}{(y_ilogh_{\theta}(x_i)+(1-y_i)log(1-h_{\theta}(x_i)))}\end{matrix}\right]\)

如果 y = 0, 则最小似然函数为:\(-log(1-h_{\theta}(x))\)
如果 y = 1, 则最大似然函数为:\(-logh_{\theta}(x)\)

  1. 求解逻辑归回的方法有很多种,比如常用的“梯度下降法”和“牛顿法”
    5.1 梯度下降法,是通过对\(J(\theta)\)进行一阶求导来寻找下降方法,并且用迭代的方法来更新参数,更新公式:
    \(\theta_j:=\theta_j-\alpha\frac{\delta}{\delta_{\theta_j}}J(\theta)=\theta_j-\frac{1}{m}\sum_{i=1}^{m}({h_{\theta}(x_i)-y_i)x^j_i}\)
    5.2 牛顿法,是在现有极小点估计值的附近对 f(x) 做二阶泰勒展开,进而找到极小点的下一个估计值。

PS:本篇只讲梯度下降法,牛顿法后面再加,另外具体函数推导方式会在后面以图片的形式加上来

参考文档:
机器学习算法--逻辑回归原理介绍:https://blog.csdn.net/chibangyuxun/article/details/53148005
【机器学习】逻辑回归(非常详细):https://zhuanlan.zhihu.com/p/74874291

【大数据技术能力提升_4】logistic学习的更多相关文章

  1. 【大数据技术能力提升_2】numpy学习

    numpy学习 标签(空格分隔): numpy python 数据类型 5种类型:布尔值(bool),整数(int),无符号整数(uint).浮点(float).复数(complex) 支持的原始类型 ...

  2. 【大数据技术能力提升_1】python基础

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  3. TOP100summit:【分享实录-WalmartLabs】利用开源大数据技术构建WMX广告效益分析平台

    本篇文章内容来自2016年TOP100summitWalmartLabs实验室广告平台首席工程师.架构师粟迪夫的案例分享. 编辑:Cynthia 粟迪夫:WalmartLabs实验室广告平台首席工程师 ...

  4. 【学习笔记】大数据技术原理与应用(MOOC视频、厦门大学林子雨)

    1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可 ...

  5. 大数据技术 - 为什么是SQL

    在大数据处理以及分析中 SQL 的普及率非常高,几乎是每一个大数据工程师必须掌握的语言,甚至非数据处理岗位的人也在学习使用 SQL.今天这篇文章就聊聊 SQL 在数据分析中作用以及掌握 SQL 的必要 ...

  6. 大数据技术 - MapReduce的Combiner介绍

    本章来简单介绍下 Hadoop MapReduce 中的 Combiner.Combiner 是为了聚合数据而出现的,那为什么要聚合数据呢?因为我们知道 Shuffle 过程是消耗网络IO 和 磁盘I ...

  7. Java开发想尝试大数据和数据挖掘,如何规划学习?

    大数据火了几年了,但是今年好像进入了全民大数据时代,本着对科学的钻(zhun)研(bei)精(tiao)神(cao),我在17年年初开始自学大数据,后经过系统全面学习,于这个月跳槽到现任公司. 现在已 ...

  8. Google大数据技术架构探秘

    原文地址:https://blog.csdn.net/bingdata123/article/details/79927507 Google是大数据时代的奠基者,其大数据技术架构一直是互联网公司争相学 ...

  9. 开源大数据技术专场(下午):Databircks、Intel、阿里、梨视频的技术实践

    摘要: 本论坛第一次聚集阿里Hadoop.Spark.Hbase.Jtorm各领域的技术专家,讲述Hadoop生态的过去现在未来及阿里在Hadoop大生态领域的实践与探索. 开源大数据技术专场下午场在 ...

随机推荐

  1. typescript - 6.泛型

    泛型类 class MinClas<T>{ public list:T[]=[]; add(value:T):void{ this.list.push(value); } min():T{ ...

  2. rabbitmq - 消息接收,解析xml格式数据时异常:ERROR not well-formed (invalid token): line 4, column 46

    ERROR alsv odoo.addons.cus_alsv.utils.alsv_about_mq.get_data_from_mq: parse_xml_data_from_mq: not we ...

  3. Win10 cmd控制台程序会被鼠标单击暂停的解决办法

    右键单击顶部白框,选择属性或默认值,将快速编辑模式的勾取消就可以了,最后记得点击确定

  4. bind 0.0.0.0的作用是什么呢?

    背景描述: 今天在看redis的内容,看到同事在配置文件中将bind配置为0.0.0.0进行监听,不明白什么意思就查询了下,在此记录下. 解释: 0.0.0.0在服务器的环境中,指的就是服务器上所有的 ...

  5. 如何查看Linux服务器是32位还是64位?

    使用命令 “getconf LONG_BIT” 如果返回的是32,那么就是32位 如果返回的是64,那么就是64位

  6. 【Linux】walle 部署上线单报错:mv: cannot overwrite directory ‘/www’ with non-directory

    错误截图 问题分析:项目设置中. 目标集群部署路径错误, 举例: 假设你 项目名称:laofan 在目标服务器的路径: /www/wwwdata/laofan 那么你在标集群部署路径 就可以写: /w ...

  7. Bladex-Boot使用Postman调用服务说明

    一:GitBladex-Boot项目,并启动服务 二:打开Postman 三:使用Post,调用http://localhost/blade-auth/oauth/token/ 配置:Header中增 ...

  8. MapReduce Join关联

    Reduce join 原理 Map端的主要工作:为来自不同表(文件)的key/value对打标签以区别不同来源的记录.然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出. R ...

  9. 基于卷积神经网络的人脸识别项目_使用Tensorflow-gpu+dilib+sklearn

    https://www.cnblogs.com/31415926535x/p/11001669.html 基于卷积神经网络的人脸识别项目_使用Tensorflow-gpu+dilib+sklearn ...

  10. tkinter学习笔记_05

    10.菜单 menuber import tkinter as tk root = tk.Tk() root.title("xxx") root.geometry('200x100 ...