1.前言
社畜一只,游手好闲,没有实际本领,特菜还爱玩,在学吴恩达教授的机器学习,同时也在阅读郭茂祖的机器学习基础教程,把里面的图用 python 做了一下,就随便写随便记,等调剂的信息。把学习笔记放在 overleaf 里, 感兴趣可以看看,以后慢慢更新吧,慢慢学。
https://www.overleaf.com/read/wpcvbxgcdjsb
2.基础知识
当然,前面还有大牛做的更好的笔记,github star 标星无数的,https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes。
前面6个视频,看起来其实很容易懂,主要就是讲一讲什么是机器学习,监督学习和非监督学习的区别,假设函数(hypothesis)、损失函数(loss)、回归与分类。写文章的时候目前就学到了这里。
所谓的机器学习,就是让给机器赋予了人类的思维,找到最好的解,根据解的可行性,解决所需要的问题。
3.监督学习与非监督学习
而监督学习与非监督学习最重要的是有没有样本数据标签进行训练学习,吴恩达教授课中的,肿瘤案,房价问题都已经明确告诉了你已有的样本标签,所以可以进行学习。
事实上,我在做毕设的时候还得区别强监督学习与弱监督学习,比如我在训练的时候,我是只进行了 label 还是既 label 了还是又指明了 label 标签框的位置,对于 yolo 格式来说,我既有框又有 txt 文件记录 框标的位置,这就是所谓的强监督学习,而弱监督学习,我仅仅框出了我所要的 instance,而没有给出框标的具体位置。强监督学习现在能到的 mAP 比较高,而弱监督学习我在听一个讲座的时候发现相对较弱,大概只能到 0.2 左右,这甚至是已经相对较好的结果了。像下图是识别好的结果,真正的强监督学习是一个框加 txt 标注位置以及类别。
3.假设函数与损失函数
假设函数与分类函数,吴恩达的课程中是以最简单的一元线性为例子的,比如我有一个房价(house price),然后有一个尺寸(feet)假设有一个一元的线性关系.
m | 训练集实例的数量 |
---|---|
x x x | 特征/输入变量 |
y y y | 代表目标变量/输出变量 |
( x , y ) (x,y) (x,y) | 代表训练集中的实例 |
x i , y i x_i,y_i xi,yi | 训练集中的实例 |
假设有一个函数
h θ ( i ) = w i x + w 0 h_{\theta}(i) = w_i x + w_0 hθ(i)=wix+w0
这就是所谓的假设函数,与我们小学学的 f ( x ) = a x + b f(x)= ax+b f(x)=ax+b 并没有本质上的区别。而损失函数(loss) 其实就是这个预测模型在输入输入值之后的预测值与实际值之后的值的差的函数,可以用多种函数来定义,可以使用平方差函数,也有绝对损失函数,例如:
L n = ∣ ( f n − f ( x n ) ∣ \mathcal{L}_n = |(f_n - f(x_n)| Ln=∣(f