吴恩达《Machine Learning》精炼笔记 3:回归问题和正则化

简介: 吴恩达《Machine Learning》精炼笔记 3:回归问题和正则化


今天带来第三周课程的笔记:梯度下降与正规方程。


主要讲解的内容包含:

  • 逻辑回归
  • 代价函数
  • 线性回归和逻辑回归的比较
  • 正则化问题


逻辑回归


分类问题


假设预测的变量y是离散的值,需要使用逻辑回归Logistic Regression,LR的算法,实际上它是一种分类算法


二元分类问题


将因变量dependent variable可能属于的两个类分别称为负向类negative class和正向类positive class,因变量y的取值只能在0和1之间,其中0表示负类,1表示正类


image.png


假说表示Hypothesis Representation


分类器的输出值在0和1之间,因此,希望找出一个满足某个性质的假设函数,这个性质是它的预测值要在0和1之间


image.png

image.pngimage.png

例如:对于给定的x,通过已经确定的参数计算得出hθ(x)=0.7hθ(x)=0.7,则表示有70%的几率y属于正类


决策边界decision boundary


解释逻辑回归


  1. 在逻辑回归中h≥0.5h0.5预测y=1y=1;反之y=0
  2. 在激活函数g(z)g(z)中:


z≥0z0g(z)≥0.5g(z)0.5


z<0z<0g(z)<0.5g(z)<0.5


又因为 z=θTx ,即: θTx>=0 时,预测 y=1y=1 ;反之:θTx<0 时,预测 y=0


实例demo


在下图的中实例中,参数θ满足[-3,1,1],当3+x1+x20,即x1+x23时,模型预测y=1;说明此时:直线x1+x2=3就是决策边界


image.png

复杂的模型边界问题


image.png


代价函数Cost Function


如何拟合LR模型的参数θ

image.pngimage.pngimage.pngimage.pngimage.pngimage.png


Python代码实现代价函数


利用Python实现下面的代价函数


  • first 表示的是右边第一项
  • second 表示的是右边第二项

image.png

import numpy as np
def cost(theta, X, y):
  # 实现代价函数
  theta=np.matrix(theta)
  X = np.matrix(X)
  y = np.matrxi(y)
  first = np.multiply(-y, np.log(sigmod(X * theta.T)))
  second = np.multiply((1 - y), np.log(1-sigmod(X * theta.T)))
  return np.sum(first - second) / (len(X))

image.png

image.png


线性回归 VS 逻辑回归


  1. 假设的定义规则发生变化

线性回归:


image.png

逻辑回归:


image.png

因此,即使更新参数的规则看起来基本相同,但由于假设的定义发生了变化,所以逻辑函数的梯度下降,跟线性回归的梯度下降实际上是两个完全不同的东西。

其他求解代价函数最小的算法


  • 共轭梯度conjugate gradient
  • 局部优化法Broyden fletcher goldfarb shann,BFGS
  • 有限内存局部优化法LBFGS


多类别分类one-vs-all


我们举一个实际中的例子来说明:

假如现在需要一个学习算法能自动地将邮件归类到不同的文件夹里,或者说可以自动地加上标签,那么需要一些不同的文件夹,或者不同的标签来完成这件事,来区分开来自工作、朋友、家人或者有关兴趣爱好的邮件,那么,就有了这样一个分类问题:其类别有4个,分别用y=1,2,3,4 来代表。

image.png


正则化问题Regularization


正则化基础

正则化技术主要是为了解决过拟合的问题。过拟合指的是:对样本数据具有很好的判断能力,但是对新的数据预测能力很差。


image.png


  • 第一个模型是一个线性模型,欠拟合,不能很好地适应我们的训练集
  • 第三个模型是一个四次方的模型,过于强调拟合原始数据,而丢失了算法的本质:预测新数据
  • 中间的模型似乎最合适


如果是多项式拟合,x的次数越高,拟合的效果越好,但是相应的预测能力就可能变差。对于过拟合的处理:


  1. 丢弃一些不能正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法,例如PCA
  2. 正则化。保留所有的特征,但是减少参数的大小magnitude*


