机器学习——logistic regression

【一、逻辑回归模型】

逻辑回归不同于线性回归,它实际上一种分类方法,用于二分类问题(y=0或者1)。逻辑回归模型如下:

即当>=0.5时,预测输出值y=1;否则预测输出值y=0;且有:

【二、决策边界】

所谓Decision Boundary就是能够将所有数据点进行很好地分类的h(x)边界。

例1

由图可知:

对应的线性回归模型为:

决策边界为粉色直线:

【例2】

由图可知:

对应的线性回归模型为:

决策边界为粉色曲线:

【三、代价函数】

代价函数 J(θ)的推导如下:

对于每个样本:

于是似然函数为:

则对数似然函数为:

那么代价函数J(θ)取为,即

因为最大似然估计是求使l(θ)最大的θ,那么这个θ也是使代价函数J(θ)最小的θ。

【四、梯度下降法求最佳theta】

其中α为学习率。

偏导的推导过程如下:

【五、利用matlab自带优化函数求最佳theta】

除了gradient descent 方法之外,我们还有很多方法可以使用,如下图所示,左边是另外三种方法,右边是这三种方法共同的优缺点,无需选择学习率α,更快,但是更复杂。

matlab中已经帮我们实现好了一些优化参数θ的方法,那么这里我们需要完成的事情只是写好cost function,并告诉系统,要用哪个方法进行最优化参数。比如我们用‘GradObj’, Use the GradObj option to specify that FUN also returns a second output argument G that is the partial derivatives of the function df/dX, at the point

伪代码:

cost function具体实现如下:

function [J, grad] = costFunction(theta, X, y)
m = length(y); % number of training examples
J = 0;
grad = zeros(size(theta));

J=-sum(y.*(log(sigmoid(X*theta)))+(1.0-y).*(log(1.0-sigmoid(X*theta))))/m;

for j=1:size(theta)
     grad(j)=sum((sigmoid(X*theta)-y).*X(:,j))/m;
end

=============================================================

end
%  Set options for fminunc
options = optimset(‘GradObj‘, ‘on‘, ‘MaxIter‘, 400);

%  Run fminunc to obtain the optimal theta
[theta, cost]=fminunc(@(t)(costFunction(t, X, y)), initial_theta, options);

【使用逻辑回归解多类问题】

即对于一个输入样本x,获得最大hθ(x)的类就是x所分到的类。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-28 16:59:22

机器学习——logistic regression的相关文章

coursera 机器学习 logistic regression 逻辑回归的项目

github : https://github.com/twomeng/logistic-regression- ex1. m 1 %% Machine Learning Online Class - Exercise 2: Logistic Regression 2 % 3 % Instructions 4 % ------------ 5 % 6 % This file contains code that helps you get started on the logistic 7 %

机器学习-Logistic Regression速记(来自李宏毅视频)

图片来自:  https://youtu.be/hSXFuypLukA 原文地址:https://www.cnblogs.com/lixiaov/p/10348926.html

Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression & Regularization

原文地址:http://blog.csdn.net/abcjennifer/article/details/7716281 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machin

【机器学习】Logistic Regression 的前世今生(理论篇)

Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有非常多细节不正确之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/50359055 写这篇博客的动力是源于看到了以下这篇微博: 我在看到这篇微博的时候大为触动,由于,如果是rickjin来面试我.我想我会死的非常慘,由于他问的问题我基本都回答不上来.

斯坦福大学机器学习公开课:Programming Exercise 2: Logistic Regression

斯坦福大学机器学习公开课:Programming Exercise 2: Logistic Regression---Matlab实现 1 Logistic Regression In this part of the exercise, I will build a logistic regression model to predict whether a student gets admitted into a university. You want to determine each

机器学习 (三) 逻辑回归 Logistic Regression

文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人笔记,为我做个人学习笔记提供了很好的参考和榜样. § 3.  逻辑回归 Logistic Regression 1 分类Classification 首先引入了分类问题的概念——在分类(Classification)问题中,所需要预测的$y$是离散值.例如判断一封邮件是否属于垃圾邮件.判断一个在线交

机器学习笔记04:逻辑回归(Logistic regression)、分类(Classification)

之前我们已经大概学习了用线性回归(Linear Regression)来解决一些预测问题,详见: 1.<机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)> 2.<机器学习笔记02:多元线性回归.梯度下降和Normal equation> 3.<机器学习笔记03:Normal equation及其与梯度下降的比较> 说明:本文章所有图片均属于Stanford机器学课程,转载请注明出处 面对一些类似回归问题,我们可

【机器学习】逻辑回归(Logistic Regression)

注:最近开始学习<人工智能>选修课,老师提纲挈领的介绍了一番,听完课只了解了个大概,剩下的细节只能自己继续摸索. 从本质上讲:机器学习就是一个模型对外界的刺激(训练样本)做出反应,趋利避害(评价标准). 1. 什么是逻辑回归? 许多人对线性回归都比较熟悉,但知道逻辑回归的人可能就要少的多.从大的类别上来说,逻辑回归是一种有监督的统计学习方法,主要用于对样本进行分类. 在线性回归模型中,输出一般是连续的,例如$$y = f(x) = ax + b$$,对于每一个输入的x,都有一个对应的y输出.模

机器学习系列-Logistic Regression(1)

机器学习 这是记录自学的过程,目前的理论基础就是:大学高等数学+线性代数+概率论.编程基础:C/C++,python在观看机器学习实战这本书,慢慢介入.相信有读过以上三门课的人完全可以开始自学机器学习了,当然我上面这三门课学的一般,所以你只知道有这么一个公式或名词,不懂可以百度之深究之.在写这篇文章的时候作者机器学习还没学完,故文章中的错误还请不吝指出.再次声明,系列文章只是分享学习过程,学习点滴,不能保证文章的技术含量.后续再技术的不断完善中,我会重新再捋一遍这个学习过程,纠正其中错误. 目前