机器学习之回归总结

  • 目录
  • 1、了解线性回归
  • 2、了解似然函数
  • 3、了解交叉验证的原理
  • 4、梯度下降算法
    • 4.1、批量梯度下降算法(Batch Gradient Descent,简称BGD):
    • 4.2、随机梯度下降算法(SGD):
    • 4.3、折中:
  • 5、了解一些参数指标
  • 6、了解Logistic回归
  • 7、了解最小二乘法
  • 8、了解AUC指标

目录

1、了解线性回归

当只有一个变量的时候,可以表示为下面的式子。
这里写图片描述
当为多个特征时,线性回归可以表示为下面的式子,掌握下面这个式子:
假定样本是独立则能得到对应的下式;这里X0是1,则能得到H(x)(可以看成是矩阵的形式)
这里写图片描述
上面的H(x)再加上一个误差就能得到符合实际的表达式即下图中的y。
了解这个y的表达式(线性回归在实际条件下的表达式)
正态分布:正常状态分布(可以这样理解)
注意后面有一个误差;误差满足独立同分布的条件;且假定误差的均值是0,方差为σ2(服从正态分布嘛)。
这里写图片描述

2、了解似然函数

统计学中,似然函数是一种关于统计模型参数的函数给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ)。所以对应的也就是求似然函数的最大值。
知道求似然函数的最大值的过程:
这里写图片描述
求对数函数的最大值转变为求J函数的最小值(Hθ函数是线性回归的表达式)
这里写图片描述
再转化为求驻点:似然函数最大值的求解过程->求J函数的驻点时利用梯度来逼近的(其间将关系表达式转化为矩阵表达式)。
注意目标函数:数学含义就是求各个点到面的距离的最小累加值。
这里写图片描述
最终转化为求参数的解析式,而初始的意愿就是要求θ的值(θ就是多特征情况下对应的特征方程的参数,知道这个参数后就能得到对应的x和y的映射关系!θ就如y=ax+b中的a和b一样)。
对应的θ并不是一下子就算出来的,而是通过梯度下降算法,不断的迭代得到的。
增加λ的意义是为了防止过拟合(相当于噪音)
这里写图片描述
这里写图片描述

知道这个惩罚因子以及它的原理
L1称为Lasso:即惩罚因子项为|θ|。L1正则可以产生稀疏模型进而用于特征选择。
L2称为Ridge(岭回归 ):即惩罚因子为θ2。L2不具有稀疏性。
惩罚因子即代表目标函数的第二项,这里当θ比较大的时候,就造成整个J函数的值比较大(我们求的是J函数的最小值),所以这里就可以认为当θ比较大的时候,直接被抑制住(即惩罚,理解为θ是有范围即下图所示的圆形和正方形)。
这里写图片描述
这里写图片描述

这里写图片描述

3、了解交叉验证的原理

k-折交叉验证(k-fold crossValidation):
在机器学习中,将数据集A分为训练集(training set)B和测试集(test set)C,在样本量不充足的情况下,为了充分利用数据集对算法效果进行测试,将数据集A随机分为k个包,每次将其中一个包作为测试集,剩下k-1个包作为训练集进行训练。(五折就相当于将数据分成5份,随机选1份用于测试其他4份用于训练生成一个分类率,循环进行5次得到5个分类率,求其平均值即可)
步骤:

  1. 将全部训练集 S分成 k个不相交的子集,假设 S中的训练样例个数为 m,那么每一个子 集有 m/k 个训练样例,,相应的子集称作{s1,s2,…,sk}。
  2. 每次从分好的子集中里面,拿出一个作为测试集,其它k-1个作为训练集
  3. 根据训练训练出模型或者假设函数。
  4. 把这个模型放到测试集上,得到分类率。
  5. 计算k次求得的分类率的平均值,作为该模型或者假设函数的真实分类率。

这个方法充分利用了所有样本。但计算比较繁琐,需要训练k次,测试k次。
五折、十折代表的是将数据分成五份、十份,其中多少份用于训练数据1份用于验证数据。
这里写图片描述

4、梯度下降算法

掌握梯度下降算法,还要知道梯度下降求得是局部最优解。
这里写图片描述
目标函数求导
这里写图片描述
上式少一个α值。

梯度下降的三种算法:
对于线性回归这个模型来说采用梯度下降算法得到的局部最优解一定是全局最优解。

4.1、批量梯度下降算法(Batch Gradient Descent,简称BGD)

在更新每一参数时都使用所有的样本来进行更新,也就是方程(1)中的m表示样本的所有个数,之后通过初始的θ(需要给定的值)和学习率来不断的迭代得到最终的θ值。
优点:全局最优解;易于并行实现;
缺点:当样本数目很多时,训练过程会很慢。
这里写图片描述
这里写图片描述

4.2、随机梯度下降算法(SGD):