image.pngimage.pngimage.pngimage.pngimage.pngimage.png

import numpy as np
# 实现代价函数
def costReg(theta, X, y, lr):
  theta= np.matrix(theta)
  X = np.matrix(X)
  y = np.matrix(y)
  first = np.multiply(-y, np.log(sigmoid(X * theta.T)))
  second = np.multiply((1 - y), np.log(1 - sigmoid(X * theta.T)))
  reg = (lr / (2 * len(X)) * np.sum(np.power(theta[:, 1:theta.shape[1]], 2))   # theta[:, 1:theta.shape[1]] 代表的是 \theta_j
  return np.sum(first - second) / len((X)) + reg


通过求导,得到梯度下降算法,本质上就是对θ的不断更新:


image.png

至此,第三周的课程笔记完毕!


相关文章
|
7月前
|
机器学习/深度学习 数据采集 人工智能
Machine Learning机器学习之贝叶斯网络(BayesianNetwork)
Machine Learning机器学习之贝叶斯网络(BayesianNetwork)
|
机器学习/深度学习 数据采集 存储
周志华《Machine Learning》学习笔记(13)--特征选择与稀疏学习
在机器学习中特征选择是一个重要的“数据预处理”(data preprocessing)过程,即试图从数据集的所有特征中挑选出与当前学习任务相关的特征子集,接着再利用数据子集来训练学习器
238 0
周志华《Machine Learning》学习笔记(13)--特征选择与稀疏学习
|
机器学习/深度学习 算法 数据挖掘
周志华《Machine Learning》学习笔记(12)--降维与度量学习
样本的特征数称为维数(dimensionality),当维数非常大时,也就是现在所说的“维数灾难”,具体表现在:在高维情形下,数据样本将变得十分稀疏
221 0
周志华《Machine Learning》学习笔记(12)--降维与度量学习
|
机器学习/深度学习 算法
周志华《Machine Learning》学习笔记(4)--线性模型
笔记的前一部分主要是对机器学习预备知识的概括。
155 0
周志华《Machine Learning》学习笔记(4)--线性模型
|
机器学习/深度学习 算法 数据挖掘
周志华《Machine Learning》学习笔记(6)--神经网络
在机器学习中,神经网络一般指的是“神经网络学习”,是机器学习与神经网络两个学科的交叉部分。
106 0
周志华《Machine Learning》学习笔记(6)--神经网络
|
机器学习/深度学习 算法 数据挖掘
周志华《Machine Learning》学习笔记(10)--集成学习
顾名思义,集成学习(ensemble learning)指的是将多个学习器进行有效地结合,组建一个“学习器委员会”
124 0
周志华《Machine Learning》学习笔记(10)--集成学习
|
机器学习/深度学习 算法 数据挖掘
周志华《Machine Learning》学习笔记(15)--半监督学习
监督学习指的是训练样本包含标记信息的学习任务
226 0
周志华《Machine Learning》学习笔记(15)--半监督学习
|
算法
周志华《Machine Learning》学习笔记(5)--决策树
顾名思义,决策树是基于树结构来进行决策的,在网上看到一个例子十分有趣,放在这里正好合适。
128 0
周志华《Machine Learning》学习笔记(5)--决策树
|
机器学习/深度学习 算法 数据挖掘
周志华《Machine Learning》学习笔记(8)--贝叶斯分类器
贝叶斯分类器是一种概率框架下的统计学习分类器,对分类任务而言,假设在相关概率都已知的情况下,贝叶斯分类器考虑如何基于这些概率为样本判定最优的类标。
173 0
周志华《Machine Learning》学习笔记(8)--贝叶斯分类器
|
机器学习/深度学习 自然语言处理 算法
周志华《Machine Learning》学习笔记(16)--概率图模型
根据一些已观察到的证据来推断未知,更具哲学性地可以阐述为:未来的发展总是遵循着历史的规律。
137 0
周志华《Machine Learning》学习笔记(16)--概率图模型