机器学习笔记(1)——线性回归

前言

笔者一直在ipad上做手写笔记,最近突然想把笔记搬到博客上来,也就有了下面这些。因为本是给自己看的笔记,所以内容很简陋,只是提了一些要点。随缘更新。

正文

step1 build model

最简单的模型——一元线性模型:

y = b + w x y = b + w·x

稍复杂一点——多元线性模型:

y = b + w i x i y = b + \sum w_ix_i

  • x: 各种特征
  • w w : 各个特征的权重值
  • b: 偏移量

step2 Goodness of Function

Loss function L: 评估模型好坏

L ( w , b ) = i = 1 n ( y i ( b + w i x i ) ) 2 L(w,b)= \sum_{i=1}^{n}\left ( y_i - (b + w_i·x_i) \right )^2
L越小,说明模型误差越小。

step3 最佳模型 - gradient decent

目标:

w = a r g   min x L ( w ) w^* = arg\ \underset{x}{\operatorname{\min}} L(w)

  • w w^*为最佳参数

随机取一个点,重复 w 0 η L w w = w 0 w_0 - \eta\frac{\partial L}{\partial w}|_{w=w_0} w 1 w_1 ( η \eta 为学习率),直到找到最优点。

更简洁的公式:

Δ L = [ L w L b ] \Delta L= \begin{bmatrix} \frac{\partial L}{\partial w} \\ \\ \frac{\partial L}{\partial b} \end{bmatrix}
由于是随机取 w 0 w_0 ,我们有可能找到的是局部最小值,而不是全局最小值。

过拟合

在模型上我们可以进一步优化,选择更复杂的模型。如一元二次方程。但更复杂的方程会导致在训练集上表现良好,但是在测试集上表现很差。

正则化

L ( w , b ) = i = 0 n ( y i ( b + w i x i ) ) 2 + λ w i 2 L(w,b)= \sum_{i=0}^{n}\left ( y_i - (b + w_i·x_i) \right )^2+\lambda\sum w_i^2

  • w w 越小,表示 f u n c t i o n function 较平滑的, f u n c t i o n function 输出值与输入值相差不大
  • 在很多应用场景中,并不是 w w 越小模型越平滑越好,但是经验值告诉我们 w w 越小大部分情况下都是好的。
  • b b 的值接近于0 ,对曲线平滑是没有影响

Bias and Variance

假设真实的模型为 f ^ \hat f ,通过数据我们得到的理想模型是 f f^*

Bias(偏差):
  • 拿出多个样本点,得出 f f^*
  • 计算很多 f f^* ,计算平均值 f \overline{f} ,得到 f = 1 N f n \overline{f}=\frac{1}{N}\sum f^*_n
  • 求出 f \overline{f} 的期望: E ( f ) = E ( 1 N f ) = 1 N E ( f ) E(\overline{f} )=E(\frac{1}{N}\sum f^*)=\frac{1}{N}\sum E(f^*) f ^ \hat f

E ( f ) E(\overline{f} ) f ^ \hat f 的差距称为bias。

扫描二维码关注公众号,回复: 10332602 查看本文章
Variance(方差):

s 2 = 1 N n ( f f ^ ) 2 s^2=\frac{1}{N} \sum_{n}(\overline{f}-\hat f)^2

代表模型与模型之间的误差

归纳
  • 简单的模型方差较小,因为简单的模型受到不同训练集的影响比较小。
  • 复杂模型的偏差较小,因为复杂模型的空间较大,可能就包含靶心。

在这里插入图片描述

判断
  • 如果模型没有很好的符合训练集,就是偏差过大,就是欠拟合
  • 如果模型很好的符合训练集,但是在测试集上得到较大的错误,这意味着模型可能方差较大,就是过拟合

梯度下降技巧

Adagrad算法

(未完待续)

发布了3 篇原创文章 · 获赞 10 · 访问量 158

猜你喜欢

转载自blog.csdn.net/weixin_43901221/article/details/105211639