LinearRegression
- 由 \(f\) 接受样本的数据 \(input\) ,得到这组数据的 \(output\)。
Pokemon
- 想要通过面板的数据去预测这只宝可梦进化以后的CP值。
-
ML' basis setp
-
Step 1: Model
- 上述的模型是一种线性的\(Model\),
- \(x_i\)是各种的\(attr\)是属于\(x\)
- \(w_i\)是对应\(attr\)的权重\(weight\)
- \(b\)是截距\(bias\)
-
Step 2: Goodness of Function
- 模型的选入
- 上述的每一个样本标记有每一个pokemon的进化前和进化后的cp值
- Loss Function L:
- 可以理解为函数的函数
- \(L(f) = L(w,b)\)
- 用来衡量一组参数的好坏
- \(\sum_{n=1}^{10}(\hat y_n - (b + w\cdot x_{cp(n)})^2\)
- 估测误差越大就越不好,可以理解为\(Loss\ Function\)判断这个拟合函数的好坏
- 那么我们要找到的哪个拟合函数就应该是使得这个loss函数最小的那一组参数
- \(f^* = argminL(f)\)
- \(w^*, b^* = argminL(w, b)\)
- 而找到这个函数\(f\)的方法就是使用\(Gradient\ Descent\)
-
Step 3: Gradient Descent
-
-
步骤:
-
一个参数
- 随机选择一个初始的值\(w_0\)
- 计算每一个权重的对应微分值
- 更新\(w_1 =: w_0 - \alpha \frac{dL}{dw}|_{w=w_0}\)
-
\(w, b\)两个参数
- 选择两个初始值\(w_0, b_0\)
- 计算偏微分
- 更新$w_1 =: w_0 - \alpha\frac{\partial L}{\partial w}|_{w=w_0, b=b_0} $
- $b_1 =: b_0 - \alpha\frac{\partial L}{\partial b}|_{w=w_0, b=b_0} $
-
关于gradient
- 把偏微分写成一个向量之后这就是这个L的梯度。
-
visualization
-
-
关于local minimum and global minimum
-
- 对于Linear regression 来说仅仅存在一个global minimum,而不存在local minimum。
-
Formulation
-
-
可以使用\(Loss\ Function\) 去得到error
-
优化
-
使用一个额外的features
-
-
以及后面的四次方,等等等等
-
过拟合(\(overfitting\))
- 如果说feature越多,就意味着所蕴含的函数就越多,那么就更有可能去找到一个函数去拟合这组数据
- 在训练集可以做的很好,但是在测试集上做的就不一定很好。
-
Let‘s do more data.
-
-
当考虑到更多的数据时,会发现还有一种蕴藏的feature,比如Pokemon的物种。
- 使用\(\delta\)去判断Pokemon的种类,这样就使用对应种类的参数。
-
如果感觉还是不够优秀,那么我们就把所有的feature全部嵌入
- 但是
-
如何放置过拟合----使用Regularization
-
改变我们的\(Loss Function\)
-
\(Regularization\)
-
-
增加的那一项可以理解为故意增大\(Loss\ Function\)对函数\(f\)的差评,惩罚那些让拟合非常好的\(f\)
-
引入\(\lambda\ \ regularization\)的目的是为了让拟合函数\(f\)的值变得更加平滑。所以这里我们不对\(b\)进行正则化惩罚,是由于\(b\)是截距,不会影响曲线的平滑度。
-
-
-
-
-
-