【大数据技术能力提升_4】logistic学习
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 常规步骤
- 寻找h函数(即预测函数)
- 构造J函数(损失函数)
- 想办法使得J函数最小并求得回归参数(θ)
公式:
- Logistic函数(或称为Sigmoid函数),函数形式为:\(g(z)=\frac{1}{1+e^x}\)
- 线性边界函数:z=\(\theta^Tx=\theta_0x_0+\theta_1x_1+\cdots+\theta_nx_n=\sum_{i=0}^{n}{\theta_ix_i}\)
- 构造预测函数:\(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) - 构造损失函数:\(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)\)
- 求解逻辑归回的方法有很多种,比如常用的“梯度下降法”和“牛顿法”
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学习的更多相关文章
- 【大数据技术能力提升_2】numpy学习
numpy学习 标签(空格分隔): numpy python 数据类型 5种类型:布尔值(bool),整数(int),无符号整数(uint).浮点(float).复数(complex) 支持的原始类型 ...
- 【大数据技术能力提升_1】python基础
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- TOP100summit:【分享实录-WalmartLabs】利用开源大数据技术构建WMX广告效益分析平台
本篇文章内容来自2016年TOP100summitWalmartLabs实验室广告平台首席工程师.架构师粟迪夫的案例分享. 编辑:Cynthia 粟迪夫:WalmartLabs实验室广告平台首席工程师 ...
- 【学习笔记】大数据技术原理与应用(MOOC视频、厦门大学林子雨)
1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可 ...
- 大数据技术 - 为什么是SQL
在大数据处理以及分析中 SQL 的普及率非常高,几乎是每一个大数据工程师必须掌握的语言,甚至非数据处理岗位的人也在学习使用 SQL.今天这篇文章就聊聊 SQL 在数据分析中作用以及掌握 SQL 的必要 ...
- 大数据技术 - MapReduce的Combiner介绍
本章来简单介绍下 Hadoop MapReduce 中的 Combiner.Combiner 是为了聚合数据而出现的,那为什么要聚合数据呢?因为我们知道 Shuffle 过程是消耗网络IO 和 磁盘I ...
- Java开发想尝试大数据和数据挖掘,如何规划学习?
大数据火了几年了,但是今年好像进入了全民大数据时代,本着对科学的钻(zhun)研(bei)精(tiao)神(cao),我在17年年初开始自学大数据,后经过系统全面学习,于这个月跳槽到现任公司. 现在已 ...
- Google大数据技术架构探秘
原文地址:https://blog.csdn.net/bingdata123/article/details/79927507 Google是大数据时代的奠基者,其大数据技术架构一直是互联网公司争相学 ...
- 开源大数据技术专场(下午):Databircks、Intel、阿里、梨视频的技术实践
摘要: 本论坛第一次聚集阿里Hadoop.Spark.Hbase.Jtorm各领域的技术专家,讲述Hadoop生态的过去现在未来及阿里在Hadoop大生态领域的实践与探索. 开源大数据技术专场下午场在 ...
随机推荐
- ThinkPHP5最新URL访问:PATH_INFO和兼容模式
https://www.jianshu.com/p/c43fb5817ae1 http://tp5.com/index.php?s=USER/manger_user/add&n=2000&am ...
- 离线安装pycharm数据库驱动
这个数据库驱动,不是python的链接包 而是打开pycharm pro版后的数据库浏览器驱动. 也就是专业版比社区版方便的一个地方,可以直接边写代码,边看数据库结构,还可以拖动一些变量. 在线安装挺 ...
- WebViewJavascriptBridge js跟app的交互框架
https://github.com/marcuswestin/WebViewJavascriptBridge 参考: https://www.cnblogs.com/LiLihongqiang/p/ ...
- [LeetCode] 407. Trapping Rain Water II 收集雨水 II
Given an m x n matrix of positive integers representing the height of each unit cell in a 2D elevati ...
- Bazel安装及使用入门
Bazel [文档][https://docs.bazel.build/versions/1.1.0/bazel-overview.html] MacOS安装 brew tap bazelbuild/ ...
- RobotFramework与Jenkins集成后发送groovy报告(比别处多了用例作者信息)
https://www.cnblogs.com/gcgc/p/10037891.html 这篇文章中最终的发送报告是这个样子,每天大家看到这封邮件后也不知道是不是自己的用例错误了,导致大家不积极回复邮 ...
- 常用的python的内置库或者第三方库
内置库:re,json,time,random,sys,os, 第三方库:转载: https://www.cnblogs.com/jiangchunsheng/p/9275881.htmlReques ...
- MySQL执行计划值type,强烈推荐
表结构: create table user ( id int primary key, name varchar(), sex varchar(), index(name) )engine=inno ...
- java内置的四大函数式接口
一.Consumer:消费型接口(void accept(T t)) 举一个例子 public class LambdaTest { @Test public void test() { happyT ...
- mac远程连接linux 服务器桌面by VNC
为了远程使用Linux服务器,折腾了一个下午.最终看来还是用vnc最简单了. 实验室有两台强劲的Linux服务器用来做研究.之前我一直都是用ssh登到服务器上去码代码,反应速度很快,感觉很不错.但是因 ...