第二周:李宏毅机器学习

目录

摘要

Abstract

一、线性回归

1、初始模型的设定

step 1、定义带有参数的初始模型

 step 2、定义损失函数

step 3、最优化

2、改进模型

改进1:引入高次项使模型复杂化

改进2:引入新的特征 

改进3:结合以上两次改进

改进4:正则化

 二、分类(Classification)

 1、分类与回归

2、概率生成模型

3、后验概率

 三、逻辑回归

1、回归步骤

2、判别模型与生成模型

3、多分类 

4、逻辑回归的局限性

四、总结


摘要

本周以宝可梦为例,学习了回归和分类两大任务的步骤。在预测宝可梦CP值的线性回归任务中,学习了改进模型的常用方法,并学会了用正则化的方法来解决模型过拟合问题;在概率生成模型中,学习了高斯分布和极大似然估计在模型中的应用;在逻辑回归模型中,学习了一种新的损失函数:交叉熵。将逻辑回归与线性回归进行了比较,并对比了均方差和交叉熵,又将概率生成模型和逻辑回归模型进行了对比,分析了各自优势场景。最后,学习了多分类和Softmax的应用,并学习了用特征转换和连接多个逻辑回归的方法来解决逻辑回归的局限性问题。

Abstract

This week, taking Pokémon as an example, we studied the steps of regression and classification tasks. In the linear regression task of predicting Pokémon CP values, we learned common methods to improve the model and how to use regularization to address model overfitting. In the probability generative models, we studied the application of Gaussian distribution and maximum likelihood estimation in models. In the logistic regression model, we learned a new loss function: cross-entropy. We compared logistic regression with linear regression, contrasted mean squared error and cross-entropy, and also compared probabilistic generative models with logistic regression models, analyzing the advantageous scenarios for each. Finally, we learned about multi-class classification and the application of Softmax, and studied methods to address the limitations of logistic regression by using feature transformation and connecting multiple logistic regressions. 

一、线性回归

 Regression:regression就是找到一个函数Function,通过输入特征x,输出预测的数值Scalar,比如预测价格、温度等。

接下来将以宝可梦为例来说明回归。想要预测进化后的宝可梦CP值,输入为宝可梦的各种信息数据。输入中:x代表某一只宝可梦,x_{cp} 代表宝可梦x当前的cp值,x_{s} 代表宝可梦x的种类,x_{xp} 代表生命值 ,x_{w} 代表重量,x_{h} 代表高度,输出y 是预测的进化后的cp值。

1、初始模型的设定

step 1、定义带有参数的初始模型

 初始定义模型为:y = b + w\cdot x_{cp} ,其中 b 和 w 为参数,需要通过训练集的训练来确定。

 step 2、定义损失函数

首先,我们先收集训练数据并分析:

图中x^{i} 表示第 i 只宝可梦,x_{cp}^{n} 表示第 n 只宝可梦的 cp 值,\widehat{y}^{n} 表示第 n 只宝可梦进化后的真实 cp 值。从点状关系图中可以看出,输入的 x_{cp}  和输出值 ^{\widehat{y}} 呈现了一定的线性关系。

接下来定义损失函数:

这里的损失函数是自定义的,这只是一种常见的损失函数 。

有了损失函数和训练数据,就可以直观的画出损失函数的形状,如下图: 

 上图中,颜色越亮,代表所取参数带来的 Loss 越大,颜色越暗代表 Loss 越小。

step 3、最优化

最优化就是要找到一组参数使得Loss最小,此时的模型是最好的,即:

对于最优化的求解,只要Loss函数是可微分的,都可以用梯度下降的方法。

梯度下降的具体步骤上周已经叙述,见http://t.csdnimg.cn/22fnc

梯度下降的一个问题是可能找到的是局部最小值点而不是全局最小值点,但这个问题在线性模型的损失函数中是不存在的,因为线性回归的损失函数是convex(凸的),严格来说是向下凸,这就决定了线性模型的损失函数是没有局部最小值点的。下面以上面的十个数据来证明一下损失函数是下凸函数(用到了高等数学中二元函数凸凹性的判定定理):

下图为可视化的损失函数 :

结果分析:

真正判断一个模型的好坏,不是看训练集上的损失,而是要考虑测试集上的损失。

 

左图是在训练集上的表现,有图实是在测试集上的表现。很明显在此模型在测试集上的损失大于在训练集上的损失 。此时观察到当初始cp值较大时预测的进化后cp值损失较大,说明此线性模型不好。实际模型可能不是简单的线性函数。所以需要改进模型。

2、改进模型<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值