机器学习
文章平均质量分 86
atporter
这个作者很懒,什么都没留下…
展开
-
liuyubobobo《机器学习》学习笔记(十一)
多项式回归与模型泛化(1) 1.多项式回归 当数据之间不具有线性关系时,采用非线性回归进行拟合 处理思想:将 x2x^2x2 当作一个新的特征,再应用线性回归 from sklearn.linear_model import LinearRegression X2 = np.hstack([X, X**2]) # 添加一个新的特征 lin_reg = LinearRegression() lin_reg.fit(X2, y) y_predict = lin_reg.predict(X2) 2.s原创 2021-02-09 20:09:12 · 267 阅读 · 0 评论 -
liuyubobobo《机器学习》学习笔记(十)
PCA 1.主成分分析Principal Component Analysis 是一个非监督的机器学习算法,主要用于数据的降维 通过降维,可以发现更便于人类理解的特征 其他应用:可视化,去噪 2.主成分分析的推导过程 考虑这样一个过程:将二维数据降维到一维 最好的方案为:找到一个轴,使得样本空间的所有点映射到这个轴后,间距最大 样本间间距——方差 首先,将样例的均值归为0(demean),方差公式变为:Var(x)=1m∑i=1m(xi−x‾)2=1m∑i=1mxi2Var(x) = \frac{1}{原创 2021-02-02 20:28:16 · 337 阅读 · 0 评论 -
liuyubobobo《机器学习》学习笔记(九)
梯度下降法 1.什么是梯度下降法 是一种基于搜索的最优化方法,作用是最小化一个损失函数 并不是一个机器学习算法! η\etaη 称为学习率(learning rate),是梯度下降法的一个超参数,其取值会影响获得最优解的速度。如果取值不合适,甚至得不到最优解 并不是所有函数都有唯一的极值点 解决方案:多次运行,随机化初始点(初始点也是超参数) 2.梯度下降的代码实现 def gradient_descent(initial_theta, eta, n_iters = 1e4, epsi原创 2021-01-20 23:35:00 · 221 阅读 · 0 评论 -
liuyubobobo《机器学习》学习笔记(八)
线性回归法 1.简单线性回归 样本特征只有一个,称为简单线性回归 假设我们找到了最佳拟合的直线方程 y=ax+by = ax + by=ax+b 则对于每一个样本点x(i)x^{(i)}x(i),真值为y(i)y^{(i)}y(i),其预测值为y^(i)=ax(i)+b\widehat{y}^{(i)} = ax^{(i)} + by(i)=ax(i)+b 我们用(y(i)−y^(i))2(y^{(i)}- \widehat{y}^{(i)})^2(y(i)−y(i))2表示差距(不用绝对值是因原创 2020-09-09 16:26:03 · 371 阅读 · 2 评论 -
liuyubobobo《机器学习》学习笔记(七)
K近邻算法 —— KNN 1.示意图 判断绿点的种类,选取与它距离最近的三个点,其中红色占两个,蓝色占一个,所以预测它为红色种类 2.KNN代码实现 X_train:数据 y_train:标签 x:待预测数据 import numpy as np from math import sqrt distances = [sqrt(np.sum((x_train - x) ** 2)) for x_train in X_train] 欧拉公式(计算距离) 二维:(xa−xb)2+(ya−yb)2\sqrt原创 2020-09-04 00:24:02 · 548 阅读 · 0 评论 -
liuyubobobo《机器学习》学习笔记(六)
numpy和matplotlib (3) 1.matplotlib import matplotlib as mpl import matplotlib.pyplot as plt # 常用 最基础的用法 import numpy as np x = np.linspace(0, 10, 100) y = np.sin(x) plt.plot(x, y) plt.show() # Jupyter Notebook上不用show()也可以显示出来 支持两条曲线,并设置参数 x =原创 2020-08-29 12:10:31 · 353 阅读 · 0 评论 -
liuyubobobo《机器学习》学习笔记(五)
numpy和matplotlib (2) 1.矩阵运算 运算符:+、-、*、/、//、**、%…… abs() sin() cos() tan() exp() log() power() log2() log10() dot() 矩阵乘法 A * B 只是矩阵各位置相乘,A.dot(B) 才是矩阵乘法 A.T 转置 inv() 逆矩阵 A # array([[0, 1], # [2, 3]]) np.linalg.inv(A) # array([[原创 2020-08-29 11:56:32 · 240 阅读 · 0 评论 -
liuyubobobo《机器学习》学习笔记(四)
numpy和matplotlib (1) 1.如何创建一个numpy.array? import numpy as np nparr = np.array([i for i in range(10)]) # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) nparr.dtype # dtype('int32') 其他的创建方式 zeros() np.zeros(10, dtype=int) # array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) n原创 2020-08-05 10:11:49 · 269 阅读 · 0 评论 -
liuyubobobo《机器学习》学习笔记(三)
Jupyter Notebook 1.Jupyter Notebook 关于Jupyter Notebook的介绍,请看 传送门 Jupyter Notebook 有两种键盘输入模式。编辑模式,允许你往单元中键入代码或文本;命令模式,键盘输入运行程序命令。 按Enter进入编辑模式,按Esc进入命令行模式 2.Jupyter Notebook的快捷键 常用快捷键(命令行模式) Shift+Enter : 运行本单元,选中下个单元 Ctrl+Enter : 运行本单元 Alt+Enter : 运行本单原创 2020-08-04 12:18:59 · 407 阅读 · 0 评论 -
liuyubobobo《机器学习》学习笔记(二)
机器学习基础 1.数据的一些概念 萼片长度 萼片宽度 花瓣长度 花瓣宽度 种类 5.1 3.5 1.4 0.2 0(se) 7.0 3.2 4.7 1.4 1(ve) 6.3 3.3 6 2.5 2(vi) 数据整体叫数据集 每一行数据称为一个样本 除最后一列之外的每一列是样本的一个特征 最后一列称为标记(label) 2.数据的矩阵表示 除最后一列外的数据,用矩阵X表示,X(i)X^{(i)}X(i)表示第i个样本行,Xj(i)X^{(i)}_jXj(i)表示第i个样本原创 2020-07-30 12:15:08 · 321 阅读 · 0 评论 -
liuyubobobo《机器学习》学习笔记(一)
什么是机器学习 1.最早的机器学习应用:垃圾邮件分辨 传统做法:定义“垃圾邮件”,进行筛选 问题:难定义、多变化 2.人类的学习过程(经验学习) 3.机器学习过程 4.机器学习在生活中的应用 google:根据部分关键字判断搜索内容 最喜欢的商品,音乐,图书,文章…… 语音识别,人脸识别 金融预测,医疗诊断 5.未来领域 无人驾驶、安全领域、医疗领域、金融领域、市场领域、各种专有领域…… 自然语言处理 6.人工智能、机器学习、深度学习 ...原创 2020-07-27 20:01:56 · 572 阅读 · 0 评论