@anboqing
2015-01-04T10:06:53.000000Z
字数 3449
阅读 3045
Title: Machine Learning by Andrew Ng 学习笔记(2)
Date:2015-1-4 00:13
Author:安勃卿
Slug: machine_learning_2
Category:机器学习
机器学习
假设你有个盆友要卖房子,你现在知道一些房子的面积和价钱,要帮你朋友预测他的房子能卖多少钱;
这个问题如何解决呢?
这个问题属于机器学习中的监督学习中的预测问题.这个问题的模型是:
traning set --> algrithm --> hypothese function
** 其中 hypothese function 就是 一个拟合函数,通过训练不断的调整它的参数,从而用它来逼近训练集的真实值 ** features --> hypothese function --> predicitons
线性回归的概念
在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合.
回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。
拟合的概念
所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1, λ2,…,λn),使得该函数与已知点集的差别(最小二乘意义)最小。如果待定函数是线性,就叫线性拟合或者线性回归(主要在统计中),否则叫作非线性拟合或者非线性回归。表达式也可以是分段函数,这种情况下叫作样条拟合。
一组观测结果的数字统计与相应数值组的吻合。形象的说,拟合就是把平面上一系列的点,用一条光滑的曲线连接起来。因为这条曲线有无数种可能,从而有各种拟合方法。拟合的曲线一般可以用函数表示。根据这个函数的不同有不同的拟合名字。
在这个例子中 只有一个自变量就是 房屋面积size, 只有一个因变量是房屋的价钱 price,所以这是一元线性回归问题.
假设 拟合方程为:
那么如何表示这个差别 呢? 这里用一种方法叫 "最小二乘法"
来表达这个差别,下面这个方程叫做 Cost Function:
现在就是要求上面方程的最小值,minimise
当该方程最小时,h(x)和已知点集的差别最小.
怎样求得 J(θ) 的最小值呢,这里我们用到一个算法 梯度下降 算法:
梯度下降算法简介
Gradient Desent 梯度下降方法 : 可用来最小化很多函数
方法大略为:
1. Start with someθ0,θ1 (we can sayθ0 = 0θ1 = 0)
2. Keep changing **θ0,θ1 ** to reduce J(θ0,θ1 ) untill we hopefully end up at a minimum.
Gradient Desent Algorthm:
repeat untill convergence{
θj:=θj−α∂∂θjJ(θ0,θ1)
// for(j=0;j<=1;++j)
// 这里要注意 θ_0 和 θ_1 要同步更新
}
其中
而
可见
梯度下降会趋向于一个局部极小值,即使学习速率是固定的.
因为当靠近极小值时,斜率
有了gradient descent ,我们就能用他来求线性回归了.
核心是求出
于是代入算法:
repeat untill convergence(
这样当
通过调整该函数中若干待定系数f(λ1, λ2,…,λn),使得该函数与已知点集的差别(最小二乘意义)最小
上面这种梯度下降叫做 Batch gradient descent
"batch": Each step of gradient descent uses all the training examples.
上面这种梯度下降批处理梯度下降,因为每一步都用到了所有训练数据.
下一节将 多变量线性回归