热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

机器学习元知识

基本概念:机器学习:使用算法学习概率分布或者函数的过程(抽象版);从样本中按照一定的计算学习规则的过程
基本概念:

机器学习:使用算法学习概率分布或者函数的过程(抽象版);从样本中按照一定的计算学习规则的过程(简化版);

统计学习:基于数据构建概率模型的学习方法,是统计学、概率论、信息论、最优理论及计算科学等的交叉。

统计学习方法三要素:模型、策略、算法。

深度学习:多层神经网络的学习方法


模型
要学习的概率分布或函数(假设空间)
策略
学习准则或者如何选择模型
算法
如何通过输入计算得到输出



深度学习和多层神经网络的区别:

深度学习
多层神经网络
深度模型
一系列学习方法
一种模型
一系列模型
为了让层数较多的多层神经网络可以训练,能够work而演化出来的一系列的新方法
就是很多层的神经网络
CNN(1993)
DBN(2006)
DBM

基于统计学习的多层神经网络训练效果差原因:

其通过BP(反向传播)算法来训练,通过输出和标签值的比较和调整,迭代训练整个网络,直到符合标准(整体是一个梯度下降算法)。而当层数增加(7层以上),残差传播到最前面的层已经变得很小,即出现梯度扩散/消失(根源在于非凸目标代价函数导致求解陷入局部最优),影响精度。

所以传统的神经网络训练,一般只能训练3层以下的网络。

解决办法:使用新的激活函数ReLU,缓解梯度消失。




深度学习的改进之处:

新的学习方法:

(1)通过数据学习得到初始值,更接近全局最优。

(2)新的激活函数

(3)新的权重初始化方法

(4)新的损失函数

(5)新的过拟合方法等




新的结构:

CNN:卷积神经网络,视野,权值共享等。(有监督)

LSTM:长短期记忆网络,避免长期依赖的长期记忆机制。

GRU:Gated Recurrent Unit,混合了LSTM的忘记门和输入门,混合了细胞状态和隐藏状态。

据说效果都差不多,但是GRU结构更简单,计算更快。

更多详情参考:

https://www.zhihu.com/question/26017374




总的来说,目前因为有imgaenet等数据库的存在,使得监督学习得以进行,所以现在更多地是进行有监督的深度学习。

而最近谷歌也开源了超大型视频数据库,视频长达50万小时。标签经过多重筛选设置。




深度学习有监督和无监督训练:http://blog.csdn.net/u012526120/article/details/49591213

一开始(1993年左右)CNN由于没有很好地学习算法和硬件条件,无法很好地完成学习,后来的2006年的DBN基于深度置信网络和DBM(深度波尔兹曼机)提出的无监督学习算法,相对其它传统的统计学习算法能取得更好的效果,深度学习被重新重视。

2012年,imagenet竞赛中的Alexnet模型取得优异成绩后,带动了有监督深度学习的热潮。






经典算法:         机器学习算法面试小结

回归oneall
线性最优化误差函数&#xff08;最小二乘法<极大似然估计>&#xff09;
优点&#xff1a;简单&#xff0c;容易理解
缺点&#xff1a;对非线性拟合不好
局部加权回归

对数据赋权值、斤大远小类似局部回归、然后组合&#xff1f;
优点&#xff1a;可以学习高维度的数据
缺点&#xff1a;暂时不知
赋权值&#xff1a;高斯核&#xff08;正太分布、近大原小&#xff09;
树回归分类后回归 
优点&#xff1a;可以处理高维数据&#xff0c;切分后回归即可
缺点&#xff1a;结果不易理解抽象化
逻辑
逻辑函数映射到(0,1),分类 




















聚类(Partition-based methods)
one
all
K-Means&#xff08;补分类过程&#xff09;
按N个最近的数据中的多数分
1.懒惰学习算法
2.一股脑塞进内存&#xff0c;计算出最"近"的N个点&#xff0c;然后将均值输出。
Knearl-K-Means
将不规则数据投射到更高层空间
1.在必要的时候&#xff0c;用核方法投射高更高维度&#xff0c;进行划分。结果再投射回二维。
其它&#xff0c;基于圈圈大小&#xff0c;圈圈内样本数量划分的。
https://www.zhihu.com/question/34554321/answer/64372216





分类模型
one
all
决策树
定义&#xff1a;以最纯净的方式进行二分类迭代&#xff0c;形成一棵2叉树。

应用场景&#xff1a;理解数据的构成/结构&#xff0c;实际的分类使用一般会使用集成的方法。
缺点&#xff1a;
1.容易过拟合&#xff0c;如果停止条件是每个叶子节点只有一种分类&#xff0c;算法就会尽量使得叶子结点完美纯净。
1.5.于是降低分类停止条件&#xff0c;设置阈值&#xff08;分类条件和分类的相关程度&#xff08;叶子结点纯净度&#xff09;、叶子结点树木&#xff09;。
2.还是容易过拟合。&#xff08;噪音数据过多&#xff0c;无法准确分割&#xff1b;缺少代表性数据&#xff0c;无法分割出该类&#xff1b;多重比较&#xff0c;量大了选出来的优秀可能只是随机优秀。&#xff09;
3.于是迭代裁剪叶子节点&#xff0c;进行交叉验证&#xff0c;以最优&#xff08;泛化能力最好&#xff09;树为最终模型。&#xff08;可能需要进行蛮多次裁剪&#xff1a;如果每处叶子节点都只留一个代表性节点&#xff09;

