机器学习的基本概念、单变量线性回归概念、方法和实际用例机器学习(machine learning)基本概念
下棋程序:E :无数次下棋获得的经验;T :下棋;P :与新对手下棋时的胜率有所提升。
例子:房价预测,算法进行曲线拟合,预测新样本的结果
监督学习的定义:给算法一个数据集(set),这个数据集由“正确答案组成”(房价预测例子中,告诉算法,多少平方的房子值多少钱),然后铺根据样本来预测。
监督学习中有两类问题,回归问题和分类问题
回归问题:试着推测一个序列的连续值属性。(如房价预测)
分类问题:试着推测出离散的输出值(输出值可能有多个)。(如肿瘤的预测,判断肿瘤是良性或者恶性(两个输出值)
无监督学习的定义:给定一个数据集,但是没有提前告知算法一些结果性的东西。
无监督学习同样也有两类问题,聚类算法和鸡尾酒会算法
聚类算法:把数据集中有相同属性的数据归结到一起。(如 Google 新闻分类,朋友群哪些人是相互认识的,天文数据分析)
鸡尾酒会算法:将混合的音频中分出不同的声音进行输出。
单变量线性回归
以房价预测为例
符号规定:
建立模型:即建立数学表达式
训练参数:为模型找到合适的参数(theta_0,theta_1)。
为了找到合适的参数,我们需要通过建立一个可以进行优化的函数,通过它来找到我们所需要的参数,这个需要优化的函数称作代价函数(cost function)——对于回归问题较常用,定义如下:
即将每个样本的期望输出与实际输出的差值的平方进行叠加除以 2 倍的样本总数 m 。有个 1/2 是因为后面我们需要对代价函数进行求导,方便数据处理。
找到代价函数后,就需要利用算法进行优化,下面介绍的优化算法是梯度下降算法
梯度下降算法 生活简例:当你在山上的时候,如何以最优的方式下到山脚下呢,最好的办法就是观看四周,看哪个方向是下山的最佳方向(坡度最大的方向),以小步前进,不断重复以上步骤,你会接近局部最优点的位置。
梯度下降算法的数学推导如下:
然后不断对(theta_0,theta_1)进行迭代更新,伪代码如下:
公式(1)
:= 是代表赋值的意思,a (>0 的)代表学习率,表示每一步下降的程度
有一个疑问是,为什么通过梯度下降算法就可以优化代价函数呢?解释如下:
我们假设,代价函数 J 只有一个 theta 参数,当对 a 点位置对 J 求导时,其导数是大于0的,故从上面公式(1) theta 减去一个大于 0 的数,所以它的方向是从坐标轴从右至左减小的,也就是 J 减小的方向,反之,在 b 的情况与 a 点相反。故可以知道,梯度下降算法是用来寻找函数值最小值的算法。
人工智能是这个时代最伟大的革命,发展趋势明显,希望能够抓住这个浪潮,有翻作为。