知识点
了解什么是机器学习,什么是监督学习/无监督学习,回归算法/分类算法/聚类算法各适用于什么类型的机器学习知道假设函数、代价函数、梯度下降公式代表什么意思,以及它们的参数、自变量与因变量的意思熟悉向量的基本运算分析
监督学习回归问题求解过程如下: 1. 获取训练数据 2. 根据训练数据设一个假设函数(模型) 3. 根据模型与训练数据之间的建模误差得到代价函数 4. 求出代价函数的偏导函数 5. 根据代价函数与偏导函数求出代价函数的最小值 6. 模型训练完成
以课程中给出的房屋出售数据为例: 假设函数:hθ(x)=θ0x0+θ1x1 代价函数:J(θ0,θ1)=12m∑mi=1(hθ(x(i))−y(i))2 代价函数偏导数:∂∂θjJ(θ)=(hθ(x)−y)xj 目标:得到一组值 [θ0,θ1] 使 J(θ0,θ1) 数值最小,然后将θ0θ1 代入假设函数中预测非训练数据。 学习(迭代)过程: Repeat {
θ0:=θ0−α∂∂θ0J(θ0,θ1)
θ1:=θ1−α∂∂θ1J(θ0,θ1)
}
说明: 1. 代价函数中的m为训练数据的个数 2. 迭代式中的 α 为学习速率, α 越小迭代次数越多找到(局部)最优解越准确,但是代价是计算量越大,如果 α 的数值过大,有可能找不到(局部)最优解。 3. 往往让x0的数值为1, θ0=0,θ1=0 4. 迭代时,θ0 与 θ1 要同时更新(simultaneous update),课程上只要是说的梯度下降算法都要同时更新参数,没说为什么。
对于上面的那个Repeat过程想下一个一元二次方程求最小/大值就容易理解了。 如有方程 y=x2+6x−10 如何找出x*使得y的值最小。 随便设一个值,如x* = 0和一个步距值Δ=1,知道y = -10 第一次尝试,令x1 = x∗+1 或 x1= x*-1可知: x1=x∗+Δ=1,y=-2 x1=x∗−Δ=−1,y=−14 更新x* = -1 第二次尝试,令x2= x* + 1 或 x2= x*-1可知: x2=x∗+Δ=0,y=−10 x2=x∗−Δ=−2,y=−18 更新x* = -2 第三次尝试。。。一直尝试下去就能找到一个较小值,可以发现这里每次尝试都会重复上一次尝试中的运算,做了无用功。通过画出这个一元二次方程的曲线发现可以根据x点的切线的斜率自动调整Δ是正数还是负数,如 设x* = 0, 可知在x=0处切线的斜率为正数,将Δ设为负数 第一次尝试 x1=x∗−Δ=−1,y=−14 更新x* = -1 方程曲线在x=-1时的切线斜率为正数,将Δ设为负数 第二次尝试 x2=x∗−Δ=−2,y=−18 更新x* = -2 方程曲线在x=-2时的切线斜率为正数,将Δ设为负数。。。这样明显快多了,但是不能一直用眼睛观察曲线的斜率啊,这时就轮到导数出场了,根据导数可以直接得出x点在曲线上的斜率。就可以将上面重复的步骤写成程序了。 Repeat{ x* := x* - Δ∗y′(x∗) } 这里的x就是梯度下降中的θ, Δ就是梯度下降中的α, y’相当于∂∂θiJ(θ)
简单矩阵运算法则
Am,n∗Bn,m=Cm,m 如下:
[a00a10a01a11a02a12]∗⎡⎣⎢b00b10b20b01b11b21⎤⎦⎥=[c00c10c01c11]
其中: c00=a00∗b00+a01∗b10+a02∗b20
c01=a00∗b01+a01∗b11+a02∗b21
c10=a10∗b00+a11∗b10+a12∗b20
c11=a10∗b01+a11∗b11+a12∗b21
术语以及个人的理解
Machine learning is the field of study that gives computers the ability to learn without being explicitly PRogrammed.Machine learning(机器学习):一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升。supervised learning(监督学习):给定一批有“正确答案”或标签的数据集,根据这些数据训练出一个合适的模型,再根据这个模型预测其他不知道答案的数据的答案。回归问题与分类问题都属于监督学习。unsupervised learning(无监督学习):给定一批没有什么标签的数据(没有“答案”),算法根据这些数据的结构将其分为不同的聚集簇。聚类算法属于无监督学习。regression(回归):是统计学中的一个概念,指根据之前的数据预测出一个准确的输出值。比如,根据一组数据拟合出一个线形模型,其它数据画到模型上发现所有的点都在该线附近,称数据回归了,即回归到模型。这里是百度百科里的解释。gradient descent(梯度下降)算法:使用迭代的思想求参的过程。model(模型):是一种表达方式,其实就是假设函数,比如hθ(x)=θ0+θ1x 为一种模型,[θ0θ1] 为模型参数。modeling error(建模误差):模型所预测的值与训练集中的实际值之间的差距。cost function(代价函数):也叫平方误差函数,是所有建模误差的平方和。