1.逻辑回归相比于线性回归,有何异同?

        首先,逻辑回归处理的是分类问题,线性回归处理的是回归问题,这是两者的最本质的区别。逻辑回归中,因变量取值是一个二元分布,模型学习得出的是 ,即给定自变量和超参数后,得到因变量的期望,并基于此期望来处理预测分类问题。而线性回归中实际上求解的是 ,是对我们假设的真实关系的一个近似,其中代表误差项,我们使用这个近似项来处理回归问题。
        逻辑回归中的因变量为离散的,而线性回归中的因变量是连续的。
        当然逻辑回归和线性回归也不乏相同之处,首先我们可以认为二者都使用了极大似然估计来对训练样本进行建模。线性回归使用最小二乘法,实际上就是在自变量x与超参数θ确定,因变量y服从正态分布的假设下,使用极大似然估计的一个化简;而逻辑回归中通过对似然函数的学习,得到最佳参数θ。另外,二者在求解超参数的过程中,都可以使用梯度下降的方法,这也是监督学习中一个常见的相似之处。

2.当使用逻辑回归处理多标签的分类问题时,有哪些常见做法,分别应用于哪些场景,它们之间又有怎样的关系?

        使用哪一种办法来处理多分类的问题取决于具体问题的定义。首先,如果一个样本只对应于一个标签,我们可以假设每个样本属于不同标签的概率服从于几何分布,使用多项逻辑回归(Softmax Regression)来进行分类
        当存在样本可能属于多个标签的情况时,我们可以训练k个二分类的逻辑回归分类器。第i个分类器用以区分每个样本是否可以归为第i类,训练该分类器时,需要把标签重新整理为“第i类标签”与“非第i类标签”两类。通过这样的办法,我们就解决了每个样本可能拥有多个标签的情况。

3.决策树有哪些常用的启发函数?

首先,我们回顾一下这几种决策树构造时使用的准则。
■ ID3—— 最大信息增益
        对于样本集合D,类别数为K,数据集D的经验熵表示为

        其中Ck是样本集合D中属于第k类的样本子集,|Ck|表示该子集的元素个数,|D|表示
样本集合的元素个数。
        然后计算某个特征A对于数据集D的经验条件熵H(D|A)为

        其中,Di表示D中特征A取第i个值的样本子集,Dik表示Di中属于第k类的样本子集。
        于是信息增益g(D,A)可以表示为二者之差,可得

        这些定义听起来有点像绕口令,不妨我们用一个例子来简单说明下计算过程。假设共有5个人追求场景中的女孩,年龄有两个属性(老,年轻),长相有三个属性(帅,一般,丑),工资有三个属性(高,中等,低),会写代码有两个属性(会,不会),最终分类结果有两类(见,不见)。我们根据女孩有监督的主观意愿可以得到表3.1。
3.1 5个候选对象的属性以及女孩对应的主观意愿

根据上面的式子计算出4个分支结点的信息熵为
于是,可计算出各个特征的信息增益为
        显然,特征“写代码”的信息增益最大,所有的样本根据此特征,可以直接被分到叶结点(即见或不见)中,完成决策树生长。当然,在实际应用中,决策树往往不能通过一个特征就完成构建,需要在经验熵非0的类别中继续生长。
■ C4.5——最大信息增益比
        特征A对于数据集D的信息增益比定义为

其中

称为数据集D关于A的取值熵。针对上述问题,我们可以根据上式求出数据集关于每个特征的取值熵为
于是,可计算出各个特征的信息增益比为
        信息增益比最大的仍是特征“写代码”,但通过信息增益比,特征“年龄”对应的指标上升了,而特征“长相”和特征“工资”却有所下降。
