林轩田机器学习基石(Machine Learning Foundations)笔记(二)

截图一时爽,归纳火葬场 = =、

2. Learning to answer yes_no

P6 2.1
x = (x1,x2, … xd)表示用户的各种特征,threshold表示阈值
y = { +1(good) , -1(bad) } ,注意 0 的情况很少见,而且也没有多大意义
h ∈ H
h(x) = sign(求和(1~d)wixi - threshold)
= sign(求和(0~d)wi
xi) 注:x0 = 1 , w0 = threshold
h(x)可以表示一条直线,划分o(+1)和 x(-1)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(一维的线性分类器,高维度的也类似(???不大懂怎么类似法,好像画不出来?))

P7 2.2
尽量让 g ≈ f on D上
以下在二维平面内:

需要找到一条线尽量拟合f

有那么一个(知错能改的)思路(PLA):
(perceptron learning algorithm 感知学习算法)
从一条线g0出发,想办法慢慢让他变得更好
t 代表第t轮
出现错误开始修正
wt+1 ← wt + yn(t)xn(t)
直到没有找出错误
(知错能改善莫大焉演算法)
【疑问:为什么是y
x
找到一些网址:https://zhuanlan.zhihu.com/p/30641772
b站东博士评论也有讲,不过看不大懂】
在这里插入图片描述
! 我懂了,里头y只是-1或者1而已,如果w和x的夹角>90°
假设一开始有w0,x0,y0
则w0内积(或者说点乘)x0 < 0,sign(w0·x0)= -1 ,如果y0此时等于+1
就上面那张图的情况,就有sign(w0
x0)!= y0
(sign函数不知道百度百科就行了)
因此,因为x0平移一下就是那个虚线,那么,w0+x0(虚线),就得到紫色那个:w0 + y0x0 即 w0+x0,成为新的w,记为w1
这么做的话,w1和x0的夹角就<90°,内积自然>0,sign(w1*x0) = 1 = y0
w更新成功,接下来按照思路不断更新知道每个数据都不会分错为止
在这里插入图片描述
注意,划分线(划分粉色和蓝色)的时候,线的方向取的是和w的方向垂直的方向,一下子没懂,看了弹幕才知道
因为w和x夹角为锐角的就是O,为钝角的就是X嘛,因此分界线就是90度的方向

关于知错能改算法:
这个方法会停下来吗?
停下来后确定的g真的很拟合f吗
(可能只是拟合了训练集)

习题答案:
选3是因为wt+1 = wt + ynxn
左右两边乘个yn
xn
就可以知道yn*wt+1(T)xn >= ynwt(T)xn
这个式子表示的是第6课的那个公式w
x,分数-门槛值
跟前置比后者跟yn更加拟合,说明更新出来的g真的在接近f

P8 2.3
证明PLA收敛性:
在这里插入图片描述
在这里插入图片描述
最后,习题里面证明PLA的收敛性的constant是什么:
https://www.cnblogs.com/porco/p/4605597.html
具体怎么证明没有看,constant就等于 = p/R^2

P9 2.4
针对有噪音或者资料不是线性可分,PLA可能不会停下来,
特别是资料不是线性可分的时候,PLA不会停下来

在2维上的图,找到一条线,犯错误最小
这是个np hard 问题,难以解决
在这里插入图片描述
因此,找一个有点贪心的做法找到还不错的线:
用贪心来PLA解决(pocket),跑一定次数,找已知的最好的w
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Only_Wolfy/article/details/89354827
今日推荐