2026/2/5 机器学习定义&主要种类

0 阅读3分钟

试验了好多天,总算找到适合自己的学习路径。先看吴恩达的机器学习视频,然后整理总结笔记。话说为了在obsidian里敲出数学公式,也是难为我。笔记如下:

1. 机器学习定义

  • 一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升。eg. Samuel 的西洋棋程序,E是程序上万次的自我练习的经验,任务T是下棋,性能P是它在与一些新的对手比赛时,赢得比赛的概率。
  • 主要的两种类型:监督学习和无监督学习。

2.监督学习

  • eg.预测房价:给定一些房价的数据,基于这组数据,当给出一套想要出售的房子的尺寸,预测房价。

76b36ac3-1315-49d7-8e74-b41a2c3d42b4.png 我们可以拟合一条直线,然后根据这条线推测出,这套房子可能出售的价格,也可以用二次方程去拟合可能效果会更好。然后我们将讨论如何选择学习算法,如何决定用直线还是二次方程来拟合,让房子出售的更合理。

76b36ac3-1315-49d7-8e74-b41a2c3d42b4.png

  • 监督学习:我们给学习算法一个数据集,这个数据集由“正确答案”组成,然后选择运用学习算法,算出更多的正确答案。房子出售问题被称为回归问题。回归的意思是我们在试着推测出这一系列连续值属性。

  • eg.通过病历来推测乳腺癌良性与否

0881301c-e495-4eec-a3e8-90098b57cb61.png 在数据集中,横轴表示肿瘤大小,纵轴1&0表示是或不是恶性肿瘤。给一些肿瘤样本,并基于此,针对给出的一个检查结果,来估算是否是恶性的概率,这是一个分类问题,即我们试着推测出离散的输出值。 在一些机器学习问题中,有可能将有无限多种特征都将处理,后面会有一个算法,叫[[支持向量机]],设置了一个巧妙的数学技巧,能让计算机处理无限多个特征。

d65bec91-c69d-4533-a338-4738d79f63d9.png

3.无监督学习

  • eg.聚类应用的例子:谷歌新闻,每天都在收集非常多的网络的新闻内容,再将这些新闻分组,组成有关联的新闻,这个自动分组则是聚类

7cb372b4-d4a2-463c-b68d-f678fcfe9bba.png

  • eg.基因学应用:输入一组不同个体,对其中的每个个体,要分析出它们是否有一个特定的基因。运行一个聚类算法,把个体聚类到不同的类或不同类型的组(人)。。。

0b6dd41a-5a1d-471c-b510-707d0300d13e.png

  • 无监督学习:值提供一堆数据,不知道正确答案,由算法自动找出其中的规律,自动聚类个体到各个类。有着大量的应用,如组织大型计算机集群,社交网络的分析,市场分割、天文数据分析。
  • 鸡尾酒宴会问题:[w,s,v]=svd((repmat(sum(x.x,1),size(x,1),1).x)x)[w,s,v]=svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x')
  • 将使用Octave编程环境。

4.单变量线性回归

4.1模型表示

  • 预测住房:给定一些已经特征&售价的房屋数据,基于数据集(训练集),选择合适算法推测其他样本特征情况下的房价可能情况。

4308a370-ec01-435c-848c-fa34c722e008.png 用小写m来表示训练样本的数目:

size in feet^2(x)price($) in 1000's (y)
2104460
1416232
1534315
852178
......
用来描述这个回归问题的标记如下:
m 代表训练集中实例的数量
x 代表特征/输入变量
y 代表目标变量/输出变量
(x,y)代表训练集中的实例
$(x^{(i)},y^{(i)})$  代表第 i 个观察实例
h代表学习算法的结算方案或函数,也称为假设(hypothesis),是一个从x到y的函数映射

9e711792-6054-49f3-868d-5e2b87d2d19b.png 因为只有一个特别/输入变量,因此这样的问题叫做单变量线性回归问题,一种更可能的h表达方式为:hθ(x)=θ0+θ1xh_{\theta}(x)=\theta_{0}+\theta_{1}x

4.2代价函数

ddee0bd0-0ac3-4537-be9c-083add7274b7.png

  • 我们要做的是为我们的模型选择合适的参数(parameters)θ0θ1\theta_{0}和\theta_{1},在房价问题中便是直线在y轴上的截距和斜率。
  • 参数不同,得到的直线相对于我们的训练集的准确程度不同,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)

093920c0-2ff1-479f-94f9-e6e506565557.png

  • 目标便是选择出使得建模误差的平方和最小的模型参数。即使得代价函数J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2J(\theta_{0},\theta_{1})=\frac{1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2} 绘制一个等高线图,三个坐标分别为θ0θ1J(θ0,θ1)\theta_{0}、\theta_{1}和J(\theta_{0},\theta_{1}),在三维空间中存在一个使得J(θ0,θ1)J(\theta_{0},\theta_{1})最小的点。
  • 故代价函数也被称为平方误差函数,或平方误差代价函数

4.3代价函数的直观理解1

959857b9-61c7-4a6a-b965-4b035160d01c.png i=1: hθ(x)=0h_{\theta}(x)=0 J(0)=16(12+22+32)J(0)=\frac{1}{6}(1^2+2^2+3^2)=2.3

i=2: hθ(x)=0.5xh_{\theta}(x)=0.5x J(0.5)=16((10.5)2+(21)2+(31.5)2)=3.56J(0.5)=\frac{1}{6}((1-0.5)^2+(2-1)^2+(3-1.5)^2)=\frac{3.5}{6}

i=3: hθ(x)=xh_{\theta}(x)=x J(1)=16(0+0+0)=0J(1)=\frac{1}{6}(0+0+0)=0