机器学习: 入门

现在机器学习是十分火爆,这也带起了 Python 的潮流,这篇文章将简要概括机器学习里的一些重要概念,作为机器学习的入门博文。

问题类型

机器学习不是说学习就学习的,它的出现是为了解决一些问题的,而这些问题一般不能通过直接编程去解决如计算 999 * 999 是多少。这些问题需要数学里的机器重复做一些事来发现问题中的规律,并利用这个规律来到达某个效果。如下围棋,为了可以成为高手,人类可能要下成千上万盘棋才能总结出规律,现在有计算机,它可以帮我们下棋去总结规律,这就是机器学习。

常见问题类型如下。

监督学习

给你数据集,数据集里输入 x 和输出 y,然后找一个机器学习算法去训练出一个模型,这个模型就可以帮我们在给定 x 值后去预测 y 值。

监督学习里还包含回归问题和分类问题,回归问题一般是有连续性的,如去预测 300 天后的销售额。分类问题一般是离散的,如判断这封邮件是否是垃圾邮件。

无监督学习

给你数据集,数据集里只有输入 x 值,然后找一个机器学习算法去训练一个模型,这个模型就首先会寻找 x 值中蕴含的规律,并将这些规律分类成一些 y 值 ,然后在给定 x 值后去预测对应 y 值。

半监督学习

这种学习方法就是上面两种的结合,给你数据集,里面有输入值 x 和 输出值 y,不同的是有些 x 值没有对应的 y 值,然后还是和上面一样,找个算法,造个模型,对给定 x 值去预测 y 值,当然这个 y 值有可能是一个新类。


下面先从监督学习开始说,这篇文章是入门文章,所以只是提一些概念。

图解监督学习

监督学习的“流程图”如下所示。

其中 Training Data 就是给定的数据集, Learning Algorithm 是我们找的一个机器学习算法,Program (Learner) 一般是我们写的预测给定值的程序。Score Performance 一般是指损失函数,用于判断预测效果。

一些让人头大的字母

变量 含义
x 特征值,我的理解是输入参数
y x 对应的 y 值
\hat{y}=f(x: \theta) 预测值
\theta 机器学习算法里的参数,注意:这个 \theta 是个向量,里面存着算法里不只一个参数

出错率

分析出错率可以帮我们选出更优的机器学习算法以及其对应的参数,而出错率和我们高中学的方差有点像,嗯...感觉就是一样。

MSE 表示 Measuring Error,m 表示有多少个数据。这里注意 \hat{y}(x^{(i)}) 指的是用 x^{(i)} 算出来的 \hat{y},而不是 \hat{y} \times x^{(i)}

回归与分类

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章