给你一堆样本数据(xi,yi),并标上标签[0,1],让你建立模型(分类感知器二元),对于新给的测试数据进行分类。

要将两种数据分开,这是一个分类问题,建立数学模型,(x,y,z),z指示[0,1],那么假设模型是线性的,如下图所示。有一道线ax+b=y

那么左右两边数据实际上并不等量,那么这时最小二乘并不好用,因为它没有考虑到可能性的大小等因素。那么用最小二乘建模的比较粗糙。(并没有用到标签数据……?用到了。)而感知器又比较粗暴简单的分为0、1两种情况。实际上属于0的可能性和属于1的可能性都是有可能的,只是大或小而已。因此用Logistic回归建模的方法是最好的?(也许还有神经网络、遗传算法、灰度模型等模型)

x1(x)

x2(y)

z(z)标签

7

31

0

12

22

0

13

42.5

0

15

34

0

18

9

0

22.5

35

0

23

44.5

0

25

25

0

25

34

0

25

54.5

0

32

19

0

34

45

0

36

37

0

36

36

0

45

51

0

40

42

1

48

9

1

48

24

1

54

16

1

56

6

1

56

38

1

61

30.5

1

64.5

23

1

69

13

1

74

40

1

76

4

1

由标签可知这是监督分类。

设每个样本为0和为1的可能性符合sigmoid分布。

设模型x=w0+w1x1+w2x2

按sigmoid函数的形式求出:

由于sigmoid函数的定义域为(-∞,∞),值域为(0,1),因此最基本的LR分类器适合对两类目标进行分类。

所以Logistic回归最关键的问题就是研究如何求得w0,w1,…,wn这组权值。这个问题是用极大似然估计来做到。

怎样分类效果最好呢?

下面正式地来讲Logistic回归模型。

考虑具有2个独立变量的向量x=(x1,x2),设条件概率

P(y=1|x)=p为根据观测量相对于某事件x发生的概率。那么Logistic回归模型可以表示为

这里称为Logistic函数。其中

那么在x条件下y不发生的概率为

所以事件发生与不发生的概率之比为

这个比值称为事件的发生比(the odds of experiencing an event),简记为odds。

对odds取对数得到

可以看出Logistic回归都是围绕一个Logistic函数来展开的。接下来就讲如何用极大似然估计求分类器的参数。

假设有个观测样本,观测值分别为,设为给定条件下得到的概率,同样地,

的概率为,所以得到一个观测值的概率为

因为各个观测样本之间相互独立,那么它们的联合分布为各边缘分布的乘积。得到似然函数为

然后我们的目标是求出使这一似然函数的值最大的参数估计,最大似然估计就是求出参数

,使得

取得最大值,对函数取对数得到

继续对这分别求偏导,得到个方程,比如现在对参数求偏导,由于

所以得到

这样的方程一共有个,所以现在的问题转化为解这个方程形成的方程组。

上述方程比较复杂,一般方法似乎不能解之,所以我们引用了牛顿-拉菲森迭代方法求解。

利用牛顿迭代求多元函数的最值问题以后再讲。。。

简单牛顿迭代法:http://zh.m.wikipedia.org/wiki/%E7%89%9B%E9%A1%BF%E6%B3%95

实际上在上述似然函数求最大值时,可以用梯度上升算法,一直迭代下去。梯度上升算法和牛顿迭代相比,收敛速度

慢,因为梯度上升算法是一阶收敛,而牛顿迭代属于二阶收敛。

http://blog.csdn.net/ariessurfer/article/details/41310525

参考文献:

1. 公式法

>>X=[7 31;12 22;13 22;15 34;18 9;22.5 35;23 44.5;25 25;25 34;25 54.5;32 19;34 45;36 37;36 36;45 51;40 42;48 9;48 24;54 16;56 6;56 38;61 30.5;64.5 23;69 13;74 40;76 4];

>>Y=[-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;1;1;1;1;1;1;1;1;1;1;1]

