![aa7e3c7dd8b592e384fabb53e8dcd68a.png](https://i-blog.csdnimg.cn/blog_migrate/798e3d55531f4286b54094491b4f8e35.jpeg)
机器学习(1)--线性回归和多项式拟合
机器学习(2)逻辑回归 (数学推导及代码实现)
机器学习(3)softmax实现Fashion-MNIST分类
一 线性回归
线性回归,顾名思义是利用线性模型对数据点进行拟合的,常见的广义线性模型如下:
将上面的广义向量模型用向量的形式表示出来如下:
其中
最简单也是最常见的线性回归是最小二乘法
1.最小二乘法[1]
最小二乘法是以均方误差为回归任务的性能度量,衡量预测值
从字面上理解最小二乘法就是试图找到一条直线,使所有样本到直线上的欧几里得距离之和最小。
这里有两个参数需要我们求解
令上式等于0得到w和b的最优解。
代码实现:
(1)matlab代码
一般的这类问题的求解思路就是找出损失函数,这里我们考虑一般的情况,一般情况下的损失函数为:
再求出梯度(即一阶偏导),对于大多数问题是不能直接求出最大小值的,所以一般会用梯度下降法来求解,设置学习率
权重
偏置
得到了权重w和偏置b的梯度就可以用梯度下降法来求出合适的w和b了。更新公式如下:
一般初始化w和b全为1,
matlab代码如下:
%随机生成数据
![dda2c94b2d5a1e171e4a630c42a8805f.png](https://i-blog.csdnimg.cn/blog_migrate/e97165e483ac48986edc14dcb763d6e1.jpeg)
(2)python--mxnet库的常规实现[2]
from
(3)python --mxnet库的简单实现
from
二 多项式拟合
前面的线性回归是一种多元回归问题,每个样本对应于多个特征,在前面的例子中,特征之前的值相差不大,所以没有做特征缩放,实际上严格的执行是需要特征缩放的因为有些特征值之间的量纲不同差距很大,如吴恩达的机器学习系类视频中[3]的例子,假设房屋的价格和房屋的面积及房屋的卧室数量有关,但是这两个特征之间值相差很大,这个时候直接用上面的线性回归时,将出现问题,所以必须进行特征缩放,一般特征缩放有两种计算方式。
(1)Z-score normalization,量化后的特征将服从标准正态分布:
(2)Min-Max Scaling,特征量化:
在大部分的机器学习中用的比较多的时第一种量化方法。
多项式拟合是一种典型的需要特征缩放的例子,一般解决的是一元多项式的数据拟合问题,形如:
多项式拟合也可以看成一种多元线性拟合,将其看为有n个特征的多元线性拟合,
当
对其进行缩放后利用线性拟合一样的方法就能求出拟合曲线,matlab代码如下:
function
结果如下:
![9df2523eee6beaa3a993bb76394403dc.png](https://i-blog.csdnimg.cn/blog_migrate/72ea3d91c5afaadc765752fd49cf1465.png)
参考
- ^周志华-机器学习(M)
- ^http://zh.d2l.ai/chapter_deep-learning-basics/linear-regression-scratch.html
- ^吴恩达机器学习 https://www.bilibili.com/video/av50747658/?p=22