机器学习笔记 01_EM算法填坑

本文是机器学习笔记的第一部分,主要介绍了机器学习的基本概念、分类,包括监督学习、无监督学习和半监督学习,并以预测价格为例展示了机器学习的一般流程。重点讲解了最大期望(EM)算法,提供了相关资源和Python代码实例。
摘要由CSDN通过智能技术生成

小象学院 – 机器学习课程【偏实战】

我的基础:上学期结合R语言学了一学期的偏理论的机器学习,数学公式看了不老少,但是最近打比赛,感觉实战方面很乏力,理论联系不了实际啊…而且我现在用的是python,现在临时刷吴恩达和李宏毅的感觉不太现实,对比了一下B站和YouTube上的教程,最终我选择了这套。后面学有余力再去看吴恩达的课。

打卡:第一天

一. 机器学习概念
输入训练数据 --> 学习模型(调参) --> 输出预测
我的理解:参数θ就是根据训练数据正反馈(鼓励)或者负反馈(惩罚)来不断优化的过程,这个过程就是机器在学习的过程。

二. 机器学习的分类

此处参考以下说法:
无监督学习 – Unsupervised learning | UL
在这里插入图片描述

  1. 监督学习(有标签):

    个人理解:给定很多图片,是月亮的图片笔记为1,不是月亮的图片标记为0,机器学会分类后,再丢给它很多图片,让它判断哪些图片是月亮(即:预测标签)。

    用途:
    (1)回归:芝麻信用分是怎么得来的
    在这里插入图片描述
    (2)分类案例:如何预测离婚?
    在这里插入图片描述
    (3)主流监督学习算法:
    各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?
    (以下全部基于python)
    朴素贝叶斯算法
    决策树
    回归树
    逻辑回归
    线性回归
    ⑥SVM:
    支持向量机通俗导论(理解SVM的三层境界)
    sklearn支持向量机SVM
    KNN(K临近)
    神经网络

  2. 强化学习:小孩学走路

  3. 无监督学习(无标签):
    个人理解:就像是没有标准答案的申论,但是还是得评分。
    用途:
    (1)发现异常数据(哪些用户洗钱了)
    (2)细分用户(根据基础信息(性别年龄等)来提高广告针对性)
    (3)推荐系统(行为联系行为,啤酒和尿布)
    常用算法:
    (1)聚类:
    K均值聚类
    层次聚类
    tips:使用scipy进行层次聚类和k-means聚类
    (2)降维:
    主成分分析PCA
    ②奇异值分解SVD
    机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
    python实现svd

    1. 半监督学习:有些有标签有些没标签

三. 例子:预测价格(回归)
在这里插入图片描述
(1)建模:提供Train_data(Xi,Yi)–> 提取特征(房屋面积、朝向等)–> 选择算法(线性回归,决策树回归等)–> 建模
在这里插入图片描述
(2)预测:提供test_data(无Y),利用模型,预测Y
在这里插入图片描述
四. 机器学习一般流程
数据收集 --> 数据清洗 --> 特征工程 --> 数据建模 --> 模型的使用
五. python code实例:

  • 简单二维图
#python code示例1
import math
import matplotlib.pyplot as plt

x = [float(i)/100.0 for i in range(1,300)]  #float() 函数用于将整数和字符串转换成浮点数。比如1 --> 1.0
y = [math.log(i) for i in x] #log(i)返回以e为底的i的对数
plt.plot(x,y,'r-',lw = 3,label = 'log Curve')  #'r-':红色实线,lw:线的粗细,log curve:对数函数,总结就是红色那条线标签是对数函数
#绘制的是二维图,就只需要两个变量
#要是三维图的话就任意加一个c。传入二维的散点a,b长度要一样
a = [x[20],x[175]]   #含义和a = [0.2,1.75] 一样,引用了上面的x对应的函数  
b = [y[20],y[175]]   #含义和b = [math.log(0.2),math.log(1.75)]一样,引用了上面y对应的函数
plt.plot(a,b,'g-',lw = 2) #g-:绿色实线
plt.plot(a,b,'b*',markersize = 15,alpha = 0.75) #b*:蓝色星号 ,alpha是星号的透明度
plt.legend(loc = 'upper left') #标签放在左上角
plt.grid(1) #显示网格线,0是不显示
plt.xlabel('X') #x轴标签
plt.ylabel('log(X)')
plt.show()

在这里插入图片描述

#python code示例2
#做0-1的均匀分布
import numpy as np

u = np.random.uniform(0.0, 1.0, 10000) #(low,high,size)
plt.hist(u, bins = 80, facecolor = '#9999ff', alpha = 0.75) 
plt.grid(True)
plt.show()
#0-1的正态分布
mu = 100 #mean of distribution
sigma = 20 #standard deviation of distribution
x = mu + sigma * np
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值