机器学习之路一:线性模型、非线性模型、神经网络
机器学习之路
一:线性模型、非线性模型、神经网络
二:神经网络的激活函数与损失函数
三:神经网络实现分类与回归
四:神经网络的发展---深度学习
五:卷积神经网络、图片分类与文本分类
六:基于卷积神经网络的图片、文本分类文献阅读
七:递归神经网络、时间序列预测
八:迁移学习、模型微调
九:基于递归神经网络和迁移学习的文献阅读
十:论文写作指导
一: 线性模型、非线性模型、神经网络
机器学习做什么
机器学习流程
机器学习原理
1、输入x:一般以m表示输入样本数量,n表示每个样本具有的属性个数。
:表示第i个样本的x向量
:表示i个样本的第j个维度的值
2、输出y:目标值/标签值。
3、假设函数(Hypothesis):
4、需要求解的参数(Parameters):
5、损失函数(Loss/Error function):单个样本的误差。
6、代价函数(Cost function):训练集所有样本损失函数之和的平均值。
为的预测值; Goal:
7、目标函数(Objective function):代价函数加上正则项
8、鲁棒性(Robustness):表示系统对特性或参数扰动的不敏感性,即系统的健壮性、稳定性,当存在部分异常数据时算法也会很好的拟合数据集。
9、拟合:构建的算法符合给定的数据集的特征程度。
欠拟合(Underfitting):high bias 算法不太符合给定数据集的特征。
过拟合(Overfitting):high variance 算法太符合给定数据集的特征,但对新数据集特征的拟合程度差。
机器学习实例
一个完整的端到端机器学习项目 实例分析
怎样区分线性和非线性
1、线性linear指量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数;
非线性non-linear则指不按比例、不成直线的关系,一阶导数不为常数。
2、线性的可以认为是1次曲线,比如y=ax+b ,即成一条直线;
非线性的可以认为是2次以上的曲线,比如y=ax^2+bx+c,(x^2是x的2次方),即不为直线的即可。
3、两个变量之间的关系是一次函数关系的——图象是直线,这样的两个变量之间的关系就是“线性关系”;
如果不是一次函数关系的——图象不是直线,就是“非线性关系。
4、“线性”与“非线性”,常用于区别函数 y = f(x) 对自变量x的依赖关系。
线性函数即一次函数,其图像为一条直线。其它函数则为非线性函数,其图像不是直线。
线性模型和非线性模型区别
1、线性模型可以是用曲线拟合样本,但是分类的决策边界一定是直线的,例如logistics模型。
2、区分是否为线性模型,主要是看一个乘法式子中自变量x前的系数w,如果w只影响一个x,那么此模型为线性模型。或者判断决策边界是否是线性的。
3、举例:
此模型画出y和x是曲线关系,但是它是线性模型,因为x1*w1中可以观察到x1只被一个w1影响
此模型是非线性模型,观察到x1不仅仅被参数w1影响,还被w5影响,如果自变量x被两个以上的参数影响,那么此模型是非线性的!
4、其实最简单判别一个模型是否为线性的,只需要判别决策边界是否是直线,也就是是否能用一条直线来划分。
举例:
神经网络是非线性,虽然神经网络的每个节点是一个logistics模型,但是组合起来就是一个非线性模型。
此处我们仅仅考虑三层神经网络
第一层的表达式:
第二层的表达式:
将第一层的表达式带入第二层表达式中,可以观察到x1变量不仅仅被w1影响还被k2影响,所以此模型不是一个线性模型,是个非线性模型。
线性模型与非线性模型图像
常见的线性分类器有:LR, 贝叶斯分类,单层感知机、线性回归
常见的非线性分类器:决策树、RF、GBDT、多层感知机SVM两种都有(看线性核还是高斯核)
普通神经网络与其他机器学习方法的效果比较
对于结构化的数值数据来说,普通神经网络没有SVM、随机森林、xgboost、lightGBM效果好,因为数据特征简单、人为加了一些更有效的特征(数值数据特征、文本TF-IDF特征、图像SIFT特征)
为什么要学习神经网络
深度学习(深度神经网络)
对于非结构化数据(文本、图像),人为创建特征困难,没有了创建好的特征,其他机器学习方法也没办法取得好的效果
深度神经网络可以实现特征的自动提取—这是它最大的优势
神经网络原理
小白都能看懂的神经网络教程
激活函数
常见的传统激活函数主要有两个:sigmoid和tanh。
sigmoid函数
它是使用范围最广的一类激活函数,具有指数函数形状,在物理上最接近神经元。它的输出范围在(0,1)之间,可以被表示成概率,或者用于数据的归一化。但是它有两个严重的缺陷:
1. 软饱和性——导数 f'(x)=f(x)(1-f(x)),当x趋于无穷时,f(x)的两侧导数逐渐趋于0。在后向传递时,sigmoid向下传递的梯度包含了一个f'(x)因子,因此,一旦落入饱和区f'(x)就变得接近于0,导致了向后传递的梯度也非常小。此时,网络参数很难得到有效训练,这种现象被称为梯度消失。一般在5层以内就会产生梯度消失的现象。
2. sigmoid函数的输出均大于0,这就使得输出不是0均值,这称为偏置现象。这将会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。
tanh函数
tanh函数与sigmoid函数相比,输出均值为0,这就使得其收敛速度要比sigmoid快,从而可以减少迭代次数。 缺点就是同样具有软饱和性,会造成梯度消失。针对sigmoid和tanh的饱和性,产生了ReLU函数。
ReLU函数
ReLU全称为Rectified Linear Units,可以翻译成线性整流单元或者修正线性单元。
它在x>0时不存在饱和问题,从而使保持梯度不衰减,从而解决了梯度消失问题。这让我们能够直接以监督的方式训练深度神经网络,而无需依赖无监督的逐层预训练。然而,随着训练的推进,部分输入会落入硬饱和区,导致对应权重无法更新,这种现象称为“神经元死亡” 与sigmoid类似,ReLU的输出均值也大于0,所以偏移现象和神经元死亡共同影响网络的收敛性。
Leaky-Relu函数
为了避免ReLU在x<0时的神经元死亡现象,添加了一个参数。
ELU函数
它结合了sigmoid和ReLU函数,左侧软饱和,右侧无饱和。 右侧线性部分使得ELU能缓解梯度消失,而左侧软饱和能让对ELU对输入变化或噪声更鲁棒。ELU的输出均值接近于0,所以收敛速度更快。
以下解释更详细
https://www.cnblogs.com/lliuye/p/9486500.html
https://www.jianshu.com/p/dc4e53fc73a0
https://blog.csdn.net/c123_sensing/article/details/81531519
梯度消失和梯度爆炸
详解机器学习中的梯度消失、爆炸原因及其解决方法
https://blog.csdn.net/qq_25737169/article/details/78847691
损失函数
神经网络Loss损失函数总结
https://blog.csdn.net/willduan1/article/details/73694826
机器学习之路一:线性模型、非线性模型、神经网络相关推荐
- 【深度】机器学习进化史:从线性模型到神经网络
[深度]机器学习进化史:从线性模型到神经网络 Reza Zadeh是斯坦福大学工程计算和数学研究所顾问教授,也是Databricks公司技术顾问,他主要专注于机器学习理论和应用,分布式计算,以及离散应 ...
- 机器学习的路,感觉很受用
营长的一位转型AI的朋友,最近对营长抱怨,"走过的最远的路,就是机器学习过程中的弯路",然后开始各种blablabla,从论文的坑,到模型的坑,再到培训的坑...一路吐槽. 尤其是 ...
- l2正则化python_机器学习入门之机器学习之路: python线性回归 过拟合 L1与L2正则化...
本文主要向大家介绍了机器学习入门之机器学习之路: python线性回归 过拟合 L1与L2正则化,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 正则化: 提高模型在未知数据上的 ...
- 《机器学习》第四章 人工神经网络 深度学习启蒙篇
神经网络是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术. 本文以一种简单的,循序的方 ...
- 仅需10分钟:开启你的机器学习之路
选自freecodecamp 作者:Tirmidzi Faizal Aflahi 机器之心编译 机器学习之路虽漫漫无垠,但莘莘学子依然纷纷投入到机器学习的洪流中.如何更有效地开始机器学习呢?所谓「八仙 ...
- 机器学习基础(一)——人工神经网络与简单的感知器
机器学习基础(一)--人工神经网络与简单的感知器 (2012-07-04 19:57:20) 转载▼ 标签: 杂谈 分类: machineのlearning 从最开始做数据挖掘而接触人工智能的知识开始 ...
- 学习笔记----周志华《机器学习》第五章(神经网络)(二)
周志华<机器学习>第五章(神经网络)的学习笔记上篇连接在这里:<上篇>.上篇讲到了神经网络.常用的激活函数.感知机和多层前馈神经网络.局部极小和全局最小,今天继续补上昨天落下得 ...
- python3中多项式创建_机器学习入门之机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合...
本文主要向大家介绍了机器学习入门之机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 分享 ...
- 干货 | 仅需10分钟,开启你的机器学习之路!
点击"小詹学Python",选择"置顶"公众号 重磅干货,第一时间送达 本文转载自机器之心,禁二次转载 机器学习之路虽漫漫无垠,但莘莘学子依然纷纷投入到机器学习 ...
- 吴恩达机器学习作业Python实现(四):神经网络(反向传播)
吴恩达机器学习系列作业目录 1 Neural Networks 神经网络 在这个练习中,你将实现反向传播算法来学习神经网络的参数.依旧是上次预测手写数数字的例子. 1.1 Visualizing th ...
最新文章
- Xilinx FPGA 仿真环境设置(ISE + Modelsim + Debussy)
- 【ABAP】如何根据PR号删除PM单的组件
- python中dom模块_Python中使用dom模块生成XML文件示例
- 一个小小指针,竟把Linux内核攻陷了!
- canvas特效代码详解(2)
- python selenium 用法 和 Chrome headless
- C语言 结构体的初次运用
- shell脚本的作用
- java android 服务器_Android/Java从服务器端下载图片
- 条款2.	最好使用C++转型操作符
- 保持稳定迭代的秘密:基于Spinnaker的全自动渐进式交付
- 加密php大马,webshell加密-加密你的大马
- 斑马打印机linux驱动安装教程,win7系统安装斑马打印机驱动的操作方法
- 小程序获取用户的openid(详解)
- 方正税控计算机配置,方正计算机U盘启动优先级的BIOS设置说明_IT /计算机_信息...
- 关于LNode 和* LinkList
- cdrom是多媒体微型计算机,2011年计算机一级考试理论试题:多媒体
- 用Wireshark简单分析HTTPS传输过程-抓包过程
- 《图解HTTP》摘录
- 计算机专业笔记本硬盘需要多少,笔记本电脑固态硬盘要多大的合适_教你购买适合的固态硬盘...