机器学习学习整理前言与线性回归

Posted 冬阳thu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习学习整理前言与线性回归相关的知识,希望对你有一定的参考价值。


文章目录

前言

博主是一名普通的EE大三学生,专业分流在电子-生医院系,因为实验和工作需要,目前在自学deep learning,开这个专栏为了用自己的数学知识来解释一些公式推导,巩固自己的知识基础,也希望(可能会)帮到同样在学习的同学。
有任何想法或指正都清不吝赐教,希望和大家共同学习

ps.
1 由于这是作为知识拆解&名词解释,便跳过DeepLearning的历史内容基本意义等知识
2 之前有幸在老师实验室做了linux可视化相关的工作(项目还没完全完成,等做完发出来请大家提供意见)后续我会整理在做这个的时候遇到的问题以及个人见解分享出来(主要是关于linux、python、mayavi、vtk、mne)
3 本文大体参照鲁伟老师的


一、简短的预备知识

基础名词

训练集:用于训练机器学习模型
测试集:用于测试学习模型对未知数据的成绩/效果

有标签:分类问题,回归问题–>监督学习
(预期的值是离散的–>分类问题)
(预期的值是连续的–>回归问题)

没有特定标签:聚类–>无监督学习

机器学习三要素

模型(model)
策略(strategy)
算法(algorithm)

(这里的算法指确定模型和损失函数后,把机器学习的过程转化为一个最优化问题,在优化时使用的优化算法)

二、线性回归

数学推导:

上文有提到回归问题是来解决有标签,目标值为连续的学习模型,
我们的目的是通过一组输入的数据集,将一些特定的属性(标签/特征)等影响输入值的因素作为x,输出值为y,建立y=wx+b的的模型,
在线性回归中采用均方误差最小化来描述模型准确性的方法,因此:
我们要确定参数w和b来使我们学习模型求得的y趋近于真实的y,也就是使拟合输出和真实输出间均方误差最小,
也就是:

为了求得w,b的最小化参数,我们基于上式,分别对w,b求偏导,
……()偏导过程略)
得到:

分别令其=0,解得:

(书中也有提到,这其实就是最小二乘法,帮助大家回顾一下大一知识hhh)

在了解到最小二乘就是建模线性回归的本质后,我们只需要向里面添加更多的“标签”,在数学上也就是变为矩阵运算;

w的计算变为了向量计算:

到这里我们便完成了数学推导的部分,接下来就是将数学语言变成代码(基于numpy)
我们可以看到其实线性回归自身的思想很简单,无非是用最小二乘的方法不断的去逼向一个个输入点,最后使均方差最小。

基于numpy实现线性回归

没来得及做详细注释,有任何问题可以私信讨论
训练部分:
回归主体函数,初始化函数,训练过程函数

import numpy as np


def linear_loss(X, y, w, b):
	num_train = X.shape[0]
	num_feature = X.shape[1]
	y_hat = np.dot(X, w) + b
	loss = np.sum((y_hat - y) ** 2) / num_train
	dw = np.dot(X.T, (y_hat - y)) / num_train
	db = np.sum((y_hat - y)) / num_train
	return y_hat, dw, db


def initail(dims):
	w = np.zeros((dims, 1))
	b = 0
	return w, b


def linear_train(X, y, learningrate=0.01, epochs=10000):
	loss_his = []
	w, b = initail(X.shape[1])
	for i in range(1, epochs):
		y_hat, loss, dw, db = linear_loss(X, y, w, b)
		w += -learningrate * dw
		b += -learningrate * db
		loss_his.append(loss)
		if i % 10000 == 0
			print('epoch %d loss %f' % (i, loss))
		grads = 
			'dw': dw, 'db': db
		
		params = 
			'w': w, 'b': b
		
	return loss_his, params, grads

总结

后续章节:

  • 对数几率回归
  • 聚类分析与k均值聚类算法
  • 主成分分析
  • 贝叶斯概率模型

希望对您有帮助~

冬阳

以上是关于机器学习学习整理前言与线性回归的主要内容,如果未能解决你的问题,请参考以下文章

机器学习——线性回归分类与逻辑回归

机器学习笔记-1.线性回归

机器学习 —— 基础整理:线性回归;二项Logistic回归;Softmax回归;广义线性模型

三天爆肝快速入门机器学习:线性回归逻辑回归岭回归第三天

机器学习-逻辑回归与线性回归

机器学习入门-一元线性回归模型的骚操作