>>A=inv(X'*X);

>>theta=A*X'*Y;

2. logistic regression

?

【2008nmj】Logistic回归二元分类感知器算法.docx的更多相关文章

  1. 第三集 欠拟合与过拟合的概念、局部加权回归、logistic回归、感知器算法

    课程大纲 欠拟合的概念(非正式):数据中某些非常明显的模式没有成功的被拟合出来.如图所示,更适合这组数据的应该是而不是一条直线. 过拟合的概念(非正式):算法拟合出的结果仅仅反映了所给的特定数据的特质 ...

  2. Stanford大学机器学习公开课(三):局部加权回归、最小二乘的概率解释、逻辑回归、感知器算法

    (一)局部加权回归 通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(under fitting).如下图的左图.而多项式拟合能拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为 ...

  3. [置顶] 局部加权回归、最小二乘的概率解释、逻辑斯蒂回归、感知器算法——斯坦福ML公开课笔记3

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9113681 最近在看Ng的机器学习公开课,Ng的讲法循循善诱,感觉提高了不少 ...

  4. 02-15 Logistic回归(鸢尾花分类)

    目录 Logistic回归(鸢尾花分类) 一.导入模块 二.获取数据 三.构建决策边界 四.训练模型 4.1 C参数与权重系数的关系 五.可视化 更新.更全的<机器学习>的更新网站,更有p ...

  5. 感知器算法--python实现

    写在前面: 参考: 1  <统计学习方法>第二章感知机[感知机的概念.误分类的判断]   http://pan.baidu.com/s/1hrTscza 2   点到面的距离 3   梯度 ...

  6. Perceptron Algorithm 感知器算法及其实现

    Rosenblatt于1958年发布的感知器算法,算是机器学习鼻祖级别的算法.其算法着眼于最简单的情况,即使用单个神经元.单层网络进行监督学习(目标结果已知),并且输入数据线性可分.我们可以用该算法来 ...

  7. 《转》Logistic回归 多分类问题的推广算法--Softmax回归

    转自http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是log ...

  8. 神经网络、logistic回归等分类算法简单实现

    最近在github上看到一个很有趣的项目,通过文本训练可以让计算机写出特定风格的文章,有人就专门写了一个小项目生成汪峰风格的歌词.看完后有一些自己的小想法,也想做一个玩儿一玩儿.用到的原理是深度学习里 ...

  9. Logistic回归二分类Winner or Losser----台大李宏毅机器学习作业二(HW2)

    一.作业说明 给定训练集spam_train.csv,要求根据每个ID各种属性值来判断该ID对应角色是Winner还是Losser(0.1分类). 训练集介绍: (1)CSV文件,大小为4000行X5 ...

随机推荐

  1. (转)App工程结构搭建:几种常见Android代码架构分析

    关于Android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角度,看到整齐的代码,优美的分层总是一种舒服的享受的. 从艺术的角度看,其实我们是在追求一种美. 本文先分析几个当 ...

  2. RHEL6 64位ASM方式安装oracle 11gR2(二)

    本文转载自:http://vnimos.blog.51cto.com/2014866/1221377 三.安装数据库软件 1 2 3 4 5 6 7 8 # unzip -d /stage/ linu ...

  3. VM 修改 virtualHW.version

    1.修改BT5R3-GNOME-VM-32.vmdk文件 将encoding="windows-1252"修改为encoding="GBK" 将ddb.virt ...

  4. linux的审计功能(audit)

    为了满足这样的需求:记录文件变化.记录用户对文件的读写,甚至记录系统调用,文件变化通知.什么是auditThe Linux Audit Subsystem is a system to Collect ...

  5. 事务之四:Spring事务--原理

    一.Spring事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的.对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行: ...

  6. json and pickle 序列化和反序列化

    类似vmware虚拟机里的虚拟主机挂起操作,把当前内存拷贝成文件保存. 上面的这种操作就叫内存序列化:如下图: 有序列化就有反序列化,要把文件里的东西再恢复成字典:eval把字符串变成字典. 但是上面 ...

  7. python下载指定页面的所有图片

    实现步骤: 1.下载页面源码 2.对页面进行解析,获取页面中所有的图片路径 3.下载图片到指定路径 代码实例: # coding: utf-8 import urllib2 # 该模块用于打开页面地址 ...

  8. DFT的理解

    在以前学习的离散傅立叶变换(DFT),总是不能理解只是知道公式 X(k) = Σx(n) * WNnk    ,也不知道如何得来的. 现在可以聊聊了,因为最近在使用MATLAB实际的操作了所以比以前了 ...

  9. K12(在线学习的平台)

    项目:K12(在线学习的平台) 一.背景 目的是做一个在线的学习平台,提高学生的课程完成度 K12:大目标是要取代线下班 - 录制专门的视频 - 导师的监管:如果没有主动和那个学生聊天,就扣钱 - 学 ...

  10. X11 转发

    SecureCRT只支持字符界面,如果要在终端界面能弹出GUI,需要本地安装X11 server,然后服务器讲X11请求forward到本地,即可. x11 server 可以使用Xming, Xma ...