算法描述

1.逻辑回归要做的事就是寻找分界面实现二分类。
2.问题假设:对一堆三角形和正方形分类。
3.数据输入:已知正方形和三角形的坐标和标签。
4.算法过程:

知识储备

1.分类和回归
①分类的目标是预测一个离散型变量(e.g. 是/否,好/坏等)。
②回归的目标是预测一个连续型变量(e.g. 温度37.0℃,光强1000mcd等)。
③逻辑回归利用已知数据拟合一条分界线,进而利用这条分界线做二分类。
2.Sigmoid公式如下:


②异或问题
异或逻辑是当输入不同时,输出真;反之输出假。

在二维异或问题中,一条直线无法将正方形和三角形区分开,但曲线可以轻易实现。由此我们需要使用sigmoid函数引入非线性。

3.最优化
梯度上升:沿着函数的梯度方向寻找到函数的最大值,其迭代公式如下:

4.欠拟合和过拟合
首先,推荐阅读[4]的129页,这一章节吴恩达老师已作详细说明。欠拟合即拟合出来的函数与数据的真实分布有较大的整体偏差,而过拟合则是拟合函数与数据分布有较大的方差,泛化能力差。

举个栗子

1.假设仅有四个数据如下图:

2.将结果代入梯度上升公式:

其中,学习率取0.01,数据①的标签减去sigmoid的结果:

注:此处仅为单个数据的训练,一般需要整个训练集多次训练迭代。下图为分类结果和过程关系,可视化代码来源于[1]。

实现代码

1.debug代码引用《机器学习实战》提供的demon,此书作者提供完整代码和数据集,强烈推荐。[1]
2.sklearn实现版本。[3]

算法分析

1.适用于二分类且需要数值型特征。
2.计算开销小但容易欠拟合。

资料引用

[1]GitHub:https://github.com/wzy6642/Machine-Learning-in-Action-Python3/tree/master/Logistic_Project1
[2]CSDN:https://blog.csdn.net/jiaoyangwm/article/details/79570864
[3]CSDN:https://blog.csdn.net/loveliuzz/article/details/78708359
[4]GitHub:https://github.com/fengdu78/deeplearning_ai_books
此算法笔记会在CSDN、知乎、b站及公众号同步更新,账号名为一枚嘉应子。转载注明出处,侵权必究。

【逻辑回归学习笔记】相关推荐

  1. 人工智能入门算法逻辑回归学习笔记

    逻辑回归是一个非常经典的算法,其中也包含了非常多的细节,曾看到一句话:如果面试官问你熟悉哪个机器学习模型,可以说 SVM,但千万别说 LR,因为细节真的太多了. 秉持着精益求精的工匠精神不断对笔记进行 ...

  2. 线性回归、逻辑回归学习笔记

    学习源代码 import numpy as np import matplotlib.pyplot as plt def true_fun(X): # 这是我们设定的真实函数,即ground trut ...

  3. 线性回归、逻辑回归-学习笔记整理

    线性回归 线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式. 只有一个自变量的情况称为单变量回归,多于一 ...

  4. 天池龙珠训练营逻辑回归学习笔记

    1.知识点 "线性回归"试图学得一个线性模型以尽可能准确地预测实值输出标记.线性回归模型一般可简写为 y = w T x + b y = w^{T}x + b y=wTx+b更一般 ...

  5. 【机器学习】Logistic回归---学习笔记(重新整理)

    Logistic回归学习笔记 Logistic回归学习线路 预备知识:建议先去B站学习一下信息量,熵,BL散度,交叉熵的概念. Logistic回归的函数模型 损失函数.损失最小化架构 对数损失作为损 ...

  6. 逻辑回归函数学习笔记

    继续逻辑回归学习,今日笔记记录. 1.逻辑回归和线性回归的关系:对逻辑回归的概率比取自然对数,则得到的是一个线性函数,推导过程如下. 首先,看逻辑回归的定义 其次,计算两个极端y/(1-y),其值为( ...

  7. 2.2 逻辑回归-机器学习笔记-斯坦福吴恩达教授

    逻辑回归 上一节我们知道,使用线性回归来处理 0/1 分类问题总是困难重重的,因此,人们定义了逻辑回归来完成 0/1 分类问题,逻辑一词也代表了是(1) 和 非(0). Sigmoid预测函数 在逻辑 ...

  8. 逻辑回归模型笔记整理6 - 参数详细说明

    LogisticRegression,一共有14个参数: 逻辑回归参数详细说明 参数说明如下: penalty:惩罚项,str类型,可选参数为l1和l2,默认为l2.用于指定惩罚项中使用的规范.new ...

  9. 《使用Java理解程序逻辑》学习笔记

    第一章 1.public         公共的 2.static         静态的 3.void       无返回值的 4.main           主方法 5.class        ...

最新文章

  1. Android之如何优雅的管理ActionBar
  2. scala中的部分应用函数和偏函数的区别
  3. 奇异值的物理意义是什么?
  4. ateq测漏仪f620说明书_手环测漏仪规格齐全-同江
  5. 将字符串转换成ListT
  6. ML神器:sklearn的快速使用
  7. 数据库本地服务器为空,本地搭建的服务器访问不到数据库数据
  8. python-configparser模块
  9. 程序员赚钱致富的6种方法
  10. python解题软件哪个好用_几个好用的Python数据分析工具
  11. [Unity 3D] Unity 3D 性能优化 (一)
  12. Eclipse内存溢出
  13. RunLoop相关知识
  14. 移动通信原理B-------例题解答3
  15. matlab怎么排序数组,如何在MATLAB中排序结构数组?
  16. setting配置文件详解
  17. 【专题5: 硬件设计】 之 【62.案例四:简易空气净化器,完整原理图】
  18. Arccatalog连接到postgresql失败问题
  19. linux关闭firefox进程,Firefox 68+ 怎样关闭多进程
  20. linux无线网卡ucod文件,基于Linux的无线网卡驱动程序

热门文章

  1. Skype是台湾繁体中文,告诉大家变成简体的办法
  2. 良品铺子:金选年货礼盒里,装着“高端零食”的初心
  3. 屏的像素与传输速率_高像素时代 究竟多少万像素才够你用?
  4. 关于小米9音量键一直弹出加大声音的解决方案
  5. 2020年自考计算机应用基础都考什么题型,2019年10月自考计算机应用基础试题和答案...
  6. 防扰民型无线传输武汉卫通达定位终端防盗报警器
  7. 一个Axis2 + eclipse开发Web服务的例子SayHi
  8. 阿里旺旺聊天获取(ring3)
  9. 记一次初级渗透测试模拟过程
  10. 谷歌翻译网页版已支持直接翻译图片中的文字