首页 / MAC / Machine Learning笔记
Machine Learning笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Machine Learning笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4710字,纯文字阅读大概需要7分钟。
内容图文
Machine Learning :
监督学习(Supervised learning):利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程
无监督学习(Unsupervised learning):根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称之为无监督学习。典型算法:聚簇算法(clustering algorithm)。
模型描述:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zs96UZWY-1604065801736)(C:\Users\chen\Desktop\ry项目文档\屏幕截图 2020-10-26 160109.png)]
由训练集,进入模型,模型给出‘预测函数’预测y值
代价函数(cost function)|损失函数(loss function):如何把最有可能的直线和我们的数据相拟合
通过使损失函数最小化来使函数值接近真实值,损失函数一般形态:
m
i
n
θ
J
(
θ
,
X
)
=
m
i
n
θ
1
2
m
∑
1
m
(
h
θ
(
x
(
i
)
)
?
y
(
i
)
)
2
梯
度
下
降
:
min_\theta J(\theta,X)= min_\theta \frac{1}{2m} \sum_{1}^{m}{(h_\theta(x^{(i)})-y^{(i)})^2}梯度下降:
minθ?J(θ,X)=minθ?2m1?1∑m?(hθ?(x(i))?y(i))2梯度下降:
梯度下降:
θ
j
=
θ
j
?
α
?
J
(
θ
,
X
)
?
θ
j
(
α
代
表
一
步
的
步
长
l
e
a
r
n
i
n
g
r
a
t
e
)
\theta_j=\theta_j- \alpha \frac{\partial J(\theta,X)}{\partial \theta_j}(\alpha代表一步的步长 \quad learning \quad rate)
θj?=θj??α?θj??J(θ,X)?(α代表一步的步长learningrate)
同步更新(simultaneous update):
即
先
计
算
?
J
(
θ
,
X
)
?
θ
j
的
部
分
,
然
后
再
同
时
更
新
θ
j
(
j
=
1
,
2
,
3
,
4....
)
即先计算\frac{\partial J(\theta,X)}{\partial \theta_j}的部分,然后再同时更新\theta_j(j=1,2,3,4....)
即先计算?θj??J(θ,X)?的部分,然后再同时更新θj?(j=1,2,3,4....)
多元函数梯度下降:
h
θ
(
X
)
=
θ
T
X
h_{\theta}(X)=\theta^TX
hθ?(X)=θTX
θ = [ θ 0 , θ 1 , θ 2 , . . . . ] X = [ x 0 , x 1 , x 2 , x 3 , . . . ] ( x 0 = 1 ) \theta=[\theta_0,\theta_1,\theta_2,....] \quad X=[{x_0,x_1,x_2,x_3,...}](x_0=1) θ=[θ0?,θ1?,θ2?,....]X=[x0?,x1?,x2?,x3?,...](x0?=1)
θ j = θ j ? α ? J ( θ , X ) ? θ j \theta_j=\theta_j- \alpha \frac{\partial J(\theta,X)}{\partial \theta_j} θj?=θj??α?θj??J(θ,X)?
θ 0 = θ 0 ? 1 m ∑ 1 m ( h θ ( x ( i ) ) ? y ( i ) ) x 0 \theta_0=\theta_0- \frac{1}{m} \sum_{1}^{m} (h_\theta(x^{(i)})-y^{(i)})x_0 θ0?=θ0??m1?1∑m?(hθ?(x(i))?y(i))x0?
特征缩放:如果你的特征取值范围相近,你的梯度下降会更快,迭代次数会减少。
一般来说通过梯度下降法求解的模型需要进行特征缩放。
-
均值归一化:将数值范围缩放到 [-1, 1] 区间里,且数据的均值变为0
x ′ = x ? a v e r a g e ( x ) m a x ( x ) ? m i n ( x ) x^{'} = \frac {x-average(x)}{max(x)-min(x)} x′=max(x)?min(x)x?average(x)? -
最大最小值归一化(min-max normalization):将数值范围缩放到 [0, 1] 区间里
x ′ = x ? m i n ( x ) m a x ( x ) ? m i n ( x ) x^{'} = \frac {x-min(x)}{max(x)-min(x)} x′=max(x)?min(x)x?min(x)? -
标准化 / z值归一化(standardization / z-score normalization):将数值缩放到0附近,且数据的分布变为均值为0,标准差为1的标准正态分布(先减去均值来对特征进行 中心化 mean centering 处理,再除以标准差进行缩放)
x ′ = x ? x  ̄ σ ( σ = ∑ i = 1 n ( x i ? x  ̄ ) 2 n ) x^{'} = \frac {x-\overline{x}}{\sigma}\quad\quad (\sigma=\sqrt{\frac{\sum_{i=1}^{n}(x_i-\overline{x})^2}{n}}) x′=σx?x?(σ=n∑i=1n?(xi??x)2? ?)
**学习率(learning rate):**如果学习率太大的话,损失函数可能不会下降,或者呈现周期性,学习率太小的话会导致下降速度过小 --尝试一系列alpha 值画出迭代次数和损失函数的关系
正规方程:
θ
=
(
X
T
X
)
?
1
X
T
y
\theta=(X^TX)^-1 X^Ty
θ=(XTX)?1XTy
θ为参数向量,y为输出,X为输入向量组成的矩阵。当特征比较少时,特征方程的计算还可以接受。
不推荐使用线性回归来预测分类:
-
通常来说对数据集使用线性回归,预测结果不理想
-
以0,1分类来说,线性回归输出的值会远大于1,或者小于0
Logistic回归
损失函数:
J
(
θ
,
X
)
=
1
m
∑
1
m
C
o
s
t
(
h
θ
(
x
)
,
y
)
J(\theta,X)=\frac {1}{m} \sum^{m}_{1}{Cost(h_\theta(x),y)}
J(θ,X)=m1?1∑m?Cost(hθ?(x),y)
h θ ( x ) = 1 1 + e ? θ T X h_\theta(x)=\frac{1}{1+e^{-{\theta^TX}}} hθ?(x)=1+e?θTX1?
C o s t ( h θ ( x ) , y ) = ? ( y ( l o g ( h θ ( x ) ) ) + ( 1 ? y ) l o g ( 1 ? h θ ( x ) ) ) Cost(h_\theta(x),y)=-(y(log(h_\theta(x)))+(1-y)log(1-h_\theta(x))) Cost(hθ?(x),y)=?(y(log(hθ?(x)))+(1?y)log(1?hθ?(x)))
梯度下降:
θ
j
:
=
θ
j
?
α
?
?
θ
j
J
(
θ
)
\theta_j:=\theta_j-\alpha \frac{\partial}{\partial \theta_j}J(\theta)
θj?:=θj??α?θj???J(θ)
θ j : = θ j ? α ∑ 1 m ( h θ ( x ( i ) ) ? y ( i ) ) x j ( i ) \theta_j:=\theta_j-\alpha \sum^{m}_{1}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)} θj?:=θj??α1∑m?(hθ?(x(i))?y(i))xj(i)?
h θ ( x ) = 1 1 + e ? θ T X h_\theta(x)=\frac{1}{1+e^{-{\theta^TX}}} hθ?(x)=1+e?θTX1?
仍需要手动选择学习率,如果使用其它高级的优化算法计算损失函数(例L-BFGS),可以不用选择学习率。cost函数的意义在于,让其关于参数的关系为一个凸函数,能够找到最低值,而不是局部最低。
过拟合问题:如果选择参数很多但是训练数据过少时,你的模型可能会在训练集上表现很好,但是无法泛化到其它数据上。
欠拟合问题:选择参数过少,模型无法较好的完成任务。
过拟合解决办法:
-
去掉一些参数(人工,或者模型选择算法来选择保留的参数)
-
参数正则化 主要就是为损失函数添加一些惩罚项,来使θ变得很小,得到一个比较平滑的曲线。
J ( θ , X ) = 1 m ∑ 1 m C o s t ( h θ ( x ) , y ) + λ 2 m ∑ j = 1 n θ j J(\theta,X)=\frac {1}{m}\sum^{m}_{1}{Cost(h_\theta(x),y)}+\frac{\lambda}{2m}\sum_{j=1}^{n}\theta_j J(θ,X)=m1?1∑m?Cost(hθ?(x),y)+2mλ?j=1∑n?θj?
如果系数λ过大的话,θ会趋近与0,这个时候相当于拟合一条直线,变成了欠拟合。(如何去选择正则化系数λ)
内容总结
以上是互联网集市为您收集整理的Machine Learning笔记全部内容,希望文章能够帮你解决Machine Learning笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。