拿到一个数据就执行梯度下降(拿到一个数据就相当于得到一个关于θ的J函数,进而就能求对应的导数得到对应的θ值),这样造成的结果是可以躲避局部极值,如下图所示(跳出局部最优的原因是因为噪音影响PS:所以可以说噪音也未必是坏事)。
优点:训练速度快;
缺点:准确度下降,并不是全局最优;不易于并行实现。
这里写图片描述

4.3、折中:

它的具体思路是在更新每一参数时都使用一部分样本来进行更新,也就是方程中的m的值大于1小于所有样本的数量,然后再执行梯度下降算法。
这里写图片描述

5、了解一些参数指标

了解下面的TSS、RSS(SSE)、R平方、ESS(SSR)的概念。
这里写图片描述

6、了解Logistic回归

分类问题的首选算法
二分类:Logistic回归
多分类:Softmax回归
Softmax回归知道即可,在Sklearn库中,当分类数大于2时,默认的也就是Softmax回归,所以没必要再造一个函数。
这里写图片描述
这里写图片描述

对于简单的线性方程,我们可以得到最终的解析式来求的答案,但是对于复杂的线性方程,我们没有办法获得解析式,只能采用梯度下降的方法来不断的逼近结果如下图所示。
这里写图片描述
这里写图片描述
这里写图片描述

7、了解最小二乘法

最小二乘法:它的主要思想就是选择未知参数,使得理论值与观测值之差的平方和达到最小。
假设一对关系是某线性关系,且实际测量数据与该理想关系的偏差是高斯分布。
那么一个n个测量值的集合,取n-1个拟合成线性关系,用该关系预测另一个,最小二乘法可以保证:预测值和真实值的差的绝对值的期望最小。
最小二乘法与最大似然估计的解释:
最小二乘法的核心就是权衡,因为你要在很多条的直线中间选择,找出距离所有点的距离的平方和最小的那条直线。
极大似然估计核心就是自恋:对应似然函数理解就是给定参数θ我能得到对应的x发生的概率。就是去倒推这个过程(参考下图中例子理解)。
最大似然估计,就是利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值(似然函数的前半句内容:给定输出X计算关于θ的似然函数值)。(1即似然函数的含义:给定输出X计算关于θ的似然函数值就等于给定θ值在X事件发生的概率)
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

8、了解AUC指标

了解AUC(Area Under Curve)的含义,并且知道ROC(Receiver Operating Characterstic):受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve)。得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反应,只不过是在两种不同的判定标准下所得的结果而已。
使用AUC(即曲线下方的面积)来度量分类器的好坏,给定的阈值不同,造成TP\FP的值的不同,也就造成TPR/FPR值的不同,最终造成AUC的值的不同,分类器的效果也就不同,往往将equal error rate点作为阈值的划分依据。
这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习之决策树与随机森林

目录1、了解熵、条件熵、互信息的概念及公式1.1、熵1.2、条件熵1.3、信息增益/互信息 2、了解决策树2.1、了解决策树的概念和特点以及和熵的关系2.2、了解树生成的过程2.3、了解决策树三种算法的区别2.4、了解决策树的损失函数2.5、了解解决决策树过拟合的方法2.6、了解后剪枝的…

机器学习之提升算法

1、知道提升、梯度提升是什么意思1.1、提升1.2、梯度提升1.3、了解提升算法的过程 2、残差与残差平方和(residual sum of squares)3、了解GBDT算法4、了解XGBoost算法5、了解Adaboost算法5.1、Adaboost算法的原理5.2、例子 6、偏差和方差 1、知道提升、梯…

Jsoup遍历ul li下的链接信息实例

