1.逻辑回归解决什么问题?

逻辑回归用于分类问题。

对于二分类问题,输入多个特征,输出为是或不是(也可以写作1或0)。

逻辑回归就是这样一个用于分类的模型。

2.什么是逻辑回归?

逻辑回归建立在线性回归的基础上。

首先,线性回归将多个特征映射到一个变量

之后,在这个变量上设置一个阈值。大于这个阈值的判断为是,输出1;小于这个阈值的判断为否,输出0。

也可以不输出1或0,而输出是1的概率,再由概率是否大于0.5判断是或否。

逻辑回归就是这样一个输出是1的概率的模型(Sigmoid函数):

对于θTx,判断输出是否为1的阈值为θTx=0。

3.Decision Boundary

假设我们找到了一个合适的逻辑回归模型,那么,等价于确定了一组θ,使θTx=0是合适的阈值。此时,θTx=0将特征空间分割开了,就叫做Decision Boundary。

实际上,Decision Boundary就是对训练后的模型的另一种描述。

4.逻辑回归的Cost Function

为了评估模型拟合的程度,类比于线性回归,也需要Cost Function,线性回归的Cost Function不适用于逻辑回归。

需要寻找一种判断偏差的方法。

对于单个样本,考察一下对数函数:

当实际是1时,是1的概率越大(h代表概率),偏差越小。同样,当实际是0时,是1的概率越大,偏差越大。

所有样本的偏差求和,Cost Function可以写作下式

5.训练模型(找到偏差最小的参数)

最简单的还是梯度下降。公式再写一次:

详细推导及求偏导数可见:详解。

此外,还可以用conjugate gradient、BFGS、L-BFGS等算法计算参数,效率更高,但比较复杂,不容易调试。

对于封装好的算法,只需要提供Cost Function和偏导数,可以自动选择α和计算了。

6.matlab实现一个逻辑回归。

%data.csv [feature1 feature2 y]

sample = csvread('data.csv');
x(:,2) = sample(:,1);
x(:,3) = sample(:,2);
y(:,1) = sample(:,3);
x(:,1) = ones(size(x(:,2)));

m = length(x(:,2));

%choose logistic regression as model
%start with

theta = [1;2;1];
alpha = 1;
times = 5000;%迭代次数
J_theta = [1:times];

%cost function J_theta & gridient gri_J using gridient descent

