cs229-1
本文全部参考自https://blog.csdn.net/stdcoutzyx?type=blog,仅作学习使用
文章目录
监督学习supervised learning
基于标记数据的学习
- 回归问题regression:连续数据(房屋价格)
- 分类问题classification:离散数据(肿瘤的恶性与否)
线性回归
以房价为例,假设房价与房屋面积和卧室数目两种因素有关。
m:训练数据的大小
x:输入变量
y:输出变量
假设函数如下:
h
(
x
)
=
θ
0
+
θ
1
x
1
+
θ
2
x
2
=
∑
i
=
1
2
θ
i
x
i
=
h
θ
(
x
)
h(x)=\theta _{0}+\theta_{1}x_{1}+\theta_{2}x_{2}=\sum_{i=1}^{2}\theta_{i}x_{i}=h_{\theta}(x)
h(x)=θ0+θ1x1+θ2x2=∑i=12θixi=hθ(x)
将h(x)表示为以θ为参数的公式如下:
h
θ
(
x
)
=
∑
i
=
0
n
=
θ
T
x
h_{\theta}(x)=\sum_{i=0}^{n}=\theta^{T}x
hθ(x)=∑i=0n=θTx
由此,可以定义要优化的函数:
J
(
θ
)
=
1
2
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2}
J(θ)=21∑i=1m(hθ(x(i))−y(i))2
要找出使上述函数最小的参数值。
- 使用梯度下降法求参数,更新规则如下:
θ j : = θ j − α ∂ ∂ θ j J ( θ ) \theta_{j}:=\theta_{j}-\alpha\frac{\partial }{\partial\theta_{j}}J(\theta) θj:=θj−α∂θj∂J(θ)
对函数求偏导:
将偏导结果代入到更新规则中,可以得到:
上述方法针对的是只有一个训练实例的情况,被称为最小二乘法(LMS,least mean squares),也被称为Widrow-Hoff学习规则
考虑m个实例,更新规则变成以下方式:
运用上述规则直到收敛,就是批梯度下降法(batch gradient descent)
注:收敛判断规则:
- 两次迭代后参数的变化
- 两次迭代后目标函数的变化
只根据一个训练实例对θ进行更新直到收敛被称为随机梯度下降(stochastic gradient descent)
- 参数学习算法:是一类有固定数目参数的用来进行数据拟合的算法(线性回归)
- 非参数学习算法:是一类参数数目随数据集增大而变多(一般是线性增大)的算法(局部加权回归)
局部加权回归LWR,Locally/Loess Weighted Regression
是对线性回归的扩展,对于目标假设不是线性模型,用线性模型进行拟合效果很差。所以在预测一个点的值时,选择和这个点相近的点而不是全部的点做线性回归。
基于上述思想,就产生了局部加权回归算法,它的目标函数是加权的最小二乘
w
(
i
)
w_{(i)}
w(i)是权值,作用是根据要预测的点与数据集中点的距离来为数据集中的点赋权值,当某点距离预测点较远时,权重较小,否则较大。
最小二乘法的概率解释
太难了,不看了QwQ
逻辑斯蒂回归logistic regression
对于目标值是离散变量的分类问题,应用线性模型有困难。
对于目标值是离散变量的二分类问题,假设目标值为{0,1},先改变模型使预测者在[0,1]之间,选择以下函数:
其中:
函数g被称为logistic函数或者sigmoid函数。
对于一个实例,可以得到分类的概率值:
将上述两个公式组合起来,可以得到以下公式:
由此得到函数h在整个数据集上的似然函数:
为了计算方便,对似然函数去对数:
多个样例的更新规则:
感知器算法
强迫函数输出值为{0,1}离散值而不是概率。
牛顿方法NewTon’s Method
与梯度下降方法一样,都是对解空间进行搜索的方法。
对于函数f(x),想要求函数值为0时x的值,
先随机选择一个点,求切线,延长至与x轴相交,以相交时x的值作为下一次迭代的值。更新规则如下:
将牛顿方法应用到机器学习中,优化目标函数(即极大似然估计L),当L取值最大时,即导数为0,可以得到更新规则如下:
上述是θ为实数的情况下,当参数为向量时,更新规则如下所示:
其中,H是一个n×n的矩阵,n为参数向量的长度,H为函数的二次导数矩阵,被称为Hessian矩阵。某个元素
H
i
j
H_{ij}
Hij计算公式如下所示:
- 优点:相对于梯度下降方法收敛速度快,通常十几次迭代就可以收敛,也被称为二次收敛。
- 缺点:当参数向量较大时,每次迭代都需要重新计算一次Hessian矩阵的逆,比较耗时。
指数分布族
是指可以表示为指数形式的概率分布。如下:
P ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) P(y;\eta )=b(y)exp(\eta^{T}T(y)-a(\eta)) P(y;η)=b(y)exp(ηTT(y)−a(η))
- η \eta η:分布的自然参数
- T ( y ) T(y) T(y):充分统计量,通常 T ( y ) = y T(y)=y T(y)=y
当 a 、 b 、 T a、b、T a、b、T都固定时,就定义了以 η \eta η为参数的函数族,大多数概率分布都可以表示成上述公式的形式。
- 伯努利分布:对0、1问题进行建模
- 多项式分布:对有K个离散结果的事件建模
- 泊松分布:对计数过程进行建模(网站访问量的计数问题;放射性衰变的数目;商店顾客数量等)
- 伽马分布与指数分布:对有间隔的正数进行建模(公交车的到站时间)
- β \beta β分布:对小数建模
- Dirichlet分布:对概率分布进行建模
- Wishart分布:协方差矩阵的分布
- 高斯分布(Gaussian):(省略证明过程。。。)
广义线性模型Generalized Linear Model,GLM
将指数分布族中所有成员都作为线性模型的扩展,通过各种非线性的连接函数将线性函数映射到其他空间从而大大扩展了线性模型可以解决的问题。
后面的GLM举例的多项式分布证明过程看不太懂就省略了…
生成学习算法
- 感知器算法和逻辑斯蒂回归算法都是在解空间中寻找一条直线从而把两种类别的样例分开,对于新的样例只需要判断在直线的哪一测即可,这种直接对问题求解的方法被称为判别学习方法discriminative learning algorithm
是直接对p(y|x)进行建模或者直接学习输入空间到输出空间的映射关系,其中,x是某样例的特征,y是某类样例的分类标记- 生成学习算法:是对两个类别分别进行建模,用新的样例去匹配两个模型,匹配度较高的作为新样例的类别
是对p(x|y)(条件概率)和p(y)(先验概率)进行建模,然后按照贝叶斯法则求出后验概率p(y|x): p ( y ∣ x ) = p ( x ∣ y ) p ( y ) p ( x ) p(y|x)=\frac{p(x|y)p(y)}{p(x)} p(y∣x)=p(x)p(x∣y)p(y),使得后验概率最大的类别y即是新样例的预测值
高斯判别分析(GDA)
是一种生成学习算法。
假设p(x|y)属于多变量正态分布。多变量正态分布是正态分布在多维变量下的扩展,它的参数是一个均值向量
μ
\mu
μ和协方差矩阵
∑
ϵ
R
n
∗
n
\sum\epsilon R^{n*n}
∑ϵRn∗n,多变量正态分布的概率密度函数为:
∣
∑
∣
|\sum|
∣∑∣是行列式的值
对于服从多变量正态分布的随机变量x,均值由下面的公式得到:
协方差矩阵由协方差函数Cov得到:
C
o
v
(
X
)
=
∑
Cov(X)=\sum
Cov(X)=∑
其中,cov的计算过程为:
GDA模型针对输入特征为连续值时的分类问题。假设y服从伯努利分布,条件概率p(x|y)服从正态分布。
p ( y ) = φ y ( 1 − φ ) 1 − y p(y)=\varphi^{y}(1-\varphi)^{1-y} p(y)=φy(1−φ)1−y
p ( x ∣ y = 0 ) = 1 ( 2 π ) n / 2 ∣ ∑ ∣ 1 / 2 e x p ( − 1 2 ( x − μ 0 T ∑ − 1 ( x − μ 0 ) ) ) p(x|y=0)=\frac{1}{(2\pi)^{n/2}|\sum|^{1/2}}exp(-\frac{1}{2}(x-\mu_{0}^{T}\sum^{-1}(x-\mu_{0}))) p(x∣y=0)=(2π)n/2∣∑∣1/21exp(−21(x−μ0T∑−1(x−μ0)))
p ( x ∣ y = 1 ) = 1 ( 2 π ) n / 2 ∣ ∑ ∣ 1 / 2 e x p ( − 1 2 ( x − μ 1 T ∑ − 1 ( x − μ 1 ) ) ) p(x|y=1)=\frac{1}{(2\pi)^{n/2}|\sum|^{1/2}}exp(-\frac{1}{2}(x-\mu_{1}^{T}\sum^{-1}(x-\mu_{1}))) p(x∣y=1)=(2π)n/2∣∑∣1/21exp(−21(x−μ1T∑−1(x−μ1)))
数据集上的极大似然函数的对数:
对极大似然函数对数最大化,就得到了GDA模型各参数的极大似然估计。
朴素贝叶斯Navie Bayes,NB
- GDA针对的是特征向量x为连续值时的问题,朴素贝叶斯针对的是特征向量x为离散值时的问题。
- NB算法应用于文本分类问题,例如邮件是否为垃圾邮件
朴素贝叶斯假设: x i x_{i} xi在给定 y y y的情况下是条件独立的。
## 无监督学习unsupervised learning
>数据没有被标注
>* 聚类
>…
## 加强学习reinforcement learning
>回报函数
原文地址:https://blog.csdn.net/wwang_123/article/details/127059401
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!