总结与回顾| 学习笔记

简介: 快速学习总结与回顾。

开发者学堂课程【机器学习算法 :总结与回顾】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/535/detail/7225


总结与回顾

 

内容介绍

一、逻辑回顾模型的原理

二、逻辑回顾模型的参数估计

三、逻辑回顾模型的评估和优化

四、学习目标

五、学习与思考

 

一、逻辑回归模型的原理

实际上逻辑回归也是线性回归的延展,严格来讲它属于广义线性回归模型。因为逻辑回归的特点就是它预测的变量也就是因变量它不再是连续值,而是一个二分类的值。实际上这种情况下它就严重违反了线性回归模型的基本假设,没办法使用线性回归模型。首先把分类变量转化成分类变量取值的概率,它实际上是0到1之间的一个值。另外去寻找一个函数,这个函数的值域是0到1,对定义域 x 没有要求,从负无穷到正无穷,并且它是连续的、没有断点的。另外考虑计算方便,选择了 Logistic 函数。S 函数它的一个最大的特点就是在求导的时候 f(x) 的导数就等于  f(x)·(1-f(x)),大大简化了运算的过程。一旦选择了 Logistic 函数之后,Logistic 函数和自变量就是满足线性回归的一个假设。可以用线性回归的知识用到逻辑回归的模型里。


二、逻辑回归模型的参数估计

因为预测的因变量的取值是二分类的值,它不满足正态分布,实际上是满足二项式分布的,不能使用最小二乘法进行参数估计,只能使用最大似然法。需要构造一个对数似然函数,然后求 lnL 的最大值,通过这个 ln 函数对参数求导等于0,生成一个连累方程组,解这个方程组7就行了。解方程组的时候不太容易解,就使用递进的方式,使用牛顿迭代法或是梯度上升法去解这个方程组。梯度上升法有三种指线方式。第一种就是使用批量梯度上升法,就是使用全体数据来做,好处是结果比较准,但运算量比较大,速度比较慢。标准方式是使用随机梯度上升法,每次只取一条记录,它的计算速度非常快,但是计算出来的参数错误的可能性比较大。平时最常用的是一种折中的方法,每次都是随机取,但随机取的时候不是取一条,也不是取全部,而是取一个小的批次。

 

三、逻辑回归模型的评估和优化

重点讲解了逻辑回归的原理和它的参数估计以及建模的步骤,对于使用的模型都要有一个评估和优化。评估的时候也使用假设检验去检验回归方程本身是否有意义,回归方程的系数是否显著,同时对分类模型来讲有非常多的评估方法。比如使用混淆矩阵,或是计算一些常见的指标比如精确率等等这些。另外逻辑回归模型也有一些基本假设条件。其中一部分问题是和多线性回归是一样的。

 

四、学习目标

1、了解逻辑回归的特点及使用场景

逻辑回归本质上来讲是一个回归模型,它的预测结果是一个分类变量。当然它不仅可以做二分类,也可以做多分类。做多分类的时候要么建 k-1 个逻辑回归模型去实现,或者是选用另外的函数。

2、了解逻辑回归算法的原理

3、掌握逻辑回归建模的基本方法

4、了解逻辑回归模型评估和优化

一旦做了建模,就一定要有评估和优化的意思和想法。

 

五、学习与思考

1、介绍逻辑回归模型的原理,理解 Logistic 函数。

2、常见分类算法中,Logistic 回归和其他算法的差异。

3、以 IRIS 数据集为例,使用逻辑回归模型进行二分类分析。

4、以 IRIS 数据集为例,使用逻辑回归模型进行多分类分析。

5、找几个逻辑回归的例子,去进行模型诊断和优化。

相关文章
|
Java 应用服务中间件 数据库
RocketBot 的使用 | 学习笔记
快速学习 RocketBot 的使用
363 0
RocketBot 的使用 | 学习笔记
|
SQL 开发框架 JSON
honeycomb使用|学习笔记
快速学习honeycomb使用
512 0
honeycomb使用|学习笔记
|
自然语言处理 算法 开发者
CJKAnalyzer|学习笔记
快速学习 CJKAnalyzer
91 0
CJKAnalyzer|学习笔记
|
消息中间件 Dubbo 算法
总结|学习笔记
快速学习总结
65 0
总结|学习笔记
|
物联网 Linux 开发者
Mycp|学习笔记
快速学习 Mycp
82 0
Mycp|学习笔记
|
Scala 开发者
ListBuffer 的使用 | 学习笔记
快速学习 ListBuffer 的使用
153 0
ListBuffer 的使用 | 学习笔记
|
安全 Java 程序员
Potainer 使用|学习笔记
快速学习 Potainer 使用
141 0
Potainer 使用|学习笔记
|
Java 开发工具 C++
notepad++ 介绍|学习笔记
快速学习 notepad++ 介绍
183 0
notepad++ 介绍|学习笔记
|
弹性计算 缓存 Linux
使用 syncthing | 学习笔记
快速学习使用 syncthing,介绍了使用 syncthing 系统机制, 以及在实际应用过程中如何使用。
309 0
使用 syncthing | 学习笔记
|
开发者 Python
练习|学习笔记
快速学习练习
76 0