for i=1:times
H = 1./(1+exp(-x*theta));
J_theta(i) = (-1/m) * (log(H')*y+log(1-H')*(1-y));
gri_J = (1/m).*((H-y)' * x)';
theta = theta - alpha.* gri_J;
end

plot(J_theta);
% deci_bond_y = -(1/theta(3)).*(theta(1)+theta(2).* x(:,2));
%
% stem(x(:,2),x(:,3),'x');
% hold on;
% plot(x(:,2),deci_bond_y);

7.多元分类

对于每个类别,看做这个类别和“”其他类别“”(课程里叫one versus all),这样就变回二元分类了。

再对每种类别分别做二元分类,得到N个分类器。

当需要测试时,将数据输入到每个分类器,选概率最大的一个作为输出。


小结

逻辑回归建立在线性回归的基础之上。模型为:通过sigmoid函数求输出是1的概率。应用在输出应符合伯努利分布的情况。

梯度下降算法还是好用的,也有了一些更高效的算法。刚开始的时候,可以先拿来用,再慢慢去深入学习。

线性回归和逻辑回归用于处理不同问题,但使用方法都是:分析数据、选取模型、优化数据、选择算法、训练、得到训练后的模型。

转载于:https://www.cnblogs.com/sumr/p/9750145.html

Andrew Ng机器学习(二):逻辑回归相关推荐

  1. 吴恩达机器学习之逻辑回归(二分类)

    吴恩达机器学习之逻辑回归 逻辑回归 二分类逻辑回归 二分类逻辑回归案例 python代码实现(含详细代码注释): 案例中几个问题的解析 不同于线性回归,逻辑回归的hθ(x)还需要用sigmoid函数处 ...

  2. Andrew Ng机器学习课程6

    Andrew Ng机器学习课程6 说明 在前面跟随者台大机器学习基石课程和机器学习技法课程的设置,对机器学习所涉及到的大部分的知识有了一个较为全面的了解,但是对于没有动手写程序并加以使用的情况,基本上 ...

  3. 机器学习_2逻辑回归

    机器学习_逻辑回归 分类问题 二分类--Sigmoid函数 Sigmoid函数代码实现 逻辑回归 数学原理 求解方式 正则化 逻辑回归数据集应用样例--代码实现 样例1:有清晰的线性决策边界 决策边界 ...

  4. 机器学习:逻辑回归(logistics regression)

    title: 机器学习:逻辑回归(logistics regression) date: 2019-11-30 20:55:06 mathjax: true categories: 机器学习 tags ...

  5. 【机器学习】逻辑回归原理介绍

    [机器学习]逻辑回归原理介绍 [机器学习]逻辑回归python实现 [机器学习]逻辑回归sklearn实现 Logistic 回归模型是目前广泛使用的学习算法之一,通常用来解决二分类问题,虽然名字中有 ...

  6. Andrew Ng机器学习课程14(补)

    Andrew Ng机器学习课程14(补) 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 利用EM对factor analysis进行的推导还是要参看我的上一 ...

  7. 机器学习实战-逻辑回归-19

    机器学习实战-逻辑回归-用户流失预测 import numpy as np train_data = np.genfromtxt('Churn-Modelling.csv',delimiter=',' ...

  8. 【原】Coursera—Andrew Ng机器学习—Week 9 习题—异常检测

    [原]Coursera-Andrew Ng机器学习-Week 9 习题-异常检测 参考文章: (1)[原]Coursera-Andrew Ng机器学习-Week 9 习题-异常检测 (2)https: ...

  9. Andrew Ng机器学习课程17(1)

    Andrew Ng机器学习课程17(1) 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:主要介绍了强化学习与监督学习的设定上的区别,以及强化学习的框架 ...

  10. 传统机器学习之逻辑回归的分类预测,以威斯康辛州乳腺癌数据集为例

    传统机器学习之逻辑回归的分类预测,以威斯康辛州乳腺癌数据集为例 文章目录 传统机器学习之逻辑回归的分类预测,以威斯康辛州乳腺癌数据集为例 1导入基本库 2读取数据并且变换类型 3输出数据 4可视化数据 ...

最新文章

  1. 解决360浏览器兼容模式的页面显示问题
  2. SSE3 和 SSSE3 Intrinsics各函数介绍
  3. linux同名文件夹覆盖_第一天:Linux——复习
  4. Java工作笔记-使用fastjson把对象直接生成为Json
  5. Xopsed的编译与安装
  6. Ooooops! 这通骚扰电话是AI机器人打的(浙大出品,中文很6)
  7. SVN工具使用及常用操作命令总结
  8. 硬见小百科:机加工中获得工件尺寸精度的常用方法
  9. 用力过猛的“中产阶级教育
  10. GEE-Python遥感大数据分析、管理与可视化实践技术
  11. 零基础使用vscode实现python爬取高德地铁数据
  12. ContestHunter #26 B 玩骰子
  13. Python采集网易云音乐
  14. Pytest如何查找用例耗时最长的N个
  15. Monitor 采集方式
  16. 最诡异航空事件,幽灵航班包括驾驶人员,所有人都在高空中昏睡!而后整机坠毁!...
  17. resip学习笔记之句柄Handle
  18. 2003-2019年各省数据GDP、人均GDP、城镇化率、年末人口数、人口自然增长率
  19. 2021年恩阳中学高考成绩查询,2021年恩阳中学升学率高不高?
  20. Camtasia Studio mac下载V2020汉化补丁中文版视频录制及剪辑工具软件

热门文章

  1. oracle 怎么创建约束,Oracle创建约束
  2. android setlatesteventinfo 找不到,安卓通知的基本用法
  3. js 获取鼠标在画布的位置_javascript求鼠标在canvas画布里的坐标
  4. php上传图片到非项目目录,前端页面的读取问题
  5. Java可视化开发开源框架
  6. 【微信小程序企业级开发教程】如何搭建服务器(tomcat)后台
  7. 【Network Security!】入侵痕迹清除,修改系统日志
  8. DL之决策树(Decision tree)
  9. python中fib什么意思_Python斐波那契数列是什么?怎么用?
  10. python 统计分析apache日志_python切分apache日志文件