- 线性模型
这些模型都是把输入的特征 x 乘上一 个权重,再加上一个偏置就得到预测的结果,这样的模型称为线性模型
分段线性曲线
Hard Sigmoid 函数的特性是当输入的值,当 x 轴
的值小于某一个阈值(某个定值)的时候,大于另外一个定值阈值的时候,中间有一个斜坡。
所以它是先水平的,再斜坡,再水平的。所以红色的线可以看作是一个常数项加一大堆的蓝
色函数。常数项设成红色的线跟 x 轴的交点一样大。常数项怎么加上蓝色函数后,变成红色的这一条线? 蓝线 1 函数斜坡的起点,设在红色函数的起始的地方,第 2 个斜坡的终点设在第一个转角处,让第 1 个蓝色函数的斜坡和红色函数的斜坡的斜率是一样的,这个时候把 0+1 就可以得到红色曲线左侧的线段。接下来,再加第 2 个蓝色的函数,所以第 2 个蓝色函数的斜坡就在红色函数的第一个转折点到第 2 个转折点之间,让第 2 个蓝色函数的斜率跟红色函数的斜率一样,这个时候把 0+1+2,就可以得到红色函数左侧和中间的线段。 接下来第 3 个部分,第 2 个转折点之后的部分,就加第 3 个蓝色的函数,第 3 个蓝色的函数坡度的起始点设的跟红色函数转折点一样,蓝色函数的斜率设的跟红色函数斜率一样,接下 来把 0+1+2+3 全部加起来,就得到完整红色的线。所以红色线,即分段线性曲线可以看作是一个常数,再加上一 堆蓝色的函数。分段线性曲线可以用常数项加一大堆的蓝色函数组合出来,只是用的蓝色函
数不一定一样。要有很多不同的蓝色函数,加上一个常数以后就可以组出这些分段线性曲线。
如果分段线性曲线越复杂,转折的点越多,所需的蓝色函数就越多。
模型变形
其实还可以对模型做更多的变形,不一定要把HardSigmoid换成SoftSigmoid。HardSigmoid可以看作是两个修正线性单元的加总,ReLU的图像有一个水平的线,走到某个地方有一个转折的点,变成一个斜坡,其对应的公式为
c∗max(0,b+wx1)
深度学习的训练会用到反向传播,其实它就是比较有效率、算梯度的方法。
机器学习框架
1. 先写出一个有未知数 θ 的函数,θ 代表一个模型里面所有的未知参数。fθ(x) 的意思就 是函数叫 fθ(x),输入的特征为 x,2. 定义损失,损失是一个函数,其输入就是一组参数,去判断这一组参数的好坏; 3. 解一个优化的问题,找一个 θ,该 θ 可以让损失的值越小越好。让损失的值最小的 θ 为 θ ∗,即 θ ∗ = argmin 有了 θ ∗ 以后,就把它拿来用在测试集上,也就是把 θ ∗ 带入这些未知的参数,本来 fθ(x) 里面有一些未知的参数,现在 θ 用 θ ∗ 来取代,输入是测试集,输出的结果存起来,上传到 Kaggle 就结束了