#3 集成学习–机器学习中的群策群力 !

#3 集成学习--机器学习中的群策群力 !
/

背景:

总览

机器学习方法在生产、生活和科研中有着广泛应用,而集成学习则是机器学习的热门方向之一。
集成学习是使用一系列学习器进行学习,以某种规则把各个学习结果进行整合,从而获得比基学习器有更好学习效果集成学习器.

今天, 我们在分析讨论集成学习和多类集成学习的同时, 提出目前多类集成学习的一些问题, 供大家参考。

集成学习图例

sss

研究现状

理论丰富

二类集成学习已有较成熟理论基础。多类集成理论基于二类集成。

国际成果

Bagging (Leo Breiman, 1994,Technical Report No. 421.)

Boosting (Schapire, Robert E,1990 ,“The Strength of WeakLearnability”. Machine Learning (Boston, MA: Kluwer Academic Publishers)

AdaBoost (Yoav Freund and Robert Schapire,2003)

AdaBoost.MH, SAMME, PIBoost, GentleBoost, AdaCost

国内成果:

南大周志华等人提出选择性集成理论,于2001年在国际人工智能

顶级会议IJCAI上发表。另周志华等人提出了二次学习的思想,将集成学习用作预处理,在IEEE Trans. Information Technology in Biomedicine(2003)上发表。 继续阅读#3 集成学习–机器学习中的群策群力 !

不容错过的Python小贴士—技巧, 风格和最佳实践

— 改编自 Python: Tips, Tricks and Idioms

 

1. Dict的for循环中避免使用低效的iteritems() 和 keys()

In [1]:
a = {}
for i in xrange(0, 1000000):
    a[i] = i
print(type(a))
print(len(a))
<type 'dict'>
1000000
In [2]:
def for_func1():
    for x in a:
        pass

def for_func2():
    for x in a.keys():
        pass

def for_func3():
    for x,v in a.iteritems():
        pass
In [3]:
import timeit
print(timeit.timeit(for_func1, number=100))
print(timeit.timeit(for_func2, number=100))
print(timeit.timeit(for_func3, number=100))
1.22459793091
2.30621099472
2.17837190628

是不是快多了?

 

2. for循环中获得index神器: enumerate

In [4]:
students = ('James', 'Andrew', 'Mark')
In [5]:
for i, student in enumerate(students):
    print i, student
0 James
1 Andrew
2 Mark
In [6]:
students = {'James': 'male', 'Andrew':'male', 'Alice':'female'}
In [7]:
for i, student in enumerate(students):
    print i, student
0 James
1 Andrew
2 Alice

3. 想确定for循环完整结束, 用else吧…

In [8]:
for ele in ['a', 'b', 'c']:
    if ele == 'b':
        break
else: # no break
    print('for循环完整结束')
In [9]:
for ele in ['a', 'b', 'c']:
    if ele == 'd':
        break
else: # no break
    print('for循环完整结束')
for循环完整结束

4. 迭代工具之chain连接器

继续阅读不容错过的Python小贴士—技巧, 风格和最佳实践

Brief History of Machine Learning 机器学习简史

My subjective ML timeline
My subjective ML timeline

Since the initial standpoint of science, technology and AI, scientists following Blaise Pascal and Von Leibniz ponder about a machine that is intellectually capable as much as humans. Famous writers like Jules

Pascal’s machine performing subtraction and summation – 1642
Pascal’s machine performing subtraction and summation – 1642

Machine Learning is one of the important lanes of AI which is very spicy hot subject in the research or industry. Companies, universities devote many resources to advance their knowledge. Recent advances in the field propel very solid results for different tasks, comparable to human performance (98.98% at Traffic Signs – higher than human-).

Here I would like to share a crude timeline of Machine Learning and sign some of the milestones by no means complete. In addition, you should add “up to my knowledge” to beginning of any argument in the text.

First step toward prevalent ML was proposed by Hebb , in 1949, based on a neuropsychological learning formulation. It is called Hebbian Learning theory. With a simple explanation, it pursues correlations between nodes of a Recurrent Neural Network (RNN). It memorizes any commonalities on the network and serves like a memory later. Formally, the argument states that;

Let us assume that the persistence or repetition of a reverberatory activity (or “trace”) tends to induce lasting cellular changes that add to its stability.… When an  axon  of cell  A is near enough to excite a cell  B and repeatedly or persistently takes part in firing it, some growth process or metabolic change takes place in one or both cells such that  A’s efficiency, as one of the cells firing  B, is increased.[1]

Arthur Samuel
Arthur Samuel

In 1952 , Arthur Samuel at IBM, developed a program playing Checkers . The program was able to observe positions and learn a implicit model that gives better moves for the latter cases. Samuel played so many games with the program and observed that the program was able to play better in the course of time.
继续阅读Brief History of Machine Learning 机器学习简史