教育背景 软件专业本科。最近在学习coursera 上的斯坦福andraw的课程 machine learning机器学习。
对于课程中假设函数、代价函数为什么那样构造很费解。
于是整理了下相关概念,这篇是我的学习笔记,也希望对 同样刚接触机器学习,且 算法、数学、统计学、信息论的基础不是很深,如理工科本科学历基础的同志们有点帮忙。有参考很多人的文字,遥表感谢! 未做商业用途,如有侵权,立马删除。
一、最小二乘法
思想是权衡 根据样本们权衡出一条模拟函数
顾名思义: 构建一个模拟函数 调整模拟函数的参数们theta 使得样本值和模拟函数算出来的值方差最小。 二乘就是方差的意思。
如上图工资与学历的关系中,3个点是现有样本, 在三个数据,三条线中间取得某种平衡作为我们的最终模拟的工资与学历的函数,类似于图中的红线这样
@@
数学: 1、构建假设函数 h theta(x)
2、构建代价函数 也就是方差 J theta (x)= h theta(x)- y
3、J theta (x)对theta求导, 在代价函数是凸函数的情况下,导数为0就是极值点。
4、上步导数=0,得出theta的值,要么用正则方程 用算逆矩阵解出theta;用梯度下降 通过迭代得到theta ,当theta是一组值而不是一个值上,上步是对各theta求偏导,也就是梯度。
5、为了防止过度拟合,因为认为参数值越少越简单就越不容易过度拟合,于是目标由代价函数最小 变为了 lenta*theta的平方也要最小,对应数学就是使得 和 = J(theta)+ lenta*theta的平方 最小
矩阵写法的公式及推导如下:
二、最大似然 思想是自恋 我们能看到这些样本而不是别的样本,那说明冥冥中自有天意——这些样本的出现是概率最大的。
数学:
1. 构建似然函数;
2. 如果无法直接求导的话,对似然函数取对数;(对数还有一个好处,使乘法变加法):
3. 求导数 ;
4. 求解模型中参数的最优值。
关于对数似然可以看下图
三、熵
信息论里,熵,就是一个事件所包含的信息量
四、
K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵。在概率学和统计学上,我们经常会使用一种更简单的、近似的分布来替代观察数据或太复杂的分布。K-L散度能帮助我们度量使用一个分布来近似另一个分布时所损失的信息。
ps:
下面这两篇对熵、对K-L散度的解释得不错,可参看
https://www.cnblogs.com/liaohuiqiang/p/7673681.html
Aspirinrin的这篇 https://www.jianshu.com/p/43318a3dc715?from=timeline
公式:
注意1:K-L散度,是一种量化两种概率分布P和Q之间差异的方式,但它并不是像两点间距离那样a到到b的距离 = b到a的距离。也就是DKL(A||B) <> DKL(A||B)。为什么? 这就像条件概率P(A/B)<>P(B/A) 一样。 注意K-L散度也就是Dkl公式中有用到条件概率。
注意2:K-L散度公式图已经有写,公式减号左边就是事件A的熵。我们再回顾一下 K-L散度的概念—— 是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵。“相对熵”可不是“熵之差”啊!如果是熵之差那建号右边就是事件B的熵了!