优点&#xff1a;
0.非参数学习&#xff1a;不必考虑是否线性可分、有离群点等
1.可读性比较好&#xff0c;具备良好的可描述性。
2.效率高&#xff0c;一次构建&#xff0c;反复使用&#xff1f;&#xff1f;&#xff08;哪个模型不是的呢&#xff09;&#xff0c;计算次数最多为树的深度。
常用算法&#xff1a;ID3和 C4.5(用信息增益比确定分类特征)  
信息增益比 
集成学习了解一下&#xff08;boost和adboost&#xff09;
模型选择了解一下&#xff08;真正例率、ROC曲线、AUC值、代价曲线&#xff09;
随机森林和梯度提升树&#xff08;回归树迭代减小误差&#xff09;了解一下     
随机森林
综合多棵决策树的分类效果&#xff0c;防止过拟合

应用场景&#xff1a;流失客户类别预测、风险评估
解决的问题&#xff1a;决策树的过拟合和噪声数据问题
解决方案&#xff1a;两个随机&#xff1a;随机样本、随机特征。
更多优点&#xff1a;
  • 可处理高维度数据&#xff08;不用做特征选择&#xff09;
  • 数据集适应能力强&#xff1a;离散数据、连续型数据都可以处理。随机抽样、特征离散化处理
缺点&#xff1a;有过拟合风险&#xff08;降低树的深度、裁剪叶节点、降低子树随机选取特征和样本量&#xff09;
关键在于&#xff1a;最小叶结点书目、最大子树树木、每课子树的数据数量、特征数量等的调整。&#xff08;玄学范畴&#xff09;
说说随机森林
SVM
定义&#xff1a;从几何的角度划分数据&#xff0c;特点是考虑到了潜在的数据&#xff0c;使得潜在数据都能很比较好地进行划分。&#xff08;具有鲁棒性&#xff09;

应用场景&#xff1a;都可以试试&#xff1f;,数据量不大的分类问题
本质&#xff1a;基于概率??
优点&#xff1a;不易过拟合,适合小样本。&#xff08;一天以内可以训练出来模型的量&#xff09;
缺点&#xff1a;内存密集型&#xff0c;涉及到对样本的随机访问。核函数选择是关键&#xff0c;但是这是属于玄学。
核函数选择&#xff1a;样本量大时&#xff0c;可想办法增加特征&#xff0c;用线性核&#xff08;统一映射和不映射的情况&#xff0c;不区分&#xff09;的SVM或者是线性回归。如果样本量不大&#xff0c;可采用高斯核的SVM&#xff08;映射到无穷维度&#xff09;。
优点&#xff1a;具有鲁棒性、有考虑到潜在的数据
多层神经网络
多种刺激&#xff0c;多次处理&#xff0c;不同权重&#xff0c;模拟人脑神经处理。

应用场景&#xff1a;
缺点&#xff1a;
  • 随机的初始化参数
  • 对不相关参数较敏感&#xff08;图片&#xff09;
  • 部分有意义参数无法提取&#xff08;图片分类&#xff09;
  • 增加层数&#xff0c;会产生梯度扩散&#xff08;往后的参数&#xff09;
  • 没有时间维度
优点&#xff1a;
  • 对音频和图像比其它分类算法有效
  • 黑盒模型&#xff0c;只需要处理输入和输出即可&#xff0c;不需要关注内部函数
深度学习中的激活函数与梯度消失 非常详细&#xff08;梯度表达式&#xff09;
深度学习——激活函数Sigmoid/Tanh/ReLU
大白话讲解BP算法
深度学习模型
应用场景&#xff1a;图像识别、文本识别、游戏操作学习


缺点&#xff1a;
  • 黑盒模型&#xff0c;解释型不好
  • 对不相关参数较敏感&#xff08;图片&#xff09;
  • 部分有意义参数无法提取&#xff08;图片分类&#xff09;
优点&#xff1a;
  • 通过数据计算初始权值
  • 可以学习的层数更深&#xff0c;可达到上千层
  • 有多种新模型&#xff1a;LSTM可以释放长期记忆的存储&#xff0c;达到类似效果。(RNN无法作到)
  • GRU简化版本的LSTM&#xff0c;设置了两种机制&#xff1a;更新和重置。比lstm少了一种。&#xff08;输入输出和遗忘机制&#xff09;
朴素贝叶斯
贝叶斯公式&#xff1a;
P(Y|X)&#61;P(X|Y)P(Y)P(X)&#xff1a;P(Y|X)&#61;P(X|Y)P(Y)P(X) /  P(X)
       
