一、线性模型
线性模型是把输入的特征ⅹ乘上一个权重,再加上一个偏置来得到预测的结果。
1、分段线性曲线
由于各种原因,模型往往无法模拟出真实的情况,这一来自于模型的限制被称为模型的偏差。因此,人们需要写一个更复杂、更灵活、有未知参数的函数来更贴切地模拟真实情况,这就是分段线性曲线的出现理由。
只要有不同的w不同的b不同的c,就可以制造出不同的Sigmoid函数(函数表达式为y = c*(1 / (1+e^(b+wⅹ) ) ),使用这些Sigmoid函数则可以逼近一个Hard Sigmoid函数;而分段线性曲线可以被看作一个常数和一堆Hard Sigmoid的组合,所以把不同的Sigmoid函数叠起来以后就可以去逼近各种不同的分段线性函数;而分段线性函数可以拿来近似各种不同的连续的函数。
通过这种方式,我们可以组合出各种不同的函数,从而得到更有灵活性的函数。
2、模型变形
Hard Sigmoid可以看作两个修正线性单元(Rectified Linear Unit,ReLU)的加总。ReLU的图像有一个水平的线,走到某地方有一个转折的点,变成一个斜坡,其对应的公式为:c*max(0,b+wⅹ)。
在机器学习中,Sigmoid或ReLU被称为激活函数(activation function)。
Sigmoid或ReLU被称为神经元(neuron),很多的神经元被称为神经网络(neural network)。人工智能就是模拟人脑。每一排称为一层,称为隐藏层(hidden layer),很多隐藏层就“深”,这套技术称为深度学习。
训练数据和测试数据上的结果不一致的情况被称为过拟合(overfitting)。深度学习的训练会用到反向传播(BackPropagation,BP)。
3、机器学习框架
训练的过程分为三个步骤:
1、先写出一个有未知数θ的函数,θ代表一个模型里面所有的未知参数。fθ(ⅹ)的意思是函数叫fθ(ⅹ),输入的特征为x;
2、定义损失。损失是一个函数,其输入就是一组参数去判断这一组参数的好坏;
3、解一个优化的问题,找一个θ,该θ可以让损失的值越小越好。让损失的值最小的θ为θ*,即θ*=arg min L。有了θ*以后,就把它拿来用在测试集上,也就是把θ*带入这些未知的参数,未来fθ(ⅹ)里面有一些未知的参数,现在θ用θ*来取代,输入是测试集,输出的结果存起来,上传到kaggle就结束了。′