机器学习常见问题

机器学习常见问题

一、线性回归的基本假设是什么?

使用线性回归模型的四个基本假设:
(1)自变量和因变量满足线性可加
a. 因变量的预测值和自变量满足直线方程,方程中,其余变量当作常量
b. 直线的斜率和其他变量无关
c. 不同因变量的值对于自变量的预测值是可加的

(2)误差是统计独立的

(3)对于任意自变量,误差的方差不变

(4)误差满足正态分布

 

二、什么是准确率、精确率、召回率

精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。

召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。

准确率(accuracy) = 预测对的/所有

 如果我们希望:被检索到的内容越多越好,这是追求“查全率”,即A/(A+C),越大越好。

如果我们希望:检索到的文档中,真正想要的、也就是相关的越多越好,不相关的越少越好,

这是追求“准确率”,即A/(A+B),越大越好。

 

三、决策树的损失函数以及剪枝系数

<span>机器学习常见问题</span>

H(t)表示第t个叶子节点的不确定度(信息增益、信息增益率、基尼系数等)

D(t)表示第t个叶子节点的样本数

D表示总共的样本数

 

通常,节点越多,决策树越复杂,损失也越大。可以对损失函数添加损失系数,修正后的损失函数为:

<span>机器学习常见问题</span>

对于根节点r的决策树和节点有R个的决策树,剪枝系数表示为:

<span>机器学习常见问题</span>

 

四、简述剪枝操作

前向剪枝:构建决策树的时候,提前停止。

后置剪枝:决策树构建好之后,再进行剪枝,(1)用单一叶子节点代替整个子树(2)将一颗子树完全替代另一颗

对于后置剪枝的过程为:

(1)计算所有内部非叶子节点的剪枝系数

(2)删除最小剪枝系数的节点,若存在多个最小剪枝系数节点,删除包含数据项最多的节点

(3)重复上述过程,直到产生的剪枝决策树只有一个节点

(4)每次删除节点得到决策树Ti

(5)使用验证样本集选择最优子树(即可以通过损失函数验证)

 五、决策树的停止条件

方式1:当每个子节点都只有一种类型时停止构建

方式2:节点中的记录数据小于某个阈值且迭代次数达到给定值

方式1容易过拟合、方式2常用

六、分类树和回归树的区别

分类树的叶子节点的预测值一般为概率最大的类别,回归树的叶子节点的预测值一般为所有值的均值,回归树采用均方差作为数的评价指标。

 

七、交叉熵

交叉熵可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。交叉熵作为损失函数还有一个好处是使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。

八、线性回归和逻辑回归有什么区别联系

区别:
(1)需要优化的损失函数不同,线性回归的损失函数为平方和损失函数,逻辑回归的损失函数为似然函数的负数
(2)线性回归解决回归问题,逻辑回归解决分类问题
联系:
逻辑回归本质上是一个线性回归问题,除去sigmoid的一个01映射,其他过程都一样。譬如,假设一个人挣钱能力和年龄有关吧,从一岁的时候挣钱为-20,每年+1,21岁为0,22岁为1这个过程可以说是一个线性回归问题,可以预测他18岁时是挣钱还是不挣钱,但是如果加上一个非线性映射的话,就可以将问题简单化的划分为0:不挣钱,1:挣钱的问题。
 
 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119468.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【转载】男人选妻有什么实用主义标准?「建议收藏」

    【转载】男人选妻有什么实用主义标准?「建议收藏」 在现实生活中,有相当一部分事业和生活都非常优秀的剩女们,总是没有不懂男人们在选择妻子时的心里到底在想些什么?更让她们不能接受的是,为什么男人讨老婆总是喜欢找一些看起来貌不出众,或学历与家景比自己差很多的女孩为妻。反而是像自己无论是学历文凭、家庭背景、从事职业甚至收入水平都明显高人一截的女人,反倒成了没男人追求最终被剩下的那个女人了。其实,男人找女朋友跟最终选择结婚对象时的想法是不一样的,…

    2022年5月4日
    36
  • PLSQL来Oracle创建表空间和创建用户

    PLSQL来Oracle创建表空间和创建用户//创建临时表空间createtemporarytablespacetest_temptempfile’E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf’size32mautoextendonnext32mmaxsize2048mextentmanagementlocal;

    2022年7月27日
    8
  • pp图与qq图_画图python

    pp图与qq图_画图python统计学中有时会会用到PP图或QQ图

    2022年8月10日
    33
  • 外挂基础_开挂的正确姿势

    外挂基础_开挂的正确姿势一、前言  所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然,现在对游戏外挂程序的“合法”身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去

    2022年10月8日
    2
  • 什么是DDR3_DDR3 SDRAM

    什么是DDR3_DDR3 SDRAMODT是什么鬼?为什么要用ODT?在很多关于DDR3的博文和介绍中都没有将清楚。在查阅了很多资料并仔细阅读DDR3的官方标准(JESD79-3A)之后,总算有点了头绪,下面来整理整理。1、首先ODT是什么?ODT(On-DieTermination),是从DDR2SDRAM时代开始新增的功能。其允许用户通过读写MR1寄存器,来控制DDR3SDRAM中内部的终端电阻的连接或者断开。在DDR3…

    2025年10月16日
    2
  • 变量放在堆还是栈_堆和栈的共同特点

    变量放在堆还是栈_堆和栈的共同特点内容会持续更新,有错误的地方欢迎指正,谢谢!什么是栈区,什么是堆区栈区(stack):由编译器自动分配释放,存放函数的参数值、局部变量的值等,内存的分配是连续的,类似于数组,当我们声明变量时,编译器会自动接着当前栈区的结尾来分配内存。堆区(heap):由程序员分配释放,若程序员不释放,程序结束时由OS回收,内存的分配不是连续的,类似于链表。变量存放的位置C/C++程…

    2025年5月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号