热门标签 | 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. 局部加权回归是如何处理的







各种算法的代码实现

具体算法数学理解


































推荐阅读
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
  • Stanford机器学习第九讲. 聚类
    原文:http:blog.csdn.netabcjenniferarticledetails7914952本栏目(Machinelearning)包括单参数的线性回归、多参数的线性 ... [详细]
  • Visualizing and Understanding Convolutional Networks(ZFNet网络)论文阅读笔记
    VisualizingandUnderstandingConvolutionalNetworksZFNet网络架构论文阅读笔记2022.4.4论文地址https:arxiv ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 推荐 :以数据驱动的方式讲故事
    直觉vs数据首先,你有思考过一个问题吗?当你的直觉与你所掌握的数据矛盾的时候,你是听从于直觉还是相信你所掌握的数据呢?201 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 机器学习之数据均衡算法种类大全+Python代码一文详解
    目录前言一、为什么要做数据均衡?二、数据场景1.大数据分布不均衡2.小数据分布不均衡三、均衡算法类型1.过采样2.欠采样3.组合采样四、算法具体种类1 ... [详细]
  • 使用机器学习的疾病预测原文:https://www.gees ... [详细]
  • 开源真香 离线识别率高 Python 人脸识别系统
    本文主要介绍关于python,人工智能,计算机视觉的知识点,对【开源真香离线识别率高Python人脸识别系统】和【】有兴趣的朋友可以看下由【000X000】投稿的技术文章,希望该技术和经验能帮到 ... [详细]
  • 聊聊 中国人工智能科技产业 区域竞争力分析及趋势
    原文链接:聊聊中国人工智能科技产业区域竞争力分析及趋势最近看了一个关于国内AI的报告《中国新一代人工智能科技产业区域竞争力评价指数(2021ÿ ... [详细]
  • 1.在OpenStack圈子中,有这么一句名言:不要让朋友在生产环境中运行DevStack。但是初学者在没有掌握OpenStackCLI的情况下用devstack安装测试环境还是不 ... [详细]
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社区 版权所有