条件独立假设&#xff1a;事件X、Y互相独立
朴素贝叶斯&#xff1a;拆Y  P&#xff08;X|Y1&#xff09;P&#xff08;X|Y2&#xff09;...P&#xff08;Y1Y2&#xff09;/P(X)
&#xff08;要求事件Y在X发生的条件下发生的概率&#xff0c;即X、Y的概率为先验概率&#xff0c;通过易获取的X在Y发生的情况下发生的概率求解。
其中&#xff0c;XY相互独立&#xff0c;XY可拆解&#xff0c;此处拆解Y&#xff0c;可分解出多个贝叶斯公式&#xff0c;分别求解&#xff09;

应用场景&#xff1a;文本分类&#xff08;垃圾邮件识别、情感分析&#xff09;
缺点&#xff1a;
  • 独立性不能得到很好的验证
  • 有些词语重复出现&#xff0c;可能影响准确计算。
  • 有些词语未出现&#xff0c;P&#xff08;y&#xff09;&#61;0使得整个式子等于零
  • 自然语言处理中语序问题&#xff0c;贝叶斯无法处理语序
优点&#xff1a;
  • 即使独立性不那么好的情况&#xff0c;模型也好用。
  • 模型简单&#xff0c;有理论基础
  • 易拓展&#xff0c;若shu
一些技巧&#xff1a;
  • 多项式模型&#xff08;重复计算输出*词频&#xff09;、伯努利模型&#xff08;只算一次&#xff09;、混合模型。&#xff08;区别伯努利丢掉了词频&#xff0c;统计欠完美&#xff09;
  • 平滑技术
  • N元语言模型&#xff0c;依据链式法则将词语之间的依赖关系用概率乘积表示。

逻辑回归
定义&#xff1a;通过最逻辑回归函数&#xff1a;正则化投射到特定值域。

应用场景&#xff1a;数据类别间大致是线性可分的分类问题
缺点&#xff1a;
  • 线性不可份没辙~
优点&#xff1a;
  • 很好的概率解释
  • 正则化&#xff08;引入先验分布&#xff0c;缩小解空间&#xff0c;减小求出错误解的可能性&#xff09;
LDA线性判别分析
降维/分类

应用场景&#xff1a;
缺点&#xff1a;
  • 不适合非高斯分布的样本
  • 依赖均值而非方差时&#xff0c;分类效果比PCA好
  • 降维类别数有限制&#xff1a;k-1
  • 可能过拟合
优点&#xff1a;
  • 可以使用先验知识&#xff0c;PCA不能







Q&A&#xff1a;







集成学习&#xff1a;







Something needed to be explored more

  1. 分类学习算法——一个统一的视角
  2. 决策书的结点裁剪
  3. 特征工程——特征离散化&#xff0c;特征交叉
  4. 回归树和分类树
  5. 多层神经网络
  6. 梯度表达式和sigmod函数的关系
  7. 感知器为什么是支持向量机的基础&#xff1f;
  8. 链式法则是什么&#xff1f;
  9. 局部加权回归是如何处理的







各种算法的代码实现

具体算法数学理解


































推荐阅读
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 计算机学报精选论文概览(2020-2022)
    本文汇总了2020年至2022年间《计算机学报》上发表的若干重要论文,旨在为即将投稿的研究者提供参考。 ... [详细]
  • 本文源自Coursera平台吴恩达教授的深度学习课程,重点探讨了卷积神经网络(ConvNets)从二维图像处理向一维信号及三维数据处理的拓展应用。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 本周三大青年学术分享会即将开启
    由雷锋网旗下的AI研习社主办,旨在促进AI领域的知识共享和技术交流。通过邀请来自学术界和工业界的专家进行在线分享,活动致力于搭建一个连接理论与实践的平台。 ... [详细]
  • Python 领跑!2019年2月编程语言排名更新
    根据最新的编程语言流行指数(PYPL)排行榜,Python 在2019年2月的份额达到了26.42%,稳坐榜首位置。 ... [详细]
  • 本文介绍了实现人工智能的多种方法,并重点探讨了当前最热门的技术——通过深度学习训练神经网络。文章通过具体实例详细解释了神经网络的基本原理及其应用。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Vision Transformer (ViT) 和 DETR 深度解析
    本文详细介绍了 Vision Transformer (ViT) 和 DETR 的工作原理,并提供了相关的代码实现和参考资料。通过观看教学视频和阅读博客,对 ViT 的全流程进行了详细的笔记整理,包括代码详解和关键概念的解释。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 深入解析监督学习的核心概念与应用
    本文深入探讨了监督学习的基本原理及其广泛应用。监督学习作为机器学习的重要分支,通过利用带有标签的训练数据,能够有效构建预测模型。文章详细解析了监督学习的关键概念,如特征选择、模型评估和过拟合问题,并介绍了其在图像识别、自然语言处理等领域的实际应用。 ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
author-avatar
mizrke
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有