提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
大四本科生,第一次接触机器学习,记录学习历程。
一、机器学习的发展历史
Rosenblatt提出了Perceptron(感知器)概念,设计了第一个神经网络NN(线性回归)。但是人们很快发现线性感知机无法解决异或问题,使得机器学习发发展一度停滞。
后来,Werbos提出多层感知机,解决了线性模型无法解决的异或问题(加入了非线性激活函数sigmoid、ReLU),而后进一步发展,有了卷积神经网络(CNN)计算模型,推导出基于BP算法的高效训练方法[反向传播],与此同时传统机器学习算法也逐渐兴起,决策树、SVM相继提出,取得了比多层感知机更好的效果,而神经网络由于存在训练过程中梯度爆炸和梯度消失的问题,逐渐衰弱。
二十世纪九十年代,传统机器学习进一步发展,涌现出random forest、adaboost等更优秀的算法,神经网络一度成为学术界的“下水道”
到二十一世纪初期,深度学习的到来,使得NN网络架构焕发出新的活力,残差神经网络架构解决了神经网络无法叠加多层的问题。
二、机器学习概念
2.1 机器学习的本质
寻找这样函数的一般表达式,能够对输入的数据产生想要的输出结果。
为什么这样表示?
任意的函数关系,都可以使用一个constant和一些折线进行线性组合得到,或者去逼近;这个折线段模型通常使用sigmoid函数(映射到0-1)去近似逼近
sigmod函数图像
为什么是折线而不能使用wx+b直线,为什么加偏置?
当使用直线段时,无法去表示任何一个函数,偏置的增加是为了摆脱中心原点的束缚,使得拟合的函数与原点无关。
2.2 引入DeepLearning
损失函数:define loss from training data(L(b,w): a function of the parameters)
损失函数为各误差的平均值MAE、MSE、cross entropy
参数更新:optimization(gradient descent)最佳化参数,梯度下降(沿着梯度的反方向按照学习率的进行参数更新)
Cross entropy 交叉熵代表两个分布的接近程度
2.3 逻辑回归和线性回归
为什么线性回归使用平方差,逻辑回归使用交叉熵?
因为逻辑回归带有sigmoid函数,使用平方差的损失函数,做梯度计算时会收到影响。