前言
这系列博客是我入门机器学习的学习笔记,笔记内容来自斯坦福大学的Andrew Ng在coursera上的关于机器学习的入门基础视频教程
视频课程地址:https://www.coursera.org/learn/machine-learning
本篇博文包含了coursera上第一周前半部分(后半部分是线性代数,略过)
初步了解机器学习
虽然我是个搞计算机的本科生,但其实我一直很少接触算法相关的内容,特别是前沿的算法知识,这部分属于我的知识盲区,我之前甚至连机器学习是干啥的我都不知道,下面说下我在学习过程中对机器学习的了解
机器学习其实就是让计算机自动的去学习一些东西,那怎么学习呢?我也不知道..(我要是知道了还入门个球)
我们来看一下一些专业的人士都是怎么定义机器学习的
Arthur Samuel (1959) : Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed.(翻译过来就是,不用硬编码就可以给与计算机学习的能力)
Tom Mitchell (1998) Well-posed Learning Problem: 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.(U&%^&*%%巴拉巴拉,不翻译了,自己看)
算法分类
监督学习 Supervised learning
监督学习:利用给定的已知的数据样本,分析后,使其达到所要求性能的过程
个人理解就是,给定的数据样本中,已经告诉了计算机是什么,然后计算机通过分析学习之后,对于你给的其他数据,都能告诉你是什么
非监督学习 Unsupervised learning
非监督学习:利用给定的未知的数据样本,试图找到隐藏的结构的过程
个人理解就是,给定的数据样本中,不告诉计算机是什么,计算机试图分析找出这些样本中的隐藏的结构.
假设函数 Hypothesis
假设函数:其实就是自己选择的模型函数,我没有找到官方的定义,个人理解就是计算机事先假设输入的数据符合这个假设函数,然后经过计算会把这个假设函数中的未知数全部计算出来
视频中一个简单的例子

代价函数 Cost function
代价函数:我也没有找到准确的定义,个人理解,代价函数就是为了让我们找出最优的假设函数而存在的,当代价函数的结果越小,对应的假设函数就越优.
视频中一个简单的例子

专用词语
- 训练集(Training set):即机器学习算法的数据样本
符号
- m:训练集的数目
- x:输入
- y:输出
梯度下降算法(Gradient Descent)
算法的核心就是利用递归的方式,一步步逼近目标点
目的:求出代价函数的最小值,即最小代价函数,最小代价函数对应的假设函数即为我们当前选定的模型下最符合的函数解

如图所示是代价函数J的三维图,梯度下降算法的直观感受就是,每次算法都会选择当前点周围的点中下降程度最大的点进行移动,经过无数次迭代后,就可以得到局部最小值,对,只是局部的最小值,但是,当你的代价函数J是凸函数的时候,因为只有一个局部最小值,所以我们可以得到全局最小值
第一周视频中介绍的都是线性函数,所以使用梯度下降算法可以得出全局最小值
下面说一下视频中说的过程(只有两个参数的线性假设函数,其他的自己类比)
- 给出假设函数(即看起来符合训练集的函数模型QWQ)

- 根据假设函数,求出代价函数(采用的是平方误差代价函数)

- 目标是求出令代价函数J最小的参数集

- 选择一个参数起始点(怎么选教程中没有给出明确的方法,默认零点)
- 根据算法同步改变所有的参数值

- 当参数值收敛后,当前的参数值即为最小代价函数的参数,即为最优假设函数的参数.
