机器学习常见问题

机器学习常见问题

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

使用线性回归模型的四个基本假设:
(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:挣钱的问题。
 
 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ADB-安装配置[通俗易懂]

    ADB-安装配置[通俗易懂]一、只要下载ADB安装包即可就这4个文件:备注:如果下载放入到D盘去解压,打开dos窗口那么就要进入到D盘,然后再去执行adb命令,输入adb查看它是否安装成功二、ADB命令简单使用查看连接设

  • AbstractInterceptor和MethodFilterInterceptor的区别

    AbstractInterceptor和MethodFilterInterceptor的区别1.AbstractInterceptor是Interceptor的子类。2.MethodFilterInterceptor是AbstractInterceptor的子类,你需要实现的拦截器支持方法过滤性,就继承MethodFilterIntercepter这个类.默认的情况下,拦截器会拦截Action中的所有的方法,这里不包括setter或getter方法.这时就可以使用方法

  • 【论文学习】STN —— Spatial Transformer Networks

    【论文学习】STN —— Spatial Transformer NetworksPaper:SpatialTransformerNetworks这是Google旗下DeepMind大作,最近学习人脸识别,这篇paper提出的STN网络可以代替align的操作,端到端的训练实现图片的align。实际使用的过程中不需要landmarks也可以做align了,而且还可以并联多个,这对于多个物体非常适用,而且,输出的feature大小可以变换,这一点也很灵活。提出…

  • Java安全之Commons Collections7分析

    Java安全之Commons Collections7分析

    2020年11月20日
  • linux修改密码长度限制_linux文件名长度限制修改

    linux修改密码长度限制_linux文件名长度限制修改修改密码长度:设置为不少于8位的。修改最短密码长度需要编辑login.defs文件(vi/etc/login.defs),把下面这行PASS_MIN_LEN5(默认的情况)改为PASS_MIN_LEN8(修改后的情况)login.defs文件是login程序的配置文件 转载于:https://blog.51ct…

  • c#启动外部程序_winform程序自动更新

    c#启动外部程序_winform程序自动更新//class里面放入这段代码[DllImport(“shell32.dll”)]publicstaticexternintShellExecute(IntPtrhwnd,StringBuilderlpszOp,StringBuilderlpszFile,StringBuilderlpszParams,StringBuilderlpszDir,intFsShowCmd);//需要打开的地方插入此段代码ShellExecute(IntPtr.Zero,newStr

发表回复

您的电子邮箱地址不会被公开。

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