zoukankan      html  css  js  c++  java
  • 吴恩达“机器学习”——学习笔记一

    机器学习定义

    1959年Arthur Samuel曾经这样定义机器学习:Field of study that gives computers the ability to learn without being explicitly programmed.Samuel 本人也写了一个西洋棋的程序,通过让这个程序练习下西洋棋一万次,使得这个西洋棋程序的棋艺比自己还要高超。

    1998年Tom Mitchell对机器学习给出了一个更加正式的定义:A computer program is said to learn from experience E with respect to some task T and some performance measure P,if its performance on T,as measured by P,improves with experience E.这个定义比较专业,甚至还有点押韵。

    课程内容

    监督学习(supervised learning):监督学习就是给出一组特征,也给出特征所对应的结果。以此来推测另外的特征所对应的结果。比如说给出某一地区房子的面积大小,卧室数量,以及它们所对应的价格。以此来预测给定面积大小,卧室数量的另外一些房子的价格。

    学习理论(learning theory):介绍一些theory。

    无监督学习(unsupervised learning):无监督学习就是给出一些特征,但是不给出这些特征所对应的结果,以此来判断这些特征之间有什们结构关系。聚类问题就是无监督学习的一个例子。

    强化学习(reinforcement learning):强化学习就是不断做出决策。比如无人驾驶飞机,只有不断做一些良好的决策,这个飞机才能持续飞行 。

     监督学习

    定义几个符号

    m:样本数量(# training examples)

    x:输入值,又成为特征(input variables/features)

    y:输出值,又叫目标值(output variables/target variables)

    (x,y):训练样本(training examples)

    第i个训练样本(ith training examples):(x(i),y(i)

    监督学习思路

    为了设计学习算法,我们第一步要做的决定就是怎样表示h,即预测函数。倘若给定某一地区房间的大小以及对应的价格,那么这只有一个特征,我们就可以令,若将theta看成向量,那么也可以写成。如果给出两个特征,那么可以将预测函数写成,假设X0=1,那么预测函数就可以写成。当特征有n个时,依次类推。

    实际上,我们希望自己的预测值与实际值之间的差距要小一些,即尽量小,即目标是

    ,前面乘以1/2是为了之后数学计算的方便性。定义函数J: 

    我们的目标就是求出参数theta,使得J取值最小。

    寻找theta的算法

    搜寻算法(search algorithm,应为一类算法统称)

    算法思想:

    1.先给定一个特定的theta,例如可以让theta取零向量。

    2.改变theta的值,让J变小,不断重复,以求得最小J。

    梯度下降( gradient descent)

    算法思想:给定某一特定的theta值,然后重复此操作

       ,其中“:=”是赋值操作,alpha称作学习速度。

    若只有一个样本点,那么        

           

    此时可以将theta的更新操作更改为

    同理可证若有m个训练样本,则更新操作应该为    

    以上的梯度下降算法称作“批梯度下降算法”(batch gradient descent),这种算法要遍历整个样本。

    若样本很大,则可以使用随机梯度下降算法,也称增量梯度下降算法(stochastic gradient descent (also incremental gradient descent)),此算法的基本思想为:

    循环{

    for j=1 to m{

     (for all i)

       }

    }

    这个算法的好处就是不用每次都要遍历所有的样本。为了开始学习,仅仅需要查看第一个样本,但是这个算法不会精确的收敛到全局的最小值。

    正规方程组(normal equation)

    定义一下矩阵求导

    求过导后的矩阵是一个n+1维向量。此时,梯度下降算法的更新可以写成

    矩阵求导的进一步说明

    如果A是n*n的矩阵,那么tr(A),即A的迹就等于A矩阵对角线元素之和。

    trAB=trBA

    trABC=trCAB=trBCA

    tra=a,a为实数

    定义几个矩阵

    对上述另上述J的梯度等于0,经过推到就会得出正规方程组

    得出

  • 相关阅读:
    [NOI Online 2021 提高组] 愤怒的小N
    [NOI Online 2021 提高组] 积木小赛
    「2020-2021 集训队作业」Yet Another Permutation Problem
    无标号有根树/无根树 计数
    无向图的 三元环
    有标号二分图计数
    有标号荒漠计数
    「雅礼集训 2018 Day8」B
    CF708E Student's Camp
    清华集训 2016 选做
  • 原文地址:https://www.cnblogs.com/xxp17457741/p/8331246.html
Copyright © 2011-2022 走看看