分类算法:Logistic regression详解与Matlab代码实现

目录

1  模型引入与概述

2  matlab代码实现

3 Logistic regression的多分类

4 总结

1  模型引入与概述

机器学习的第一个算法也是最简单的算法是线性回归,对于输入x,模型输出的y是连续的,这也是回归问题(预测)和分类问题的区别,分类问题y\in\left\{0,1,2,...\right\},二分类问题y\in\left\{0,1\right\}都是离散值,而回归问题y\in\mathbb{R}。明明是分类算法为什么称作Logistic regression,个人理解是因为Logistic Function的输出是\left [ 0,1 \right ]之间的实数,这与回归问题的输出是如出一辙的。

1.1 sigmoid函数

下面进行Logistic regression模型的详解,Logistic regression不仅能解决二分类问题,也能处理多分类问题,以二分类问题y\in\left\{0,1\right\}为例,多分类问题会在后面讲解。Logistic regression的主要思想是使得目标函数的输出h_\theta {\left ( x \right )}\in\left [ 0,1 \right ],而能够使得函数输出在0,1之间的则关键在于阶跃函数sigmoid function:g\left ( z \right )=1/\left ( 1+e^{-z} \right ),sigmoid函数的图像如下图所示:从图上可以看出,对于输入值大于零,输出值大于0.5;输入值小于零,输出值小于0.5,这也是用于分类的依据,另外,当输入值接近正无穷大时,函数输出为1,当输入值趋近无穷小时,函数输出为0。

                                                         

1.2 模型表示

对于Logistic regression模型,具体表示为:

                                                      h_{\theta }\left ( x \right )=g\left ( \theta ^{T}x \right )\textbf{} \ \ \ \ \ \ g\left ( z \right )=1/\left ( 1+e^{-z} \right ),

即:

                                                                       h_{\theta }\left ( x \right )=1/\left ( 1+e^{-\theta ^{T}x} \right )

模型预测的是对于给定x和参数{\color{Blue} }\theta,其输出值为1的概率h_{\theta }\left ( x \right )=P\left ( y=1|x;\theta \right ),并且有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值