2013年11月24日星期日

逻辑回归模型(Logistic Regression, LR)基础 - 文赛平

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
逻辑回归模型(Logistic Regression, LR)基础 - 文赛平  阅读原文»

逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。本文主要详述逻辑回归模型的基础,至于逻辑回归模型的优化、逻辑回归与计算广告学等,请关注后续文章。

1 逻辑回归模型

回归是一种极易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题有如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病,其中的望闻问切就是获取自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。

最简单的回归是线性回归,在此借用Andrew NG的讲义,有如图1.a所示,X为数据点――肿瘤的大小,Y为观测值――是否是恶性肿瘤。通过构建线性回归模型,如hθ(x)所示,构建线性回归模型后,即可以根据肿瘤大小,预测是否为恶性肿瘤hθ(x)≥.05为恶性,hθ(x)<0.5为良性。

clip_image002

图1 线性回归示例

然而线性回归的鲁棒性很差,例如在图1.b的数据集上建立回归,因最右边噪点的存在,使回归模型在训练集上表现都很差。这主要是由于线性回归在整个实数域内敏感度一致,而分类范围,需要在[0,1]。逻辑回归就是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型,其回归方程与回归曲线如图2所示。逻辑曲线在z=0时,十分敏感,在z>>0或z<<0处,都不敏感,将预测值限定为(0,1)。

clip_image004图2 逻辑方程与逻辑曲线

逻辑回归其实仅为在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,逻辑回归成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。对于多元逻辑回归,可用如下公式似合分类,其中公式(4)的变换,将在逻辑回归模型参数估计时,化简公式带来很多益处,y={0,1}为分类结果。
clip_image006

对于训练数据集,特征数据x={x1, x2, … , xm}和对应的分类数据y={y1, y2, … , ym}。构建逻辑回归模型f(θ),最典型的构建方法便是应用极大似然估计。首先,对于单个样本,其后验概率为:

clip_image008 那么,极大似然函数为:

clip_image010 log似然是:

clip_image012

2 梯度下降

由第1节可知,求逻辑回归模型f(θ),等价于:

clip_image014 采用梯度下降法:

clip_image016 从而迭代θ至收敛即可:

clip_image018

3 模型评估

对于LR分类模型的评估,常用AUC来评估,关于AUC的更多定义与介绍,可见参考文献2,在此只介绍一种极简单的计算与理解方法。

对于下图的分类:

clip_image020 对于训练集的分类,训练方法1和训练方法2分类正确率都为80%,但明显可以感觉到训练方法1要比训练方法2好。因为训练方法1中,5和6两数据分类错误,但这两个数据位于分类面附近,而训练方法2中,将10和1两个数据分类错误,但这两个数据均离分类面较远。

AUC正是衡量分类正确度的方法,将训练集中的label看两类{0,1}的分类问题,分类目标是将预测结果尽量将两者分开。将每个0和1看成一个pair关系,团中的训练集共有5*5=25个pair关系,只有将所有pair关系一至时,分类结果才是最好的,而auc为1。在训练方法1中,与10相关的pair关系完全正确,同样9、8、7的pair关系也完全正确,但对于6,其pair关系(6,5)关系错误,而与4、3、2、1的关系正确,故其auc为(25-1)/25=0.96;对于分类方法2,其6、7、8、9的pair关系,均有一个错误,即(6,1)、(7,1)、(8,1)、(9,1),对于数据点10,其正任何数据点的pair关系,都错误,即(10,1)、(10,2)、(10,3)、(10,4)、(10,5),故方法2的auc为(25-4-5)/25=0.64,因而正如直观所见,分类方法1要优于分类方法2。

参考文献:

1 Andrew NG. Logistic Regression Classification

2 http://www.cnblogs.com/guolei/archive/2013/05/23/3095747.html

----


本文链接:http://www.cnblogs.com/sparkwen/p/3441197.html,转载请注明。

树莓派 Raspberry-Pi 折腾系列:系统安装及一些必要的配置 - ABEL  阅读原文»

入手树莓派将近一个月了,很折腾,许多资源不好找,也很乱。简单整理一下自己用到的东西,方便以后自己或别人继续折腾。

0. 操作系统下载

树莓派官方 Raspbian 系统下载:http://www.raspberrypi.org/downloads
或直接下载 http://downloads.raspberrypi.org/raspbian_latest.torrent 最新版的 BT 种子。

还有一个选择是由国人制作的超级精简版,更低内存占用:http://pan.baidu.com/share/link?shareid=167943&uk=1412008571

1. 系统安装

