关于机器学习的应用场景

  • 推荐算法
  • 网页推荐
  • 数据挖掘
  • 无人驾驶
  • 人工智能
  • 智能医疗

机器学习的定义

计算机程序从经验E中学习任务T。 并用度量P来衡量性能。条件是它由P定义的关于T的性能随着经验E而提高。

机器学习分类

监督性学习

回归问题->连续型数据

线性回归分析

训练集
函数:h(x)=θ0+θ1x<script type="math/tex" id="MathJax-Element-161">h(x)=\theta_0+\theta_1x</script>
代价函数J(θ0,θ1)=12mmk=1(h(xi)yi)2<script type="math/tex" id="MathJax-Element-162">J{(\theta_0,\theta_1)=}{1\over 2m}\sum_{k=1}^m(h(x_i)-y_i)^2</script>

梯度下降法最小化代价函数值
θi:=θiαθiJ(θi)<script type="math/tex" id="MathJax-Element-163">\theta_i:=\theta_i-\alpha*{\partial \over \partial\theta_i}J(\theta_i)</script>
(α)<script type="math/tex" id="MathJax-Element-164">(\alpha为学习速率)</script>
越接近局部最小点变化越慢。
矩阵和向量
* 矩阵的维数等于矩阵的行数乘以矩阵的列数
* 向量可以被视为只有一列的矩阵

多个训练集的情况,即多元线性回归
多个训练集时,用向量标注。
h(x)=θ0+mi=1θixi<script type="math/tex" id="MathJax-Element-165">h(x)=\theta_0+\sum_{i=1}^m\theta_ix_i</script>(可以看做是x0<script type="math/tex" id="MathJax-Element-166">x_0</script>恒为1)

xij<script type="math/tex" id="MathJax-Element-167">x_j^{(i)}</script>表示第i个样本里头的第j个特征量

X=(x0x1x2xn)<script type="math/tex" id="MathJax-Element-168">\begin{pmatrix} x_0&x_1&x_2&…&x_n \end{pmatrix}</script> θ=(θ0θ1θ2θn)<script type="math/tex" id="MathJax-Element-169">\theta = \begin{pmatrix} \theta_0&\theta_1&\theta_2&…&\theta_n \end{pmatrix}</script>

h(x)=θTX<script type="math/tex" id="MathJax-Element-170">h(x)=\theta^TX</script>

依次更新每一个θ<script type="math/tex" id="MathJax-Element-171">\theta</script>的值:θj:=θjα1m(hθ(xi)yi)xij(j0n)<script type="math/tex" id="MathJax-Element-172">\theta_j:=\theta_j-\alpha{1\over m}(h_\theta(x^i)-y^i)x^i_j(j从0循环到n)</script>

梯度下降法中的技巧

特征缩放(feature scaling)

关键在于保证特征值的范围大小相近,最好是将xi<script type="math/tex" id="MathJax-Element-173">x_i</script>的范围大约约束到-1到1之间。(x0<script type="math/tex" id="MathJax-Element-174">x_0</script>恒为1所以已经在范围之内了)

均值统一化(mean normalization)

xi<script type="math/tex" id="MathJax-Element-175">x_i</script>用xiuisi<script type="math/tex" id="MathJax-Element-176">x_i-u_i\over{s_i}</script>代替使得特征值的平均值接近0,x0<script type="math/tex" id="MathJax-Element-177">x_0</script>不用处理

选择合适的特征值

可以通过已有特征值定义新的,更合适的特征值。

多项式回归分析

比如现在的特征值为s,h(x)=θ0+θ1x1+θ2x2=θ0+θ2s+θ3s2<script type="math/tex" id="MathJax-Element-178">h(x)=\theta_0+\theta_1x1+\theta_2x_2=\theta_0+\theta_2s+\theta_3s^2</script>那么就可以使x1=s,x2=s2<script type="math/tex" id="MathJax-Element-179">x_1=s,x_2=s^2</script>将多项式回归转化成多元回归分析

标准方程法

θ=(XTX)1XTY<script type="math/tex" id="MathJax-Element-180">\theta={(X^TX)}^{-1}X^TY</script>(其中X为一个(n+1)*m维矩阵用来表示m个训练集,Y为m维向量用来表示m个结果)

分类问题->离散型数据

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