2019独角兽企业重金招聘Python工程师标准>>> Document doc;try {String URL "www.baidu.com";doc Jsoup.connect(URL).get();Elements ElementsUl doc.getElementsByTag("ul");for (Element elementLi : ElementsUl) {Elements provinceEl …

机器学习之支持向量机(SVM)总结

文章目录1、知道SVM相关的各种概念2、知道目标函数、损失函数、正则项的意义2.1、目标函数2.2、损失函数2.3、正则化(添加噪音避免过拟合)3、了解SVM算法原理4、知道SVM的目标函数5、知道SVM的损失函数以及公式6、知道SVM支持向量机的计算过程6.1、推导过…

机器学习之聚类算法的原理推导及相关知识总结

文章目录1、知道几个关于"差"的概念2、理解相似度度量的各种方法和相互关系2.1、欧氏距离2.2、jaccard相似系数2.3、余弦相似度2.4、Pearson相似系数2.5、相对熵3、掌握掌握K-Means算法3.1、知道聚类的思想3.2、K-Means算法原理3.3、知道K-Mediods聚类3.4、如何选取K…

机器学习之EM算法的原理推导及相关知识总结

文章目录1、知道先验概率和后验概率2、了解高斯混合模型GMM3、通过最大似然估计推导EM算法的过程的实例4、EM算法5、知道pLSA模型1、知道先验概率和后验概率 先验概率(prior probability)是指根据以往经验和分析得到的概率(理解为自定义概率…

机器学习之朴素贝叶斯算法的推理及相关知识总结

文章目录1、朴素贝叶斯公式1.1、贝叶斯公式的应用2、了解贝叶斯网络2.1、知道什么是贝叶斯网络2.2、贝叶斯网络的两种表示形式2.3、掌握全连接的贝叶斯网络的公式2.3、知道条件概率表参数个数分析的方法2.4、掌握变量联合分布概率的公式及含义2.5、知道马尔科夫模型3、了解D-se…

HA机制的大数据集群的搭建过程

文章目录集群规划1、 准备Linux环境1.1、修改Linux主机名1.3、修改主机名和IP的映射关系1.4、关闭防火墙1.5、ssh免登陆(主节点和从节点之间)2、 安装JDK2.1、上传2.2、解压jdk2.3、将java添加到环境变量中2.4、刷新配置2.5、验证3、安装zookeeper3.1、解…

Linux系统7个运行级别图文详解

Linux系统7个运行级别图文详解 当安装linux操作系统时将选择下列那一个操作 ______ A.选择 "图形登录方式" 设定系统开始运行级为4 B.选择 "文本登录方式" 设定系统开始运行级为3 C.选择 "文本登录方式" 设定系…

使用IntelliJ IDEA碰到的问题总结

文章目录问题一:无法创建Java Class文件问题一:无法创建Java Class文件 今天打开项目时,发现右击新建不了java.class文件,于是尝试了以下方法: (1)选择 File——>Project Structure——>…

linux文本处理常用指令总结

引子 作为一个偏爱windows的程序员,以前做文本处理的时候总是喜欢在windows下用notepad等图形化工具处理,比如有时需要把linux服务器上一个文件进行一次全局字符串替换这样简单的操作,还得把文件down到本地编辑好再传回去。这两天买了本《鸟哥…

Linux中chown和chmod的区别和用法

chmod修改第一列内容, chown修改第3、4列内容: chown用法: 用来更改某个目录或文件的用户名和用户组。 chown 用户名:组名 文件路径(可以是绝对路径也可以是相对路径) 例1:chown root:root /tmp/tmp1 就…

玩大数据期间碰到的一些问题总结

文章目录问题一:Zookeeper节点数量为什么建议是奇数个?问题二:HA机制的Hadoop集群中Journal Node 作用问题三:两个datanode节点互相排斥怎么解决(集群无法识别新加入的Datanode)?问题四&#xf…

JAVA的SSH框架登录注册

Struts 的MVC设计模式可以使我们的逻辑变得很清晰,主要负责表示层的显示。 Spring 的IOC和AOP可以使我们的项目在最大限度上解藕。 hibernate的就是实体对象的持久化了, 数据库的封装。 项目截图:(代码是按照项目截图上传的,直接对号入座即可…

Visual Studio Code 前端调试不完全指南

本文最初发布于我的个人博客:咀嚼之味Visual Studio Code (以下简称 vscode) 如今已经代替 Sublime,成为前端工程师们最喜爱的代码编辑器。它作为一个大型的开源项目,不断推陈出新;社区中涌现出大量优质的插件,以支持我…

机器学习之LDA主题模型算法

文章目录1、知道LDA的特点和应用方向1.1、特点1.2、应用方向2、知道Beta分布和Dirichlet分布数学含义3、了解共轭先验分布4、知道先验概率和后验概率5、知道参数α值的大小对应的含义6、掌握LDA主题模型的生成过程7、知道超参数α等值的参考值8、LDA总结1、知道LDA的特点和应用…

[Go] Template 使用简介

Golang 提供了两个标准库用来处理模板 text/template 和 html/template。我们使用 html/template 格式化 html 字符。 模板引擎 模板引擎很多,Python 的 jinja,nodejs 的 jade 等都很好。所谓模板引擎,则将模板和数据进行渲染的输出格式化后的…

内存泄露监测

2019独角兽企业重金招聘Python工程师标准>>> iOS 内存泄露监测 144 作者 谢谢生活 已关注 2017.05.19 17:38* 字数 4235 阅读 209评论 0喜欢 6 iOS可能存在的内存泄露:block 循环引用。当一个对象有一个block属性,而block属性又引用这个对象…

玩Azkaban跳过的坑

文章目录一号坑:启动Azkaban报错:User xml file conf/azkaban-users.xml doesnt exist.二号坑:报错:failed SslSocketConnector0.0.0.0:8443: java.io.FileNotFoundException: /home/hadoop/app/azkaban/azkaban-web-2.5.0/bin/ke…

删除节点removeChild()

http://www.imooc.com/code/1700 删除节点removeChild() removeChild() 方法从子节点列表中删除某个节点。如删除成功,此方法可返回被删除的节点,如失败,则返回 NULL。 语法: nodeObject.removeChild(node) 参数: node :必需&…