所谓“安装系统”其实不如说是“恢复”下载到的系统镜像到内存卡上,这个过程也没什么难度,就是看内存卡的速度,慢慢等而已。需要注意的是,市面上部分 4G 的内存卡,实际大小才 3.6G 多,会提示空间不足,所以还是直接购买 8G 吧,也差不了几块钱。
在 Windows 下可以使用 Win32 Disk Imager 进行镜像恢复,非常方便,也是树莓派官方推荐的方法。官方下载地址:http://sourceforge.net/projects/win32diskimager/

2. 通过 SSH 远程访问

老实说,我一直把树莓派定位为“一个扔在某个角落就可以自己跑得很欢的小电脑”,加上那仅有的两个 USB 口,一个插了 USB 无限网卡,另一个再拖个键盘或鼠标啥的,实在很不方便,那么最好还是能远程访问吧。
好在树莓派默认是有开启 SSH 的,但是我们系统刚安装,IP 还没设置,怎么找到它的 IP 地址呢?这时候就推荐使用另一个神器 PortScan 来找出我们的机器:

打开 PortScan 选择扫描范围,可以很方便的找出局域网中的其它机器,一般家庭中也没太多机器,找出树莓派是很容易的,如果是在公司,有很多机器的话,那么可以忽略那些有机器名的,然后剩下的一个一个尝试吧…
PortScan 下载地址:http://abel.oss.aliyuncs.com/file/PortScan.zip

3. ROOT 账号设置

如果你安装的是官方的 Raspbian 系统,那么默认的登录帐号为 pi 密码是 raspberry
为了方便折腾,建议第一时间启用 ROOT 账号吧~ 这个也很简单的,只需要执行一下两句命令即可:

// 设置 root 账号的密码,会让你输入两次新密码
sudo passwd root

// 启用 root 账号登录
sudo passwd
--unlock root

执行完之后,用 reboot 命令重启就可以用 root 登录啦。

4. 扩展可用空间

第一次用 root 登录,会自动弹出树莓派的高级设置面板(以后也可以通过 raspi-config 命令进入):

选择第一项 Expand Filesystem 扩展 SD 卡上可用的空间,不然以后会有很多大软件,不能安装(提示空间不足,例如 mysql)。
扩展之后可以通过 df -h 命令看到效果~

5. 更换软件源(apt-get sources)

树莓派的服务器实在太太太太太太慢了!会导致你安装一个几M的东西都要等大半天!肿么办!
好在树莓派官方有提供一个镜像列表:http://www.raspbian.org/RaspbianMirrors
在里面找到了几个国内的镜像,经过几番尝试,觉得来自中科大的速度非常不错~ 咱们就换成中科大的吧,镜像主页:https://lug.ustc.edu.cn/wiki/mirrors/help/raspbian

根据教程,咱们来编辑 /etc/apt/sources.list 文件。这里推荐用 nano 命令编辑,舍得去弄什么 VIM 啦。命令如下:

nano /etc/apt/sources.list

进入编辑界面,删除原有的内容,粘贴中科大提供的内容,结果如下:

然后使用 Ctrl+O 保存文件,Ctrl+X 退出编辑器。
然后执行 apt-get update 命令更新软件列表。

6. 设置静态 IP 地址

回到刚刚第二点提到的,不知道 IP 地址的问题,咱们要给树莓派设置一个静态 IP,省得 IP 变换又要重新找机器。还是用 nano 来编辑网络接口文件:

nano /etc/network/interfaces

如果你要设置的是有线网卡的 IP 地址,那么把 eth0dhcp 改成 static 然后在下一行追加 IP 信息,结果大概如下:

iface eth0 inet static
address
192.168.1.200 # 设定的静态IP地址
netmask
255.255.255.0 # 网络掩码
gateway
192.168.1.1 # 网关

如果你要设置的是无线网卡的,那么除了把 wlan0dhcp 改成 static 之外,还需要填写无线网的名称和密码,编辑后的结果大概如下:

iface wlan0 inet static
wpa
-ssid Your_Wifi_SSID
wpa
-psk Your_Wifi_Password
address
192.168.1.200 # 设定的静态IP地址
netmask
255.255.255.0 # 网络掩码
gateway
192.168.1.1 # 网关
network
192.168.1.1 # 网络地址
#wpa
-roam /etc/wpa_supplicant/wpa_supplicant.conf

▲ 注意注释掉最后一行

搞定之后,咱们用 poweroff 命令关掉树莓派,等到机器上的绿灯不闪了,把电源拔掉,再把网线拔掉,重新连接电源,稍等一会,看看是不是就通过无线网络的 IP 地址可以访问了。

最后

至此,要折腾树莓派的几个准备工作都完成了,有了这些,以后折腾也更佳方便。
由于我当初手贱没有购买面驱动的 USB 网卡,买的是一个要自己编译驱动的,所以我折腾的东西还有很多,下次专门再来说说无线网卡驱动的事吧。


本文链接:http://www.cnblogs.com/abel/p/3441175.html,转载请注明。

阅读更多内容

没有评论:

发表评论