机器学习随笔

绪论

  1. 奥卡姆剃刀: 若有多个假设与观察一致,则选择最简单的那个
  2. 无免费午餐(NFL):不同算法对所有可能的真实目标函数拥有相同的训练集外总误差。
  3. NFL核心思想:脱离具体问题,空泛的谈论“什么学习算法最好”是没有意义的。
  4. 假设空间: 假设空间指的是问题所有假设组成的空间,我们可以把学习过程看作是在假设空间中搜索的过程,搜索目标是寻找与训练集”匹配“的假设。
    注:假设数据集有n种属性,第i个属性可能的取值有titi种,加上该属性的泛化取值(*),所以可能的假设有∏i(ti+1)。再用空集表示没有正例,假设空间中一共∏i(ti+1)+1种假设。
  5. 版本空间: 现实问题中常常面临很大的假设空间,我们可以寻找一个与训练集一致的假设集合,称之为版本空间。

模型评估与选择

  1. 训练误差: 学习器在训练集上的误差,也称作经验误差。
  2. 泛化误差: 学习器在新样本上的误差
  3. 复杂度可以分为两种级别:一种是O(1),O(log(n)),O(n^a )等,我们把它叫做多项式级的复杂度,另一种是O(a ^n )和O(n!)型复杂度,它是非多项式级的,其复杂度往往计算机都不能承受。
  4. P: 一个问题可以在多项式(O(n^k))的时间复杂度内解决 (计算机比较容易算出答案的问题)
  5. NP: 问题的解可以在多项式的时间内被验证(已知答案以后计算机可以比较容易地验证答案的问题。)
    举例:大整数因式分解问题-比如有人告诉你数9938550可以分解成两个数的乘积,你不知道到底对不对,但是如果告诉你这两个数是1123和8850,那么很容易就可以用最简单的计算器进行验证。
  6. NP-hard: 指所有NP问题都能在多项式时间复杂度内归约到的问题,但该问题本身不一定是NP问题
  7. NPC(NP完全问题): 既是NP问题,也是NP-hard问题。目前没有找到多项式时间解决NP问题的方法,因此无法证明P=NP。
  8. 模型评估方法:
    留出法:直接将数据集划分为两个互斥集合,多次划分取平均
    交叉检验法: 将数据集划分为k个大小的互斥子集(k折交叉验证),每个子集尽量保持数据分布一致性
    自助法(bootstraping):又放回从样本集D(样本大小为m)中进行m次采样得到D‘,经计算D中约有36.8%(1/e)未出现在D’(训练集)中。
    为了不破坏初始数据集的分布,在数据量足够的情况下,留出法和交叉验证法更加常用。
  9. 错误率: 分类错误的样本数占样本总数的比率。
  10. 精度: 分类正确的样本数占样本总数的比例。
  11. ROC曲线 :研究泛化性能,横轴是假正例率(FPR), 纵轴是真正例率(TPR),AUC是ROC曲线下方面积,用来衡量学习器的优劣。
  12. 偏差: 偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了算法本身的你和能力
  13. 方差: 方差度量了同样大小的训练集变动导致的学习性能的变化,即刻画了数据扰动所造成的影响
  14. 噪声: 表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度
  15. 泛化性能是由学习算法的能力,数据的充分性以及学习任务本身的难易程度所共同决定的。

线性模型

  1. 逻辑回归:又称为对数几率回归,实际上是用线性回归模型的预测结果去逼近真实标记的对数几率。
  2. 解决步骤:不同类别后验概率 ——>对数似然——>梯度下降——> 权重向量w, 偏移量b
  3. 线性判别分析(LDA):给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例投影点尽可能远离。
  4. 再缩放:对于类别不平衡问题,正例与反例之比不再是以1为分界线,而是以训练集中正反例之比为分界线。

决策树

  1. 信息熵:熵在各种情况等概率时最大。信息熵越大事件不确定性越大。
  2. 信息增益:信息增益越大,意味着使用属性a来进行划分所获得的纯度提升越大。
  3. 基尼指数:基尼指数反映了从数据集中随机抽取两个样本,其类别标记不一致的概率,其值越小数据集D的不确定性越小,纯度越高。
  4. 剪枝:
    预剪枝:设计测试集与训练集,通过判断测试集错误率进行剪枝,缺点是有欠拟合风险。
    后剪枝:通过训练集生成完整的决策树,自底向上进行剪枝,欠拟合风险小,但是训练开销大。
  5. 连续问题:与离散属性不同,若当前节点划分属性为连续属性,该属性还可以作为其后代节点的划分属性
  6. 缺失值处理:
    (1)ρ:无缺失样本所占的比例
    (2)pk:无缺失样本中第k类所占的比例
    (3)rv:无缺失样本中在属性a上取值av的样本所占的比例
    (4)wx:为每个样本赋予权重,默认为1
    解题步骤:
    ①信息增益公式:
    Gain(D, a) = ρ * (Ent(D’) - Σ(v:1 => V) rv * Ent(D’v))
    ②取得信息增益最大属性值a
    ③将完整样本根据属性值a进行分类, 缺失样本则将其权重调整为rv * wx,直观的说就是让同一个样本以不同的概率划入到不同的子节点中去;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值