接(上)
- 线性模型无法真的模拟真实情况,称为model bias。
- All Piecewise Linear Curves=constant(常数) + sum of a set of (linear curves)只要有足够多的简单曲线就可以无限逼近连续的曲线。
- 假设x和y的关系很复杂也无妨,想办法写一个带有未知数的function(即为蓝色function+常数),蓝色function可以用sigmoid function来逼近。通过调整b,w,c,即可获得不同形状的sigmoid。有了不同的sigmoid也就可以逼近不同的piecewise linear(分段线性)的function,然后又可以拿来近似各种不同的continues的function.
接下来将分别介绍机器学习训练的三步:
-
1.构建含有未知参数的function:
- eg:上面的是前一天的点击率,下面是前28天的点击率
- 其中j表示的是feature的个数,i表示的是有多少个blue curve也就是sigmoid function。wij表示在第i个sigmoid里面乘给第j个feature的权重。r1、r2、r3和三个参数的关系如下所示。
- 括号里面的用r来表示
问答:①sigmoid越多,产生的线段越多,产生的分段函数越复杂,就可以越逼近连续曲线。
- eg:上面的是前一天的点击率,下面是前28天的点击率
-
2.定义训练数据的loss function
-
3.optimization优化
对每一个参数都拿去计算对L的微分,集合起来就是一个向量,即为gradient.
实际上在更新参数时:往往将一大笔资料N随机划分为一个一个的batch B,就是划分为一个一个的组B。
-
update和epoch的区别:update:每次更新一次参数;epoch:把所有的Batch都看过一遍
-
还可以做其他的改动:activation function
叠加两个ReLu才可以得到hard sigmoid。
-
给神经网络重命名:Deep = Many hidden layers
- Why we want “Deep” network, not “Fat” network?这个问题还有待解决:)
-
过拟合Overfitting:在训练的结果上很好,但是在测试集上的结果并不理想。
-
关于如何选择模型下次课会继续讲解
-
持续更新~~~