ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Machine Learning笔记

2021-04-26 14:32:55  阅读:155  来源: 互联网

标签:frac 函数 min sum 笔记 Machine Learning theta partial


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函数的意义在于,让其关于参数的关系为一个凸函数,能够找到最低值,而不是局部最低。

过拟合问题:如果选择参数很多但是训练数据过少时,你的模型可能会在训练集上表现很好,但是无法泛化到其它数据上。

欠拟合问题:选择参数过少,模型无法较好的完成任务。

过拟合解决办法

  1. 去掉一些参数(人工,或者模型选择算法来选择保留的参数)

  2. 参数正则化 主要就是为损失函数添加一些惩罚项,来使θ变得很小,得到一个比较平滑的曲线。
    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,这个时候相当于拟合一条直线,变成了欠拟合。(如何去选择正则化系数λ)

标签:frac,函数,min,sum,笔记,Machine,Learning,theta,partial
来源: https://blog.csdn.net/weixin_43847654/article/details/109393802

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有