■ CART——最大基尼指数(Gini
Gini描述的是数据的纯度,与信息熵含义类似。

CART在每一次迭代中选择基尼指数最小的特征及其对应的切分点进行分类。但与ID3、C4.5不同的是,CART是一颗二叉树,采用二元切割法,每一步将数据按特征A的取值切成两份,分别进入左右子树。特征A的Gini指数定义为

还是考虑上述的例子,应用CART分类准则,根据上式可计算出各个特征的Gini指数为
        在“年龄”“长相”“工资”“写代码”四个特征中,我们可以很快地发现特征“写代码”的Gini指数最小为0,因此选择特征“写代码”作为最优特征,“写代码=会”为最优切分点。按照这种切分,从根结点会直接产生两个叶结点,基尼指数降为0,完成决策树生长。
        通过对比三种决策树的构造准则,以及在同一例子上的不同表现,我们不难总结三者之间的差异。
        首先,ID3是采用信息增益作为评价标准,除了“会写代码”这一逆天特征外,会倾向于取值较多的特征。因为,信息增益反映的是给定条件以后不确定性减少的程度,特征取值越多就意味着确定性更高,也就是条件熵越小,信息增益越大。这在实际应用中是一个缺陷。比如,我们引入特征“DNA”,每个人的DNA都不同,如果ID3按照“DNA”特征进行划分一定是最优的(条件熵为0),但这种分类的泛化能力是非常弱的。因此,C4.5实际上是对ID3进行优化,通过引入信息增益比,一定程度上对取值比较多的特征进行惩罚,避免ID3出现过拟合的特性,提升决策树的泛化能力。
        其次,从样本类型的角度,ID3只能处理离散型变量,而C4.5和CART都可以处理连续型变量。C4.5处理连续型变量时,通过对数据排序之后找到类别不同的分割线作为切分点,根据切分点把连续属性转换为布尔型,从而将连续型变量转换多个取值区间的离散型变量。而对于CART,由于其构建时每次都会对特征进行二值划分,因此可以很好地适用于连续性变量。
        从应用角度,ID3和C4.5只能用于分类任务,而CART(Classification and Regression Tree,分类回归树)从名字就可以看出其不仅可以用于分类,也可以应用于回归任务(回归树使用最小平方误差准则)。
        此外,从实现细节、优化过程等角度,这三种决策树还有一些不同。比如,ID3对样本特征缺失值比较敏感,而C4.5和CART可以对缺失值进行不同方式的处理;ID3和C4.5可以在每个结点上产生出多叉分支,且每个特征在层级之间不会复用,而CART每个结点只会产生两个分支,因此最后会形成一颗二叉树,且每个特征可以被重复使用;ID3和C4.5通过剪枝来权衡树的准确性与泛化能力,而CART直接利用全部数据发现所有可能的树结构进行对比。
        

百面机器学习之经典算法相关推荐

  1. 百面机器学习 #3 经典算法:02 逻辑回归

    参考: 百面机器学习 西瓜书 02 逻辑回归Logistic Regression(对数几率回归) 2.1 逻辑回归和线性回归 二者都使用极大似然法来对训练样本进行建模. 在求解超参数的过程中,都可以 ...

  2. 百面机器学习 #3 经典算法:01-3 核函数支撑向量机SVM

    文章目录 1.3 非线性SVM与核技巧 1.3.1 核函数 1.3.2 核技巧在支持向量机中的应用 1.3.3 常用核函数 1.4 其他问题 1.4.1 是否存在一组参数使SVM训练误差为0:是 1. ...

  3. 百面机器学习 #3 经典算法:01-2 不完全线性可分(软间隔)支撑向量机SVM

    文章目录 ①从原问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面.决策函数.支撑向量 假设训练数据集不是线性可分的.通常情况是,训练数据中有一些特异点 ...

  4. 百面机器学习 #3 经典算法:01-1 线性可分(硬间隔)支撑向量机SVM

    文章目录 ①从原始问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面和决策函数.支撑向量 参考李航统计学习方法第7章. 支持向量机学习的基本想法是求解能 ...

  5. 机器学习基础-经典算法总结

    机器学习基础-经典算法 逻辑回归 逻辑回归的原理,问题的假设 为什么逻辑回归也可称为对数几率回归 推导逻辑回归损失函数 逻辑回归损失函数求导 逻辑回归为什么使用交叉熵作为损失函数 LR是不是凸优化问题 ...

  6. 【机器学习】机器学习的经典算法

    [机器学习]机器学习的经典算法 https://www.cnblogs.com/DicksonJYL/p/9517025.html 本文为整篇文章第二部分,整篇文章主要目录如下: 1:一个故事说明什么 ...

  7. 百面机器学习03-经典算法

    01 支持向量机 支持向量机 (Support Vector Machine, SVM)是众多监督学习万法中十分出色的一种,几乎所有讲述经典机器学习万洼的教材都会介绍 . 关于 SVM,流传着一个关于 ...

  8. 《百面机器学习》---AI算法工程师求职必备“面经”

    [导读]今天给大家推荐一本人工智能算法工程师求职必备"面经" --百面机器学习(文末附pdf下载方式,限时领取哟!) 自2018年面世以来,该书现已成为机器学习算法工程师求职面试必 ...

  9. python3入门经典100例-Python3入门机器学习_经典算法与应用-慕课网实战

    建议慕课网可以出一套完整的关于学完之后可以胜任人工智能这份工作的课程,达到就业的目的和转型 亲,您好~目前我们在筹划更多的人工智能的相关课程!后期会逐步的跟大家见面!不过本门课程就是您迈入机器学习领域 ...

最新文章

  1. 数字表达_关于数字、日期及时间的英文表达方式,这里都齐全了
  2. Java – 2012年回顾和未来预测
  3. cesium广告牌_公路广告牌
  4. 金三银四我带你去BAT面试现场,砥砺前行!
  5. IOS 杂笔-14(被人遗忘的owner)
  6. fairygui 与 spine动画的适配处理
  7. 晋南讲堂之持久层框架ORM简介
  8. 计算机无法安装dx11,Windows10系统DX11正确的安装路径是什么?
  9. 增值税常见的税务筹划方法,干货!收藏!
  10. 花几千块钱,线上培训软件测试有用吗?
  11. DataGrip 安装教程 详细版
  12. 软工个人随笔3 罗骏 201521123121
  13. 如何实现可多人协作的“在线excel”系统?
  14. 2018.4.3晚_京东实习_后端开发面试记录
  15. 用什么软件可以记录并提醒每天的工作任务?
  16. Raspberry - 解决中兴(ZTE)摄像头无法使用密码访问树莓派上的samba共享(NAS)
  17. IOS软件版本检测更新
  18. 富士康用机器人取代了6万个工人
  19. 深入理解Plasma(二)Plasma 细节
  20. python提取文件中特定字符串

热门文章

  1. 「软件」2.0时代已经到来,你需要这样的开发工具
  2. 关于动态规划,你想知道的都在这里了!
  3. 机器学习中,梯度下降算法的问题引入
  4. 一只端午节鸭蛋粽子的背后:AI 与农业
  5. 程序员在地铁写代码遭疯狂吐槽!网友:装什么装
  6. AI换脸鉴别率超99.6%,微软用技术应对虚假信息
  7. 深度学习目标检测指南:如何过滤不感兴趣的分类及添加新分类?
  8. 使用可进化的AutoML发现神经网络架构
  9. 速成班出来的AI人才,老板到底要不要?6位导师告诉你行业真相
  10. Dubbo中的连接控制,你真的理解吗?