监督学与无监督学习
监督学与无监督学习
监督学习:我们的学习算法使用的数据是给出正确答案的数据,然后我们运行学习算法,预测出更多的正确答案。(理解为像深度需学习类似,利用训练样本训练处学习模型,然后用测试样本对学习到的模型进行检测,输出预测结果。)
无监督学习:可以理解为对于学习算法所使用的数据集并没有给出正确答案,学习算法就是要对这数据集进行处理,通过特征信息学习出一些规律。如聚类(把一堆数据分成几类吧)。通俗理解,就是学习算法直接使用数据进行学习,没有训练了。
线性回归模型
假设函数即为我们训练集通过学习算法学习到的模型,测试集可以通过这个模型获得预测值,然后可以与真实值进行对比。
梯度下降
损失函数:这里介绍的损失函数主要是平方误差函数,通过这个函数我们来获得一个最优的假设函数。线性回归模型通常采用,通过一个简单的线性回归模型,来介绍损失函数的作用。
损失函数公式:
J
(
θ
0
,
θ
1
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
J\left(\theta_{0}, \theta_{1}\right)=\frac{1}{2 \mathrm{m}} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}
J(θ0,θ1)=2m1∑i=1m(hθ(x(i))−y(i))2
其中
x
(
i
)
x^{(i)}
x(i)是第i个输入,相应的
y
(
i
)
y^{(i)}
y(i)为对应的输出。
我们的目标就是想让损失函数的值最小,因此要求出最优的
θ
0
\theta_{0}
θ0,
θ
1
\theta_{1}
θ1,使的
J
(
θ
0
,
θ
1
)
J(\theta_{0}, \theta_{1})
J(θ0,θ1)最小,即
{
J
(
θ
0
,
θ
1
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
min
mize
J
(
θ
0
,
θ
1
)
\left\{\begin{array}{l}J\left(\theta_{0}, \theta_{1}\right)=\frac{1}{2 \mathrm{m}} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} \\ \min \operatorname{mize}_{J}\left(\theta_{0}, \theta_{1}\right)\end{array}\right.
{J(θ0,θ1)=2m1∑i=1m(hθ(x(i))−y(i))2minmizeJ(θ0,θ1)
通常采用梯度下降法来进行迭代求解最优
θ
0
\theta_{0}
θ0,
θ
1
\theta_{1}
θ1,
对损失函数求偏导,得:
∂
(
θ
,
θ
)
∂
θ
=
∂
∂
g
1
2
m
∑
i
=
1
m
(
h
(
x
(
i
)
−
y
(
i
)
)
)
2
\frac{\partial(\theta, \theta)}{\partial \theta}=\frac{\partial}{\partial g} \frac{1}{2 m} \sum_{i=1}^{m}\left(h\left(x^{(i)}-y^{(i)}\right)\right)^{2}
∂θ∂(θ,θ)=∂g∂2m1∑i=1m(h(x(i)−y(i)))2 其中j=0,1
获得偏导后,同时更新
θ
0
\theta_{0}
θ0,
θ
1
\theta_{1}
θ1
即
θ
0
=
θ
0
−
α
∂
J
(
θ
0
,
θ
1
)
∂
θ
0
\theta_{0}=\theta_{0}-\alpha \frac{\partial J\left(\theta_{0}, \theta_{1}\right)}{\partial \theta_{0}}
θ0=θ0−α∂θ0∂J(θ0,θ1)
θ
1
=
θ
1
−
α
∂
J
(
θ
0
,
θ
1
)
∂
θ
1
\theta_{1}=\theta_{1}-\alpha \frac{\partial J\left(\theta_{0}, \theta_{1}\right)}{\partial \theta_{1}}
θ1=θ1−α∂θ1∂J(θ0,θ1)
其中
α
\alpha
α为学习效率,对损失函数是否收敛有很大的影响,过大,过小都会有影响。
如上图,当
α
\alpha
α过小时,收敛速度会很慢
当
α
\alpha
α过大时,可能会导致损失函数无法收敛情况。
多元线性回归(多特征)
多元线性回归:即输入特征不在是1个,而是多个,
输入为
X
=
[
x
1
,
x
2
,
…
,
x
n
]
X=\left[x_{1}, x_{2}, \ldots, x_{n}\right]
X=[x1,x2,…,xn]
其中
X
i
X^{i}
Xi表示第i个训练样本的输入特征
X
j
i
\ X_j^{i}
Xji表示第i个训练样本的第j个特征。
假设函数为:
h
θ
(
X
)
=
θ
0
+
θ
1
x
1
+
θ
2
x
2
+
…
+
θ
n
x
n
h_{\theta}(X)=\theta_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}+\ldots+\theta_{n} x_{n}
hθ(X)=θ0+θ1x1+θ2x2+…+θnxn
特征放缩
特征放缩就是当输入为多特征时,存在两个或多个特征的值差别很大,(比如一个范围为(-0.5,0.5),
一个为(1,500)),需要将大的特征值往小的方向进行转化。(因为如果特征值相差很大的话,会导致收敛速度慢),常用方法有归一化,即